1. 程式人生 > 其它 >使用POI匯出Excel檔案後開啟檔案提示因為檔案格式或副檔名無效而無法開啟

使用POI匯出Excel檔案後開啟檔案提示因為檔案格式或副檔名無效而無法開啟

技術標籤:JavaJava

問題

在SpringBoot專案中,使用POI匯出查詢結果至Excel檔案中,成功匯出後開啟Excel檔案提示如下資訊
在這裡插入圖片描述

方案

在仔細檢查程式碼後發現並不存在業務程式碼邏輯問題,而且同樣的程式碼在另一臺電腦上是可行的,只是兩臺電腦開啟Excel的軟體不同,一臺是WPS(可行),一臺是Microsoft Office專業增強版2019(不可行),說明是生成的Excel檔案的版本格式差異。查詢POI文件,發現POI提供HSSFWorkBook、XSSFWorkBook、SXSSFWorkBook這三個類來操作Excel:

  • HSSFWorkBook:適用於Excel97-03,副檔名為.xls;
  • XSSFWorkBook:適用於Excel07,副檔名為.xlsx;
  • SXSSFWorkBook:XSSFWorkBook升級;

再次檢查自己的程式碼,發現自己使用的是HSSFWorkBook,所以導致檔案不可讀,改為XSSFWorkBook或SXSSFWorkBook即可

//之前
WorkBook workBook=new HSSFWorkBook();
...
//現在
WorkBook workBook=new SXSSFWorkBook();
...