2012-04-25 76 views
3

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

例如,

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

请尽量避免的东西,如回答“你不应该这样做。”我有一个很好的理由,所以当你回答时请坚持这个问题。非常感谢!

+0

使用POI(http://poi.apache.org)或docx4j(http://www.docx4java.org/trac/docx4j/) – 2012-04-25 17:43:04

+0

可以用密码读取docx来显示示例吗? – CodeGuy 2012-04-25 18:03:19

回答

5

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

+0

很遗憾,Apache POI不能轻松处理表格,标题或图像。 Docx4J更强大一点。 – yams 2014-09-22 14:28:44

3

我没有亲自使用过它,但它看起来像Apache POI会为你工作:http://poi.apache.org/

+0

我也会推荐POI。如果你想读取/写入文件,那么它的最佳Apache许可证2.0库(或我遇到的) – 2012-04-25 17:46:52

+0

你可以显示用密码读取word文档的示例代码吗? – CodeGuy 2012-04-25 18:03:05

+0

@CodeGuy我不会为你做这项研究。我只是google'd你的问题,并找到这个项目。正如我上面所说,我没有亲自使用它。 – 2012-04-25 18:07:34

0

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

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

希望这可以帮助你。

+0

你能举例说明你如何用密码打开MS的例子代码吗? – CodeGuy 2012-04-25 18:02:46

3

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

+0

你能举例说明代码吗? – CodeGuy 2012-04-25 18:02:37

+0

您可以阅读http://www.docx4java.org/svn/docx4j/trunk/docx4j/docs/Docx4j_GettingStarted.html。 你可以在这里找到很多例子。 – 2012-04-25 18:05:12

+0

使用docx4j 2.8.0快照,它只是OpcPackage.load(新的java.io.File(“some.docx”),“password123”) – JasonPlutext 2012-04-26 16:02:00