0

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ファイルを読み取る方法はありますか? 他のサンプルコードが利用可能な場合はお知らせください。

4

1 に答える 1

0

その例外はあなた自身のコードから来ているようです-ExcelExtractはPOIのコアビットではなくあなたのプログラムのようです

文字列を含むセルを、数値が含まれているかのように扱っているようです。それはうまくいきません - セルのタイプを確認し、内容を適切に処理する必要があります。最初にそれが1であることを確認せずに、何かをintに解析することはできません!

ただし、POIの問題ではないようです

于 2011-09-07T14:11:22.137 に答える