使用Java打开Microsoft Word docx文件

时间:2012-04-25 17:38:44

标签: java file io docx

如何在Java中打开Microsoft Word docx文件?此外,如果受密码保护,我怎么能打开它?

例如,

File f = new File("hello.docx");

请尽量避免回答“你不应该这样做”的事情。我有充分的理由,所以当你回答时请坚持这个问题。非常感谢!

6 个答案:

答案 0 :(得分:5)

Apache POI项目用于处理MS Office文件。 DOCX文件只是一个包含一系列XML文件的zip文件,因此您可以解压缩该文件并使用XML。 XML规范(Open XML)是已知的。

答案 1 :(得分:3)

我没有亲自使用它,但看起来Apache POI适合您:http://poi.apache.org/

答案 2 :(得分:3)

您也可以使用docx4j。 http://www.docx4java.org/trac/docx4j

答案 3 :(得分:2)

我已经使用了docx4j和Apache的POI库,如果你正在使用.docx我会推荐.docx4j。自动完成创建.docx的过程 这里有一个很好的例子:http://java.dzone.com/articles/create-complex-word-docx 关于如何使用docx4j包创建.docx。

答案 4 :(得分:1)

如果docx受密码保护,则不会是zip文件。它将是一个复合文件。见Overview of Protected Office Open XML Documents

要使用Java读取复合文件,请使用POIFS。 POIFS是POI的一部分(docx4j也使用它,因此如果您下载docx4j发行版,您将能够使用POIFS API)

解密加密包后,您可以使用docx4j或POI进行解读。

编辑:好的,现在docx4j可以自动handle password-protected docx

答案 5 :(得分:0)

您是否尝试使用Open Office api打开它?它可以使用很多文档类型。

我将它用于MS Excel文件.xls(旧版本)格式。

希望这可以帮到你。