我将 docx 文件作为模板,在使用 Microsoft Word 编写变量 (${}) 时,看不到一些变量
但是当我在 LibreOffice 上更改它时,它正在工作(java 看到变量),但我不能每次使用 LibreOffice 都这样做!
File doc = new File("nameOfMyFile.docx");
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(doc);
MainDocumentPart mainDocumentPart = wordMLPackage.getMainDocumentPart();
HashMap mappings = new HashMap();
VariablePrepare.prepare(wordMLPackage);
mappings.put("lessonsEachWeek", contract.getHoursInWeek());
wordMLPackage.getMainDocumentPart().variableReplace(mappings);
Docx4J.save(wordMLPackage, new File("someName.docx"));
Docx 文件的 XML:
<w:r>
<w:rPr>
<w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman" w:eastAsia="Times New Roman" w:cs="Times New Roman"/>
<w:color w:val="000000"/>
<w:lang w:eastAsia="ru-RU"/>
</w:rPr>
<w:t xml:space="preserve">1.2 some text ${</w:t>
</w:r>
<w:r>
<w:rPr>
<w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman" w:eastAsia="Times New Roman" w:cs="Times New Roman"/>
<w:color w:val="000000"/>
<w:lang w:val="en-US" w:eastAsia="ru-RU"/>
</w:rPr>
<w:t>lessonsEachWeek</w:t>
</w:r>
幕布斯6054654
相关分类