私はデータベースからDataTable
にデータを抽出し、Repeater
コントロールにバインドして表示しています。今度は、同じデータをExcelスプレッドシートにコピーする必要があります。どのように私はスプレッドシートを埋めるために同じDataTable
を使用することができます。提案してください。DataTableからExcelシートにデータを挿入する
1
A
答えて
6
私は(多くの人が何をすべきか)本当のエクセルファイルの代わりにHTMLテーブルを作成することをお勧め。そのため、私は暖かくEPPlus
(LGPL license)をお勧めします。
それは簡単です。
protected void BtnExcelExport_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
try {
var pck = new OfficeOpenXml.ExcelPackage();
var ws = pck.Workbook.Worksheets.Add("Name of the Worksheet");
// get your DataTable
var tbl = GetDataTable();
ws.Cells["A1"].LoadFromDataTable(tbl, true, OfficeOpenXml.Table.TableStyles.Medium6);
foreach (DataColumn col in tbl.Columns) {
if (col.DataType == typeof(System.DateTime)) {
var colNumber = col.Ordinal + 1;
var range = ws.Cells[1, colNumber, tbl.Rows.Count, colNumber];
// apply the correct date format, here for germany
range.Style.Numberformat.Format = "dd.MM.yyyy";
}
}
var dataRange = ws.Cells[ws.Dimension.Address.ToString()];
dataRange.AutoFitColumns();
Response.Clear();
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("content-disposition", "attachment; filename=NameOfExcelFile.xlsx");
Response.BinaryWrite(pck.GetAsByteArray());
} catch (Exception ex) {
// log exception
throw;
}
Response.End();
}
+0
は魅力的に機能します。乾杯! – Bazooka
0
関連する問題
- 1. WebからExcelシートにデータを挿入する - VBA
- 2. SQL ServerテーブルからExcelシートの列にデータを挿入
- 3. Excel VBA - シートにバルクイメージを挿入する
- 4. アクセスレポートのようなアクセスからExcelシートにデータを挿入する
- 5. Excelブック(VS Excel 2010ブックプロジェクト)にDataTableを挿入(バインド)する方法
- 6. excelからsqlテーブルへデータを挿入
- 7. Excel VBA複数のシートに行を挿入してデータをコピーする
- 8. excelシートからデータベースに新しい行のみを挿入する方法
- 9. C#SQLからExcelへのSQLの一括挿入ExcelとDataTableの間のカラムマッピング
- 10. Excel新しいシートに.xlamモジュールのコードを挿入する
- 11. シート/シートにデータを挿入してメールを送信
- 12. Excelシートから高度なデータをインポート
- 13. Excelシートからデータを読み、セレン
- 14. Excelでシートからデータを取得
- 15. 行全体のExcel列からデータを挿入する
- 16. Excelシートからデータを読み込んで同じExcelシートに書き込む
- 17. JAVAを使用してExcelからOracleデータベースにデータを挿入
- 18. DataTableからすべてのレコードをリモートデータベースに挿入する
- 19. グリッドビューからExcelシートにデータをエクスポートするには
- 20. BULKをDataTableからDB2に挿入するときのエラー
- 21. Excel VBA - シートからコピー(名前をスキャン)して別のシートに挿入します
- 22. シート名を挿入するセルに0から始まる
- 23. ユーザー入力に基づいてExcelシートからデータを見つける方法
- 24. C#:excelシートからdatagridviewに複数のデータを選択する
- 25. DataTableにデータセットを挿入
- 26. excelシートからmysqlに挿入されたデータはJSPに表示されません
- 27. JavaScriptを使用してGoogleシートAPIにデータを挿入する
- 28. Excelからデータベースに同じデータを挿入するのを避ける方法
- 29. VBAコードで画像を挿入できるExcelシートを保護
- 30. Excelシートの列ヘッダーをマッピングして、データテーブルから既存のExcelスプレッドシートにデータを挿入するにはどうすればよいですか?
重複質問.... :http://stackoverflow.com/questions/2800563/exporting-data-from-a-gridview-to-different-ボタン
BtnExportExcel
を持っていると仮定すると、エクセルワークシート – joshuaリンクをありがとう。 – Bazooka
@Parminderここでは、Excelスプレッドシートは既存のものか、新しいものを作成しています。新しいシートを作成する場合は、[NPOI](http://npoi.codeplex.com/) – Vinay