如何使用Apache POI创建简单的docx文件?

我正在寻找一个简单的示例代码或完整的教程,如何使用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如下:

 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.(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(); 
 import java.io.File; import java.io.FileOutputStream; import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFParagraph; import org.apache.poi.xwpf.usermodel.XWPFRun; public class DocFile { public void newWordDoc(String filename, String fileContent) throws Exception { XWPFDocument document = new XWPFDocument(); XWPFParagraph tmpParagraph = document.createParagraph(); XWPFRun tmpRun = tmpParagraph.createRun(); tmpRun.setText(fileContent); tmpRun.setFontSize(18); FileOutputStream fos = new FileOutputStream(new File("C:\\Users\\amitabh\\Pictures\\pics\\"+filename + ".doc")); document.write(fos); fos.close(); } public static void main(String[] args) throws Exception { DocFile app = new DocFile(); app.newWordDoc("testfile", "Hi hw ru?"); } }