阅读excel表时出现BiffException

now*_*fal 12 excel jxl

我有一个代码可以从excel表中读取旧格式(97-2003).我对数据进行了一些更改,最终获得了2007格式的excel表.当我使用这个xlsx表而不是xls表时,我得到了这个:

jxl.read.biff.BiffException: Unable to recognize OLE stream
    at jxl.read.biff.CompoundFile.<init>(CompoundFile.java:116)
    at jxl.read.biff.File.<init>(File.java:127)
    at jxl.Workbook.getWorkbook(Workbook.java:268)
    at readexcel.ReadExcel.readContent(ReadExcel.java:50)
    at readexcel.ReadExcel.init(ReadExcel.java:25)
    at readexcel.ReadExcel.main(ReadExcel.java:183)
Run Code Online (Sandbox Code Playgroud)

jmc*_*ara 17

xls格式(<Excel 2007)由OLE容器中的二进制BIFF数据组成.xlsx格式(> = Excel 2007)由zip容器中的XML文件组成.

Java Excel API仅处理第一种格式,因此在不遇到OLE容器时会抛出异常.

您需要将输入限制为仅限xls文件,或者找到另一种处理这两种格式的工具.