Ошибка чтения файла Excel (.xlsx) с использованием только модели событий apache poi xssf - PullRequest
0 голосов
/ 07 сентября 2011

Я пытаюсь прочитать файл Excel со словами, а не числовыми данными, используя код с сайта apache http://poi.apache.org/spreadsheet/how-to.html#xssf_sax_api

Я получаю следующую ошибку:

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

Также естьлюбой способ прочитать файл xlsx, используя модель событий poi xssf только без использования xerces.jar?Пожалуйста, сообщите, если какой-либо другой образец кода доступен.

1 Ответ

0 голосов
/ 07 сентября 2011

Это исключение, похоже, исходит из вашего собственного кода - ExcelExtract выглядит как ваша программа, а не как основной бит POI

Похоже, вы обрабатываете ячейку, содержащую строку, как если бы она содержалачисло.Это не сработает - вам нужно проверить тип ячейки и правильно обработать содержимое.Вы не можете просто разобрать что-то в int, не убедившись сначала, что оно одно!

Не похоже, что проблема с POI

...