Excel導出打印失敗報錯 (eg HSSF instead of XSSF)


錯誤信息:

java.lang.RuntimeException: org.apache.poi.openxml4j.exceptions.OLE2NotOfficeXmlFileException: The supplied data appears to be in the OLE2 Format. You are calling the part of POI that deals with OOXML (Office Open XML) Documents. You need to call a different part of POI to process this data (eg HSSF instead of XSSF) 

 

原因是因為:

InputStream inputStream = session.getServletContext().getResourceAsStream("make/xlsprint/tOUTPRODUCT.xlsx");
Workbook workbook = new XSSFWorkbook(inputStream),XSSF操作的是Excel2007以上的版本,對應文件的后綴名是xlsx
Workbook workbook = new HSSFWorkbook(inputStream),HSSF操作的是Excel2003以前的版本,對應的文件后綴名是xls

檢查輸入流導入的文件的Excel的版本,使用對應的POI操作


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM