0
使用EPPlus庫時,從數據表錯誤而產生的C#從數據表中脫穎而出
System.ObjectDisposedException生成EXCEL我得到錯誤:包對象被關閉和處置,所以不能進行操作這個對象或在此包的一部分上打開的任何流。
我搜索到了發現here那GetAsByteArray()
函數配置的包對象。 請幫助解決這個問題。
private void DumpExcel(DataTable tbl)
{
using (ExcelPackage pck = new ExcelPackage())
{
//Create the worksheet
ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Demo");
//Load the datatable into the sheet, starting from cell A1.
//Print the column names on row
ws.Cells["A1"].LoadFromDataTable(tbl, true);
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.AddHeader("content-disposition", "attachment; filename=ExcelDemo.xlsx");
Response.AddHeader("content-type", "application/Excel");
Response.ContentType = "application/vnd.xls";
Response.AddHeader("content-length", pck.GetAsByteArray().Length.ToString());
Response.BinaryWrite(pck.GetAsByteArray());
}
}
請注意:我想生成Excel,而讓用戶節省本地計算機上的Excel報表的任何地方,他們希望,而不是與Excel會保存服務器指定路徑。
感謝lot..it工作..!謝謝 – 2013-03-12 08:46:28