如何使用Apache POI创建Word文档?

6

如何使用Apache POI创建Word文档?

我正在为Atlassian Confluence开发一款商业插件——简历编辑器。

很抱歉,我必须询问这个问题,因为我没有找到可以帮助我的教程。


有人可以回答这个问题吗? - Matti Kiviharju
你想生成基于OLE2的.doc Word文档,还是较新的基于OOXML的.docx文档? - Gagravarr
1
我想生成 .doc Word 文档。 - Matti Kiviharju
2个回答

16

您附加的代码文件 "DownloadAsMicrosoftWordDocument.java.txt" 包含了文件下载功能的编码,但没有 Word 文档创建功能。

如果您正在寻找 Word 文档创建功能,请参考下面的参考资料:

HWPF 参考(.doc): POI 主干没有像 XWPF 那样的示例,但是 POI Scratchpad 有围绕它的测试用例,请查看

XWPF 参考(.docx): 来自 Apache POI SVN 存储库的示例

还可以参考 POI Javadocs 中的 XWPF(Word 文档)。

我希望它能为您提供创业的起点!


@Matti Kiviharju - 上述细节对您有帮助吗? - jeevatkm
谢谢,但Confluence包含POI而不包括XWPF。 - Matti Kiviharju
好的...但我尝试创建.doc文件,但我的Word显示文件存在一些安全问题。 - Matti Kiviharju
好的,我可以发布这些内容,但是我需要先从SVN中恢复我的代码,因为我删除了源代码并让我的软件生成PDF文件。 - Matti Kiviharju
1
@seinecle - POI团队重组了包,我已更新链接并删除了无效链接。谢谢。 - jeevatkm
显示剩余4条评论

10
package org.poi.images;

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 r u?");   

    }   
  }   

感谢您的回答。我在Stack Overflow被长时间禁言,因为我提出了太复杂的问题,而且它们太难理解了。 - Matti Kiviharju

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接