2014-02-06 157 views
1

我正在製作一個Java應用程序,它需要從Web生成的.xls文件中讀取值。Apache POI - 將.html電子表格轉換爲.xls電子表格

不幸的是,.xls文件不是真正的.xls文件,它的一堆html標籤和自動生成程序只是將其擴展名更改爲.xls。

要讀取自動生成文件中單元格的值,我打算使用Apache-POI庫。但它似乎只能從合法的.xls文件中讀取。在運行的代碼,它提供了以下錯誤

java.io.IOException: Invalid header signature; read 0x6D74683C0A0D0A0D, expected 0xE11AB1A1E011CFD0 
at org.apache.poi.poifs.storage.HeaderBlock.<init>(HeaderBlock.java:140) 
at org.apache.poi.poifs.storage.HeaderBlock.<init>(HeaderBlock.java:104) 
at org.apache.poi.poifs.filesystem.POIFSFileSystem.<init>(POIFSFileSystem.java:138) 
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:322) 
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:303) 
at excel.ReadAccountName.main(ReadAccountName.java:17) 

我想任的2個以下解決方案 -

  1. 是否可以自動生成的.xls文件,以合法的.xls轉換格式,只在Java代碼中?

  2. 我可以從自動生成的.xls文件中讀取的其他一些方法?

如果還有其他可能的解決方案,請給出建議。

回答

1

如果是純HTML,則可以使用Jsoup或其他HTML解析器從源文件中提取數據,然後使用POI構建xls文件。

相關問題