Apache POI - 将.html电子表格转换为.xls电子表格

时间:2014-02-06 23:56:07

标签: java html excel apache-poi

我正在创建一个java应用程序,它需要从Web生成的.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)

我正在考虑以下两种解决方案中的任何一种 -

  1. 是否可以在Java代码中将自动生成的.xls文件转换为LEGIT .xls格式?

  2. 我可以从自动生成的.xls文件中读取其他一些方法吗?

  3. 如果有任何其他可能的解决方案,请建议。

1 个答案:

答案 0 :(得分:1)

如果它是纯HTML,您可以使用Jsoup或其他HTML解析器从源文件中提取数据,然后使用POI构建xls文件。