如何使用 Jakarta POI 读取 ms word 文件的内容

发布于 2024-10-17 01:53:14 字数 98 浏览 5 评论 0原文

我已包含 jakarta-poi-1.5.1-final-20020615.jar 文件以从 ms word 读取内容。

我无法做到这一点...任何人都可以帮助我吗?

I've included jakarta-poi-1.5.1-final-20020615.jar file to read content from ms word.

I am unable to do this ...can anyone help me?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

夏见 2024-10-24 01:53:14

您需要迁移到较新版本的 POI - 您使用的版本大约有 9 年了!获取最新版本的 POI(现在只是 Apache POI,几年前不再是 Apache Jakarta POI),截至撰写本文时,您需要 3.7 Final 或 3.8 beta 2。

然后,通读 HWPF 文档,您应该就可以开始了。

You need to move to a newer version of POI - the one you're on is about 9 years old! Grab the latest version of POI (it's just Apache POI now, hasn't been Apache Jakarta POI for a few years now), you'll want either 3.7 Final or 3.8 beta 2 as of writing.

Then, have a read through the HWPF docs and you should be good to go.

套路撩心 2024-10-24 01:53:14

将此代码与 apache-poi 一起使用

XWPFDocument doc = new XWPFDocument(new FileInputStream(fileName));
    List<XWPFTable> table = doc.getTables();
    for (XWPFTable xwpfTable : table) {
        List<XWPFTableRow> row = xwpfTable.getRows();
        for (XWPFTableRow xwpfTableRow : row) {
            List<XWPFTableCell> cell = xwpfTableRow.getTableCells();
            for (XWPFTableCell xwpfTableCell : cell) {
                if (xwpfTableCell != null) {
                    System.out.println(xwpfTableCell.getText());
                    String s = xwpfTableCell.getText();
                    for (XWPFParagraph p : xwpfTableCell.getParagraphs()) {
                        for (XWPFRun run : p.getRuns()) {
                            for (XWPFPicture pic : run.getEmbeddedPictures()) {
                                byte[] pictureData = pic.getPictureData().getData();
                                System.out.println("picture : " + pictureData);
                            }
                        }
                    }
                }
            }
        }
    }

Use this code with apache-poi

XWPFDocument doc = new XWPFDocument(new FileInputStream(fileName));
    List<XWPFTable> table = doc.getTables();
    for (XWPFTable xwpfTable : table) {
        List<XWPFTableRow> row = xwpfTable.getRows();
        for (XWPFTableRow xwpfTableRow : row) {
            List<XWPFTableCell> cell = xwpfTableRow.getTableCells();
            for (XWPFTableCell xwpfTableCell : cell) {
                if (xwpfTableCell != null) {
                    System.out.println(xwpfTableCell.getText());
                    String s = xwpfTableCell.getText();
                    for (XWPFParagraph p : xwpfTableCell.getParagraphs()) {
                        for (XWPFRun run : p.getRuns()) {
                            for (XWPFPicture pic : run.getEmbeddedPictures()) {
                                byte[] pictureData = pic.getPictureData().getData();
                                System.out.println("picture : " + pictureData);
                            }
                        }
                    }
                }
            }
        }
    }
羁客 2024-10-24 01:53:14

此方法将打印整个文档的内部运行,以便您能够根据 xml 文本比较值。

for (XWPFParagraph p : doc.getParagraphs()) {
    for (XWPFRun r : p.getRuns()) {
       String text = r.getText(0);
       System.out.println(text);
     }
}

This method will print the internal runs of the entire document so you will be able to compare the values based on xml text.

for (XWPFParagraph p : doc.getParagraphs()) {
    for (XWPFRun r : p.getRuns()) {
       String text = r.getText(0);
       System.out.println(text);
     }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文