java - 如何使用 Apache POI 创建一个简单的 docx 文件?

标签 java docx apache-poi

我正在寻找一个简单的示例代码或一个完整的教程,如何使用 Apache POI 及其底层 openxml4j 创建一个 docx 文件。

我尝试了以下代码(在 Content Assist 的很多帮助下,感谢 Eclipse!)但代码无法正常工作。

String tmpPathname = aFilename + ".docx";
File tmpFile = new File(tmpPathname);

ZipPackage tmpPackage = (ZipPackage) OPCPackage.create(tmpPathname);
PackagePartName tmpFirstPartName = PackagingURIHelper.createPartName("/FirstPart");
PackagePart tmpFirstPart = tmpPackage.createPart(tmpFirstPartName, "ISO-8859-1");

XWPFDocument tmpDocument = new XWPFDocument(tmpPackage); //Exception
XWPFParagraph tmpParagraph = tmpDocument.createParagraph();
XWPFRun tmpRun = tmpParagraph.createRun();
tmpRun.setText("LALALALAALALAAAA");
tmpRun.setFontSize(18);
tmpPackage.save(tmpFile);

抛出的异常如下:

Exception in thread "main" java.lang.NullPointerException
    at org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPart.java:235)
    at org.apache.poi.POIXMLDocument.load(POIXMLDocument.java:196)
    at org.apache.poi.xwpf.usermodel.XWPFDocument.<init>(XWPFDocument.java:94)
    at DocGenerator.makeDocxWithPoi(DocGenerator.java:64)
    at DocGenerator.main(DocGenerator.java:50)

有人可以帮我解决我的(非常简单的)要求吗?

最佳答案

以下是使用 POI 创建简单 docx 文件的方法:

XWPFDocument document = new XWPFDocument();
XWPFParagraph tmpParagraph = document.createParagraph();
XWPFRun tmpRun = tmpParagraph.createRun();
tmpRun.setText("LALALALAALALAAAA");
tmpRun.setFontSize(18);
document.write(new FileOutputStream(new File("yourpathhere")));
document.close();

关于java - 如何使用 Apache POI 创建一个简单的 docx 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2592579/

相关文章:

java - 实现 cli 应用程序的适当方法,该应用程序也使用 Micronaut 的服务配置文件

java - javafx SelectionMode Single 和 Multiple 有什么区别?

java - Apache poi 表 (XWPFTable) 未正确生成

java - 如何将表格添加到页眉或页脚?

java - 打开 Excel 时,apache POI createFormulaListConstraint 结果为 "Unreadable content"

java - 元素类型 "result"的内容必须与 "(module-dependency|package-dependency|token- dependency)"匹配

java - Apache POI : How to set font style for a field (PAGE, PAGENUM, PAGEREF...)

java - 使用java将docx转换为doc

java - 在Java中使用Apache-poi库编写Excel公式时出错

java - 无法从 jsonobject 中提取 jsonarray