1. 程式人生 > >使用XSSFWork建立的xlsx字尾Excel檔案無法開啟

使用XSSFWork建立的xlsx字尾Excel檔案無法開啟

總結一下:空excel需要建一個sheet

這次需要自己寫個自用的Excel匯出工具:

照著POI的官方文件新建一個Excel檔案。

  1. Workbook wb = new XSSFWorkbook();

  2. FileOutputStream fileOut = new FileOutputStream("workbook.xlsx");

  3. wb.write(fileOut);

  4. 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的介紹確實有點缺陷,應該對應說明。