首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

用POI解析EXCEL文件报错,高人指点.该如何解决

2012-02-21 
用POI解析EXCEL文件报错,高人指点.HSSFWorkbookworkbooknulltry{workbooknewHSSFWorkbook(newFileInput

用POI解析EXCEL文件报错,高人指点.
HSSFWorkbook   workbook   =   null;          
try
{
                workbook   =   new   HSSFWorkbook(new   FileInputStream( "c:\\12.xls "));
}
catch   (IOException   e)
{
                e.printStackTrace();
}
.....
执行下面一句时
workbook   =   new   HSSFWorkbook(new   FileInputStream( "c:\\12.xls "));
抛出异常:

java.io.IOException:   Invalid   header   signature;   read   -1964499853149091405,   expected   -2226271756974174256

at   org.apache.poi.poifs.storage.HeaderBlockReader. <init> (HeaderBlockReader.java:100)

at   org.apache.poi.poifs.filesystem.POIFSFileSystem. <init> (POIFSFileSystem.java:84)

at   org.apache.poi.hssf.usermodel.HSSFWorkbook. <init> (HSSFWorkbook.java:257)

at   org.apache.poi.hssf.usermodel.HSSFWorkbook. <init> (HSSFWorkbook.java:238)

at   com.swan.stock.StockService.parseExcelFile(StockService.java:37)

at   com.swan.stock.StockMainFrameActionAdapter.fileSelect_actionPerformed(StockMainFrameActionAdapter.java:52)

at   com.swan.stock.StockMainFrameActionAdapter.actionPerformed(StockMainFrameActionAdapter.java:33)

at   javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)

at   javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)

at   javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)

at   javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)

at   javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245)

at   java.awt.Component.processMouseEvent(Component.java:5100)

at   java.awt.Component.processEvent(Component.java:4897)

at   java.awt.Container.processEvent(Container.java:1569)

at   java.awt.Component.dispatchEventImpl(Component.java:3615)

at   java.awt.Container.dispatchEventImpl(Container.java:1627)

at   java.awt.Component.dispatchEvent(Component.java:3477)

at   java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)

at   java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)

at   java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)

at   java.awt.Container.dispatchEventImpl(Container.java:1613)

at   java.awt.Window.dispatchEventImpl(Window.java:1606)

at   java.awt.Component.dispatchEvent(Component.java:3477)

at   java.awt.EventQueue.dispatchEvent(EventQueue.java:456)

at   java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)

at   java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)

at   java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)

at   java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)

at   java.awt.EventDispatchThread.run(EventDispatchThread.java:100)

java.lang.Exception:   传入的文件不对

at   com.swan.stock.StockService.parseExcelFile(StockService.java:43)

at   com.swan.stock.StockMainFrameActionAdapter.fileSelect_actionPerformed(StockMainFrameActionAdapter.java:52)

at   com.swan.stock.StockMainFrameActionAdapter.actionPerformed(StockMainFrameActionAdapter.java:33)



at   javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)

at   javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)

at   javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)

at   javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)

at   javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245)

at   java.awt.Component.processMouseEvent(Component.java:5100)

at   java.awt.Component.processEvent(Component.java:4897)

at   java.awt.Container.processEvent(Container.java:1569)

at   java.awt.Component.dispatchEventImpl(Component.java:3615)

at   java.awt.Container.dispatchEventImpl(Container.java:1627)

at   java.awt.Component.dispatchEvent(Component.java:3477)

at   java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)

at   java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)

at   java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)

at   java.awt.Container.dispatchEventImpl(Container.java:1613)

at   java.awt.Window.dispatchEventImpl(Window.java:1606)

at   java.awt.Component.dispatchEvent(Component.java:3477)

at   java.awt.EventQueue.dispatchEvent(EventQueue.java:456)

at   java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)

at   java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)

at   java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)

at   java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)

at   java.awt.EventDispatchThread.run(EventDispatchThread.java:100)

高人指点,谢谢先!

[解决办法]
帮你顶!!!
[解决办法]
你excel里面是不是有下拉列表什么的东西啊 我用过jxl对这个不太熟悉 有问题再联系 lws.emmagee@163.com
[解决办法]
帮你顶,一直使用JXL。
[解决办法]
你看看你的版本,应该是版本问题
[解决办法]
你的excel文件的compound header没办法被poi识别,有很多种可能:
你的excel文件是第三方工具生成的,比如水晶等报表工具;
你的excel文件里面报表了一些特别的control,如按钮、vba等;
你的excel文件版本无法被poi识别,目前poi只是支持excel97-excel2003的biff8格式;

热点排行
Bad Request.