java poi 建立新 excel寫入的時候報錯,poiexcel
| 1234567891011121314 |
String filePath ="FILES\\"+filename<span></span>+".xls"; File file = newFile(filePath); FileOutputStream out = newFileOutputStream(filePath); // file = new File("filepath location"); FileInputStream fis=newFileInputStream(file.getAbsolutePath()); String[] test = (String [])ExcelInfo.toArray(newString[0]); //建立excel檔案對象 HSSFWorkbook wb = newHSSFWorkbook(fis);// HSSFWorkbook wb = new HSSFWorkbook(); //建立一個張表 HSSFSheet sheet = wb.getSheetAt(0); |
我先建立一個excel,然後寫入的時候運行程式報錯 幫忙看下 ,錯誤:
java.io.IOException: Unable to read entire header; 0 bytes read; expected 512 bytes
at org.apache.poi.poifs.storage.HeaderBlock.alertShortRead(HeaderBlock.java:226)
at org.apache.poi.poifs.storage.HeaderBlock.readFirst512(HeaderBlock.java:207)
at org.apache.poi.poifs.storage.HeaderBlock.<init>(HeaderBlock.java:104)
at org.apache.poi.poifs.filesystem.POIFSFileSystem.<init>(POIFSFileSystem.java:138)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:327)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:308)
at com.CreateFiles.Excel.write2003Excel(Excel.java:32)
at com.CreateFiles.FilesCreate.main(FilesCreate.java:145)
在java中用POI寫入Excel的時報記憶體溢出,資料量有20萬左右,問有什好點的解決方案,給源碼,
如果是一次性寫入的話,的確沒有什麼好方法,試試BufferedOutputStream
java poi 寫入excel ,不可以查看
最好檢查下流是否關閉,debug一下,不行可以先注釋掉產生內容的部分,測試是否有正確的excel產生,然後再逐步新增內容