看板 C_Sharp 關於我們 聯絡資訊
我嘗試用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
reichs: 你要產生excel嗎?試試看closedxml 這個套件 07/30 17:26
Ammenze: 資料量是39欄*15列嗎?這樣超少的耶..應該是寫法有問題 08/01 12:59
Ammenze: 我猜是cellstyle設太多,同一種cellstyle只需在workbook 08/01 13:10
Ammenze: 設定一次後(放到變數),下一個cell把變數指定到cellstyle 08/01 13:11
Ammenze: 就好 08/01 13:11
te426odin: IWORKSHEET也要釋放 08/05 09:24
oilcaptain: 3F正解 一直產生style會crash 改公用即可 08/12 09:57