biffexception:无法识别的

只是试图从一个普通的Excel文件,我使用微软的Excel 2010初始版本,并保存为Excel 97-2003文件,因为我原本以为这个例外是由于文件格式。 显然,这个例外意味着文件中embedded了一些无法读取的东西,但是对于我来说,我不知道如何或为什么是这样。 这只是我自己input的一个简单的excel文件。 堆栈跟踪如下:

[CDATA[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:221) at jxl.Workbook.getWorkbook(Workbook.java:198) at test.ExcelClass.updateTestResultsSpreadsheet(ExcelClass.java:1707) at test.Internal_TestSuite.afterSuite(Internal_Virgin_TestSuite.java:846) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80) at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:543) at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:212) at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:138) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:309) at org.testng.SuiteRunner.run(SuiteRunner.java:241) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1169) at org.testng.TestNG.runSuitesLocally(TestNG.java:1094) at org.testng.TestNG.run(TestNG.java:1006) at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:107) at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:199) at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:170) ]]> 

我已经使用了类似的文件,没有抛出这个exception。 有任何想法吗?? 提前致谢!

更新:我解决了问题,通过删除另一个MS excel starter 2010(.xlsx)文件,我在我的testNG类别中使用其他地方,并使其.xls文件。 看来堆栈跟踪没有指出问题的正确位置? 或者至less当我删除第一个文件没有改变? 无论如何,它是固定的,JExcel API与其他Excel格式不兼容。