Исключение с новым WordDocument() com.independentsoft
У меня есть работающий проект на Java. Мне нужно изменить шаблон документа ".docx". Когда я пытаюсь создать новый WordDocument с другим документом ".docx", я получаю исключение. Что может быть не так? Извините за мой английский.
Есть мой код:
`WordDocument document = new WordDocument(templatesDirectory + "order.docx");`
Есть трассировка стека:
`java.lang.NumberFormatException: For input string: "11340.0"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
at java.lang.Integer.parseInt(Integer.java:615)
at com.independentsoft.office.word.tables.Width.a(Unknown Source)
at com.independentsoft.office.word.tables.Width.<init>(Unknown Source)
at com.independentsoft.office.word.tables.TableProperties.a(Unknown Source)
at com.independentsoft.office.word.tables.TableProperties.<init>(Unknown Source)
at com.independentsoft.office.word.tables.Table.a(Unknown Source)
at com.independentsoft.office.word.tables.Table.<init>(Unknown Source)
at com.independentsoft.office.word.Body.a(Unknown Source)
at com.independentsoft.office.word.Body.<init>(Unknown Source)
at com.independentsoft.office.word.WordDocument.a(Unknown Source)
at com.independentsoft.office.word.WordDocument.openImplementation(Unknown Source)
at com.independentsoft.office.word.WordDocument.open(Unknown Source)
at com.independentsoft.office.word.WordDocument.open(Unknown Source)
at com.independentsoft.office.word.WordDocument.<init>(Unknown Source)`
2 ответа
Проблема была решена! Проблема была в файле, он был сохранен с Google Docs. Теперь я сохраняю его с помощью MSOffice, и поэтому код работает!
Вы должны проверить сообщение, которое вы получите в исключении: оно говорит
java.lang.NumberFormatException: For input string: "11340.0"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
Где-то в вашем коде вы пытаетесь сгенерировать Integer
из String
который не может быть преобразован в Integer
,
В твоем случае: 11340.0
: хотя математическое значение является целочисленным значением, Java понимает, что это Float
или Double
из-за окончания .0
и выдвигает исключение.
Попробуйте найти, откуда происходит это преобразование, и посмотрите, сможете ли вы поймать или обработать исключение.