使用XSSFWork建立的xlsx字尾Excel檔案無法開啟
阿新 • • 發佈:2018-12-10
總結一下:空excel需要建一個sheet
這次需要自己寫個自用的Excel匯出工具:
照著POI的官方文件新建一個Excel檔案。
-
Workbook wb = new XSSFWorkbook();
-
FileOutputStream fileOut = new FileOutputStream("workbook.xlsx");
-
wb.write(fileOut);
-
fileOut.close();
匯出的xlsx字尾的Excel檔案開啟時,Office提示錯誤,發現“xxx.xlsx”中的部分內容有問題,是否讓我們儘量嘗試恢復,如果您信任此工作簿的源,請單擊“是”。
但是點選了是之後發現提示,Microsoft Excel無法開啟或修復此工作簿,因為它已損害。
搜尋引擎查不到相關問題問題,檔案寫出匯入了下載的POI裡面的所有JAR包。
後面繼續寫了下去,往工作簿裡插入了一張工作表:
Sheet sheet1 = wb.createSheet("new sheet");
然後xlsx檔案正常打開了。
其實就是整個Excel檔案格式的問題,雖然新建的工作簿,但是裡面是一張工作表都沒有的,而Office自己新建的時候會預設生成3張工作表,但是自己用程式設計建立的Excel,Office開啟的時候便報錯了。
官方文件這樣一個New Workbook的介紹確實有點缺陷,應該對應說明。