List of usage examples for org.apache.poi.xwpf.usermodel XWPFHeaderFooter insertTable
public void insertTable(int pos, XWPFTable table)
From source file:org.obeonetwork.m2doc.generator.M2DocEvaluator.java
License:Open Source License
/** * Inserts the given {@link MTable}.//w w w . j a v a 2 s .c om * * @param run * the {@link XWPFRun} to insert to * @param table * the {@link MTable} to insert */ private void insertMTable(XWPFRun run, MTable table) { final XWPFTable docTable; if (generatedDocument instanceof XWPFDocument) { if (table.getLabel() != null) { XWPFRun captionRun; captionRun = run; IRunBody runBody = captionRun.getParent(); if (runBody instanceof XWPFParagraph) { ((XWPFParagraph) runBody).setSpacingAfter(0); } captionRun.setText(table.getLabel()); captionRun.setBold(true); } docTable = ((XWPFDocument) generatedDocument).createTable(); } else if (generatedDocument instanceof XWPFHeaderFooter) { final XWPFHeaderFooter headerFooter = (XWPFHeaderFooter) generatedDocument; final int index = headerFooter._getHdrFtr().getTblArray().length; final CTTbl cttbl = headerFooter._getHdrFtr().insertNewTbl(index); docTable = new XWPFTable(cttbl, headerFooter); headerFooter.insertTable(index, docTable); } else if (generatedDocument instanceof XWPFTableCell) { XWPFTableCell tcell = (XWPFTableCell) generatedDocument; if (table.getLabel() != null) { final XWPFRun captionRun = run; IRunBody runBody = captionRun.getParent(); if (runBody instanceof XWPFParagraph) { ((XWPFParagraph) runBody).setSpacingAfter(0); } captionRun.setText(table.getLabel()); captionRun.setBold(true); } CTTbl ctTbl = tcell.getCTTc().addNewTbl(); docTable = new XWPFTable(ctTbl, tcell); int tableRank = tcell.getTables().size(); tcell.insertTable(tableRank, docTable); // A paragraph is mandatory at the end of a cell, so let's always add one. tcell.addParagraph(); } else { docTable = null; M2DocUtils.appendMessageRun((XWPFParagraph) run.getParent(), ValidationMessageLevel.ERROR, "m:table can't be inserted here."); } if (docTable != null) { fillTable(docTable, table); } }
From source file:org.obeonetwork.m2doc.generator.M2DocEvaluator.java
License:Open Source License
@Override public IConstruct caseTable(Table table) { // Create the table structure in the destination document. CTTbl copy = (CTTbl) table.getTable().getCTTbl().copy(); copy.getTrList().clear();//from w w w . ja va 2s.c om if (generatedDocument instanceof XWPFDocument) { currentGeneratedTable = ((XWPFDocument) generatedDocument).createTable(); if (currentGeneratedTable.getRows().size() > 0) { currentGeneratedTable.removeRow(0); } currentGeneratedTable.getCTTbl().set(copy); } else if (generatedDocument instanceof XWPFHeaderFooter) { final XWPFHeaderFooter headerFooter = (XWPFHeaderFooter) generatedDocument; final int index = headerFooter._getHdrFtr().getTblArray().length; final CTTbl cttbl = headerFooter._getHdrFtr().insertNewTbl(index); XWPFTable newTable = new XWPFTable(cttbl, headerFooter); if (newTable.getRows().size() > 0) { newTable.removeRow(0); } headerFooter.insertTable(index, newTable); currentGeneratedTable = headerFooter.getTables().get(index); currentGeneratedTable.getCTTbl().set(copy); } else if (generatedDocument instanceof XWPFTableCell) { XWPFTableCell tCell = (XWPFTableCell) generatedDocument; int tableRank = tCell.getTables().size(); XWPFTable newTable = new XWPFTable(copy, tCell, 0, 0); if (newTable.getRows().size() > 0) { newTable.removeRow(0); } tCell.insertTable(tableRank, newTable); currentGeneratedTable = tCell.getTables().get(tableRank); } else { throw new UnsupportedOperationException("unknown type of IBody : " + generatedDocument.getClass()); } // iterate on the row for (Row row : table.getRows()) { doSwitch(row); } return table; }