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

时间:2011-02-14 08:34:51

标签: java ms-word apache-poi

我已经包含了jakarta-poi-1.5.1-final-20020615.jar文件来读取ms字样中的内容。

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

4 个答案:

答案 0 :(得分:2)

这是quick guide

答案 1 :(得分:2)

您需要转移到更新版本的POI - 您正在使用的版本大约是9年!抓住最新版本的POI(它现在只是Apache POI,几年来一直不是Apache Jakarta POI),在编写时你需要3.7 Final或3.8 beta 2。

然后,阅读HWPF docs,你应该好好去。

答案 2 :(得分:0)

将此代码与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);
                            }
                        }
                    }
                }
            }
        }
    }

答案 3 :(得分:0)

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

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