我在java上有现有的工作项目。我需要更改模板“.docx”文档。当我尝试使用另一个“.docx”文档创建一个新的WordDocument时,我得到一个例外。有什么不对? 抱歉我的英文。
我的代码是:
`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)`
答案 0 :(得分:1)
问题解决了!问题出在一个文件中,它是用谷歌文档保存的。现在我用MSOffice重新保存它,所以代码可以工作!
答案 1 :(得分:0)
你应该查看你在例外中得到的消息:它说
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
:虽然数学值是一个整数值,但由于结尾Float
,Java了解它是Double
或.0
并引发异常
尝试查找转换发生的位置,看看是否可以捕获/管理异常。