[英]Cannot export excel file from dataTable by using epplus in C#
我已經找到了許多有關如何使用epplus將DataTable
導出為Excel的示例和教程,但是我找不到直接的方法。 因此,我嘗試了以下代碼。
我的數據表:
===============================
d1 | d2 | d3
===============================
aa1 | bb1 | cc1
aa2 | bb2 | cc2
aa3 | bb3 | cc3
aa4 | bb4 | cc4
腳本:
using OfficeOpenXml;
using OfficeOpenXml.Drawing;
//........
protected viod exportToExcel (dataTable dt)
{
try
{
Response.Clear();
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode("Logs.xlsx", System.Text.Encoding.UTF8));
using (ExcelPackage pck = new ExcelPackage())
{
ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Logs");
ws.Cells["A1"].LoadFromDataTable(dt, true);
var ms = new System.IO.MemoryStream();
pck.SaveAs(ms);
ms.WriteTo(Response.OutputStream);
}
}
catch (Exception ex)
{
Debug("error: " + ex.Message);//catch nothing
}
}
它返回服務器錯誤,沒有捕獲任何異常,因此我不知道會發生什么錯誤。
但是,當我刪除
using (ExcelPackage pck = new ExcelPackage())
上面的代碼部分。
有任何想法嗎?
從服務器導出到excel的最佳方法是將數據表轉換為HtmlTextWriter。 在Response.AddHeader(“ content-disposition”,“ attachment; filename = file.xls”);中;
Response.ContentType =“ application / vnd.ms-excel”; 最后
Response.Output.Write(htmltexwriter)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.