当前位置: 代码迷 >> J2EE >> jxl导入excel2010报错解决方法
  详细解决方案

jxl导入excel2010报错解决方法

热度:233   发布时间:2016-04-22 02:47:17.0
jxl导入excel2010报错
在导入Excel2010是报错,看了源码是因为jxl不支持2010版本
 想问下有没有支持Excel2010的jxl版本

自己有个思路就是在java中把文件给转换成2003或2007 版本
在网上搜了很久都没有找到java转换Excel的源码

以下是报错
Java code
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 jxl.Workbook.getWorkbook(Workbook.java:253)    at com.hdsd.xlsManager.ExcelReader.parseXls(ExcelReader.java:310)    at com.hdsd.xlsManager.ImportXlsAction.business(ImportXlsAction.java:300)    at com.hdsd.action.BaseAction.execute(BaseAction.java:204)    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)    at com.hdsd.db.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:67)    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)    at java.lang.Thread.run(Thread.java:619)


------解决方案--------------------
poi支持excel任何版本的
------解决方案--------------------
只是换个jar包而已,代码也仅仅是改一个类而已
03版本和07版本的解析方式就不一样
你要根据后缀名来采用不同的解析方式
jxl不支持07以后的版本的,因为07版本是基于xml的
所以你还得用poi或jca
------解决方案--------------------
jxl不支持2007以上的excel(包括2007),你可以选择apache的poi可以支持所有版本如果你用的是poi中的hssf类进行解析的和jxl一样也只能支持到2007你可以选择用poi的xssf类!
------解决方案--------------------
唉 现在的大侠 都不回帖了 悲剧啊
  相关解决方案