[問題] 用NPOI生成Sheet檔時記憶體超載?
我嘗試用NPOI建立一個EXCEL檔,先付上程式碼
public void SetEleDataXlsx()
{
IWorkbook wb = new XSSFWorkbook();
ISheet sheet1 = wb.CreateSheet("電費紀錄");
ISheet sheet2 = wb.CreateSheet("用電度數年度比較");
DataSheet1(SetSheet1(wb, sheet1, 0), 0);
DataSheet1(SetSheet1(wb, sheet2, 1), 1);
FileStream file = new FileStream(@"C:\NPOI.xlsx", FileMode.Create);
wb.Write(file);
file.Close();
MessageBox.Show("輸出完成");
}
我先建立了兩個sheet,然後丟到SetSheet1()裡面去建立整個Sheet的CellStyle,然後再
透過DataSheet1去DB抓相對應的資料進來填入Cell,但不知道是不是因為要設定的資料太
多(每個Sheet都是39*15),它在Debug模式下跑到第二個Sheet就會因為記憶體使用衝上2G
然後跳出記憶體不足的訊息而中斷,雖然發行出來後是可以正常執行,但想問一下有辦法
處理這個問題嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.250.186.229
※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1469799231.A.ED6.html
→
07/30 17:26, , 1F
07/30 17:26, 1F
→
08/01 12:59, , 2F
08/01 12:59, 2F
→
08/01 13:10, , 3F
08/01 13:10, 3F
→
08/01 13:11, , 4F
08/01 13:11, 4F
→
08/01 13:11, , 5F
08/01 13:11, 5F
推
08/05 09:24, , 6F
08/05 09:24, 6F
推
08/12 09:57, , 7F
08/12 09:57, 7F