用npoi匯出excel,是有什么資源沒有釋放嗎,執行完后報錯了,而且Exception捕捉失敗,提示:由于代碼已經過優化或者本機框架位于呼叫堆疊之上,無法計算運算式的值。
HttpResponse Response = HttpContext.Current.Response;
Response.Clear();
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("Content-Disposition", string.Format("attachment;filename={0}", excelName + ".xlsx"));
XSSFWorkbook workbook = new XSSFWorkbook();
ISheet sheet1 = workbook.CreateSheet("sheet1");
//給sheet1添加第一行的頭部標題
IRow row1 = sheet1.CreateRow(0);
for (int i = 0; i < dgDataGrid.Columns.Count; i++)
{
row1.CreateCell(i).SetCellValue(dgDataGrid.Columns[i].HeaderText);
}
for (int i = 0; i < dgDataGrid.Items.Count; i++)
{
NPOI.SS.UserModel.IRow rowtemp = sheet1.CreateRow(i + 1);
for (int j = 0; j < dgDataGrid.Columns.Count; j++)
{
rowtemp.CreateCell(j).SetCellValue(dgDataGrid.Items[i].Cells[j].Text);
}
}
//寫入到客戶端
System.IO.MemoryStream ms = new System.IO.MemoryStream();
workbook.Write(ms);
Response.BinaryWrite(ms.ToArray());
Response.Flush();
Response.End(); //執行到這步時報錯
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/238291.html
標籤:ASP.NET
