Hi, Can anyone here point me to a resource for updating a cell in a table in the header of a DOCX file?
I posted this question to stackoverflow here: http://stackoverflow.com/questions/28572615/apache-poi-how-to-update-header-table-cell-in-docx-file <http://stackoverflow.com/questions/28572615/apache-poi-how-to-update-header-table-cell-in-docx-file> Every time I run the following unit test I get a document in which the text I add to a cell with a run only appends to the content already in the cell. I am starting with at template file that has a 4 rows by 3 column table in the header. I am trying to destructively update a cell in that table to no avail. @Test public void thatWordHeaderTableWriteWorks() throws IOException, InvalidFormatException { FileInputStream docxInput = null; XWPFDocument docxFile = null; docxInput = new FileInputStream("src/test/resources/02 Blank Docx.docx"); docxFile = new XWPFDocument(OPCPackage.open(docxInput)); // write something to the header XWPFDocument newDocument = docxFile; XWPFHeaderFooterPolicy policy = newDocument.getHeaderFooterPolicy(); XWPFHeader header = policy.getDefaultHeader(); XWPFTable headerTable = header.getTables().get(0); XWPFTableRow tr1 = headerTable.getRow(0); XWPFTableCell cell1 = tr1.getCell(2); tr1.removeCell(2); System.out.println("Cell data: " + cell1.getText()); tr1.createCell(); cell1.getParagraphs().get(0).setAlignment(ParagraphAlignment.RIGHT); XWPFRun textRun = cell1.getParagraphs().get(0).createRun(); textRun.setText("Packet Ref # "); XWPFRun nextRun = cell1.getParagraphs().get(0).createRun(); nextRun.setColor("FF0000"); nextRun.setText("1000.01.01.01"); System.out.println("row one cell one " + tr1.getCell(2).getText()); // create new file with the same file name except for a '04.u' in the // reference File newWordFile = new File("src/test/resources/04.n New Table Docx.docx"); FileOutputStream out = new FileOutputStream(newWordFile); newDocument.write(out); out.close(); System.out.println(newWordFile.getName() + " written successfully on disk."); assertTrue(newWordFile.exists()); } I checked the unit tests here (https://svn.apache.org/repos/asf/poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/ <https://svn.apache.org/repos/asf/poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/>) and found nothing that shows what I am trying to do. Thanks, Kent
