首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

POI 讀取 Excel 报 invalid header signature:版本不兼容與 VBA 自動轉存方案

     編輯:程式設計綜合問答

POI 3.x 不支援 Excel 4.0+ 格式(.xlsx 需 POI 3.5+ 且用 XSSFWorkbook)。

解決路徑

  1. 升級 POI:使用 4.x+ 版本,區分 HSSFWorkbook (.xls) 與 XSSFWorkbook (.xlsx) 自動檢測或按副檔名選擇。
  2. VBA 自動另存:若無法升級,編寫 VBA 巨集批量將上傳文件另存為 .xls (Excel 97-2003),再用 POI 讀取。
    關鍵代碼:wb.SaveAs Filename:=newPath, FileFormat:=xlExcel8。
  3. 調試環境差異:Eclipse 可能用不同類加載器/依賴版本導致調試正常、部署失敗,檢查 WEB-INF/lib 實際 JAR 版本。

長期方案:強制前端上傳 .xls 或升級 POI 4.x+ 直接支援 .xlsx。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved