仅使用apache poi xssf eventmodel读取excel(.xlsx)文件时出错

时间:2011-09-07 04:54:26

标签: excel apache-poi xlsx xssf

我正在尝试使用来自apache网站http://poi.apache.org/spreadsheet/how-to.html#xssf_sax_api

的代码读取带有单词而不是数字数据的excel文件

我收到以下错误:

Processing new sheet:

A1 - Have a nice day
Exception in thread "main" java.lang.NumberFormatException: For input string: "Have a nice day"
    at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1111)
    at ExcelExtract.processAllSheets(ExcelExtract.java:48)
    at ExcelExtract.main(ExcelExtract.java:119)
Caused by: java.lang.NumberFormatException: For input string: "Have a nice day"
    at java.lang.NumberFormatException.forInputString(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at ExcelExtract$SheetHandler.endElement(ExcelExtract.java:99)
    at org.apache.xerces.parsers.SAXParser.endElement(SAXParser.java:1403)
    at org.apache.xerces.validators.common.XMLValidator.callEndElement(XMLValidator.java:1550)
    at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1204)
    at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)
    at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1098)
    ... 2 more

还有什么方法可以在不使用xerces.jar的情况下使用poi xssf事件模型读取xlsx文件?如果有任何其他示例代码,请通知。

1 个答案:

答案 0 :(得分:0)

这个例外似乎来自你自己的代码 - ExcelExtract看起来是你的程序而不是POI的核心部分

看起来您正在处理包含字符串的单元格,就好像它包含一个数字一样。这不起作用 - 您需要检查单元格的类型,并适当地处理内容。你不能只是在没有确定它的情况下解析某个东西!

虽然

看起来不是POI问题