How to read content from ms word files using Jakar

2020-04-30 01:53发布

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?

4条回答
淡お忘
2楼-- · 2020-04-30 02:17

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);
                            }
                        }
                    }
                }
            }
        }
    }
查看更多
Evening l夕情丶
3楼-- · 2020-04-30 02:19
叛逆
4楼-- · 2020-04-30 02:20

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.

查看更多
淡お忘
5楼-- · 2020-04-30 02:34

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);
     }
}
查看更多
登录 后发表回答