最初に Microsoft.office.interop.excel への参照を追加します
参照プロセス中に、Microsoft.Office 11.0 Object Library が参照されない場合があります.これは、Office2003 が .net をサポートすることを選択していないことが原因である可能性があります.Office インストール ファイルを再度実行し、Excel アイテムを見つけてノードを展開し、サポートネットを選択
次に、ページで名前空間を使用します。
Excel を使用 = Microsoft.Office.Interop.Excel;
詳細なコードは次のとおりです。
#region エクスポート データ
/// <summary>
///
/// </summary>
private void Export()
{ Excel.Application excel = new Excel.Application(); Excel.Workbooks ワークブック = Excel.Workbooks; Excel.Workbook ブック = workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet); Excel.Worksheet ワークシート = (Excel.Worksheet)workbook.Worksheets[1]; Excel.Range 範囲 = null; worksheet.Cells[1, 1] = "报关单Excel"; 範囲 = (Excel.Range)worksheet.Cells[1, 1]; range.Font.Bold = true; range.Font.Size = 18;
//range.Interior.Color = 150; //インデックス、インデックス、および値参照リソースに従って色を設定します/HelpPic
range.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;//テキストを中央に設定します
range = (Excel.Range )worksheet.get_Range (worksheet.Cells[1, 1], worksheet.Cells[1, 5]);
range.Select();
range.Merge(false);
range.Borders[Excel.XlBordersIndex.xlInsideHorizontal].Weight = Excel.XlBorderWeight.xlThin;
string FileName = Server.MapPath("..//..//resource//Templetes//") + DateTime.Today.ToString( "yyyyMMdd") + new Random(DateTime.Now.Millisecond).Next(1000000).ToString() + ".xls";
//Foreach IList,And Add Data to Excel
//Write Excel Header
worksheet.Cells[3, 1] = "税関申告番号";
worksheet.Cells[3, 2] = "輸送手段";
worksheet.Cells[3, 3] = "船荷証券番号";
worksheet.Cells[3, 4] = "コア販売注文番号";
worksheet.Cells[3, 5] = "申告単位";
worksheet.Cells[3, 6] = "事業単位";
worksheet.Cells[3, 7] = "入出荷単位";
worksheet.Cells[3, 8] = "申告日";
worksheet.Cells[3, 9] = "処理状況";
worksheet.Cells[3, 10] = "インポート/エクスポート";
worksheet.Cells[3, 11 ] = "領域を閉じる";
worksheet.Cells[3, 12] = "備考";
worksheet.Cells[3, 13] = "更新時刻";
//Excel 本体を書き込む
int flag = 3;
foreach (var w in lst )
{ flag += 1; worksheet.Cells[flag, 1] = w.entry_id_new ; worksheet.Cells[flag, 2] = w.TRAF_NAME; worksheet.Cells[flag, 3] = w.BILL_NO; worksheet.Cells[フラグ、4] = w.APPR_NO;
worksheet.Cells[フラグ、5] = w.DECL_NAME;
worksheet.Cells[フラグ、6] = w.TRADE_NAME;
worksheet.Cells[フラグ、7] = w.SHIPPER;
worksheet.Cells[フラグ、8] = w.DECL_DATE;
worksheet.Cells[フラグ、9] = w.PROCESS_STATUS;
worksheet.Cells[フラグ、10] = w.EXP_IMP;
worksheet.Cells[フラグ、11] = w.SUB_CUS;
worksheet.Cells[フラグ、12] = w.NOTES;
worksheet.Cells[フラグ、13] = w.UPDATE_TIME; { workbook.Saved = true;
}
を試してください。 workbook.SaveCopyAs(ファイル名); }
catch (例外例)
{ throw (例); ワークブックを閉じます (); if (Excel != null) { Excel.Workbooks.Close(); エクセル.終了(); int Generation = System.GC.GetGeneration(excel); System.Runtime.InteropServices.Marshal.ReleaseComObject(Excel); エクセル = null; GC.Collect(生成); } GC.Collect();//强行销毁
//最近開いた Excel プロセスを閉じる
System.Diagnostics.Process[] excelProc = System.Diagnostics.Process.GetProcessesByName("EXCEL");
System.DateTime startTime = new DateTime();
int m, killId = 0;
for (m = 0; m < excelProc.Length; m++)
{ if (startTime < excelProc
.StartTime)
{ startTime = excelProc.StartTime; killId = m; } } if (excelProc[killId].HasExited == false) { excelProc[killId].Kill(); } //ダウンロードを提供する System.IO.FileInfo ファイル = new System.IO.FileInfo(FileName); Response.Clear(); Response.Charset = "UTF-8"; Response.ContentEncoding = System.Text.Encoding.UTF8; // "ファイルのダウンロード/名前を付けて保存" のヘッダー情報を追加ダイアログのデフォルトのファイル名を指定する
Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(file.Name));
// ヘッダー情報を追加し、ファイル サイズを指定して、ブラウザーがダウンロードの進行状況を表示できるようにします
Response.AddHeader ("Content -Length", file.Length.ToString());
// 返されたストリームが、クライアントが読み取ることができないストリームであり、ダウンロードする必要があることを指定します
Response.ContentType = "Application/ms-excel";
/ / ファイル ストリームをクライアントに送信する
Response.WriteFile(file.FullName);
}
#endregion
友人のためにインポートを書きましたが、命名は標準化されておらず、パッケージもありません。ただそれで間に合わせます。変更するのが面倒すぎる
protected void Button1_Click(object sender, EventArgs e)
{ string strConn = "server=.;database=dydhb;uid=sa;pwd=111111"; SqlConnection sqlConn = 新しい SqlConnection(strConn); sqlConn.Open();
string FilePath = Server.MapPath("Book.xls");
オブジェクト objOpt = System.Reflection.Missing.Value;
文字列 a、b、c、d、e1;
string str = "address_book(bumen,zhiwei,name,office_tel,phone,password) に挿入します values(@bumen,@zhiwei,@name,@office_tel,@phone,@password)";
Excel.Application エクセル = 新しい Excel.Application();
Excel.Workbooks ワークブック = Excel.Workbooks;
Excel.Workbook workbook = workbooks.Open(FilePath, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt);
Excel.Worksheet ワークシート = (Excel.Worksheet)workbook.Worksheets[1];
for (int i = 2; i <= worksheet.UsedRange.Rows.Count; i++)
{ a = ((Excel.Range)(worksheet.Cells[i, 2])).Text.ToString(); b = ((Excel.Range)(worksheet.Cells[i, 3])).Text.ToString(); c = ((Excel.Range)(worksheet.Cells[i, 4])).Text.ToString();
d = ((Excel.Range)(worksheet.Cells[i, 5])).Text.ToString();
e1 =((Excel.Range)(worksheet.Cells[i, 6])).Text.ToString();
SqlCommand sqlCmd = new SqlCommand(str, sqlConn);
sqlCmd.Parameters.AddWithValue("@bumen", a);
sqlCmd.Parameters.AddWithValue("@zhiwei", b);
sqlCmd.Parameters.AddWithValue("@name", c);
sqlCmd.Parameters.AddWithValue("@office_tel", d);
sqlCmd.Parameters.AddWithValue("@phone", e1);
sqlCmd.Parameters.AddWithValue("@password", System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(e1, "md5"));
}
sqlConn.Close();
ワークブック.Close();
if (Excel != null)
{ Excel.Workbooks.Close(); エクセル.終了(); int Generation = System.GC.GetGeneration(excel); System.Runtime.InteropServices.Marshal.ReleaseComObject(Excel); エクセル = null; GC.Collect(生成); } GC.Collect();//强行销毁
//最近開いた Excel プロセスを閉じる
System.Diagnostics.Process[] excelProc = System.Diagnostics.Process.GetProcessesByName("EXCEL");
System.DateTime startTime = new DateTime();
int m, killId = 0;
for (m = 0; m < excelProc.Length; m++)
{ if (startTime < excelProc
.StartTime)
{ startTime = ExcelProc
。始まる時間;
killId = m;
}
}
if (excelProc[killId].HasExited == false)
{ excelProc[killId].Kill(); } }