将单词中的文本替换为表(APACHOE POI)Java

时间:2018-12-04 22:07:27

标签: java apache ms-word apache-poi word-table

您好,我需要替换单词$ {tabla}中的一个参数来列出这是我的代码:

            XWPFDocument document = new XWPFDocument(new FileInputStream(getServletContext().getRealPath("/") + myFilePath));
    for (XWPFParagraph p : document.getParagraphs()) {
        List<XWPFRun> runs = p.getRuns();
        if (runs != null) {
            for (XWPFRun r : runs) {
                String text = r.getText(0);
                if (text != null && text.contains("${texto}")) {
                    text = text.replace("${texto}", "loren ipsum");
                    r.setText(text, 0);
                }

                if (text != null && text.contains("${encargado}")) {
                    text = text.replace("${encargado}", "loren ipsum");
                    r.setText(text, 0);
                }

                if (text != null && text.contains("${fecha}")) {
                    text = text.replace("${fecha}", "loren ipsum");
                    r.setText(text, 0);
                }

                if (text != null && text.contains("${tabla}")) {
                    XmlCursor cursor = p.getCTP().newCursor();
                    XWPFTable table = document.insertNewTbl(cursor);
                    //create first row
                    XWPFTableRow tableRowOne = table.getRow(0);
                    tableRowOne.getCell(0).setText("col one, row one");
                    tableRowOne.addNewTableCell().setText("col two, row one");
                    tableRowOne.addNewTableCell().setText("col three, row one");
                }

            }
        }
    }

但是我总是会得到一个空光标错误

java.lang.NullPointerException
servlet.generadorWord.processRequest(generadorWord.java:77)
servlet.generadorWord.doGet(generadorWord.java:123)

但这是我的第57行:

                    tableRowOne.getCell(0).setText("col one, row one");

我想我已经尝试了所有方法,但是我不明白为什么光标总是指向我为空

0 个答案:

没有答案