Исключение с новым 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 и выдвигает исключение.

Попробуйте найти, откуда происходит это преобразование, и посмотрите, сможете ли вы поймать или обработать исключение.

Другие вопросы по тегам