私はデータベースから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. Excelブック(VS Excel 2010ブックプロジェクト)にDataTableを挿入(バインド)する方法
- 2. excelシートからデータベースに新しい行のみを挿入する方法
- 3. Excelシートから高度なデータをインポート
- 4. Excelシートからデータを読み込んで同じExcelシートに書き込む
- 5. グリッドビューからExcelシートにデータをエクスポートするには
- 6. データをExcelシートにエクスポートする - drupal 6
- 7. excelシートからmysqlに挿入されたデータはJSPに表示されません
- 8. DataTableからすべてのレコードをリモートデータベースに挿入する
- 9. DataTableにデータセットを挿入
- 10. ExcelシートからSQLにデータを書き戻す
- 11. Excelシート2007からのデータをJavaで読み取る
- 12. 1つのExcelシートから別のExcelシートへの列のコピー
- 13. Excel 2007シートからSQL Server 2005にデータを高速にエクスポートする
- 14. VBAを使用してXMLファイルからExcelシートにデータをフェッチする方法
- 15. シートからシートに名前付き範囲のコピーをExcel
- 16. ExcelからSQL Serverへのバッチ挿入
- 17. データベースからjtextfieldにデータを挿入
- 18. mysqlからFacebookにデータを挿入
- 19. アンドロイドからオンラインデータベースにデータを挿入
- 20. フォームからAccessデータベースにデータを挿入
- 21. VB.NETからMySQLデータベースにデータを挿入
- 22. Excelアドインでシートからデータベースにデータを転送する:ファイルパスの問題
- 23. DataTableからAccessデータベースにデータを転送するときにINTOエラーを挿入します。
- 24. excelシートにExcelをエクスポートする
- 25. シートに文字列を挿入すると数字が挿入されます
- 26. C#DataTableからのバルク挿入に最適な方法
- 27. 1つのテーブルから別のテーブルにデータを挿入するステートメントを挿入
- 28. CSVからExcel/Calcシートに自動的にデータをインポートします
- 29. 1つのDataTableから別のDataTableにデータをコピーする
- 30. VB.NETフォームからのExcelシートのライブ更新データ
重複質問.... :http://stackoverflow.com/questions/2800563/exporting-data-from-a-gridview-to-different-ボタン
BtnExportExcel
を持っていると仮定すると、エクセルワークシート – joshuaリンクをありがとう。 – Bazooka
@Parminderここでは、Excelスプレッドシートは既存のものか、新しいものを作成しています。新しいシートを作成する場合は、[NPOI](http://npoi.codeplex.com/) – Vinay