private void renderNoDataTable(NiceXWPFDocument doc, XWPFRun run, MiniTableRenderData tableData) { int row = 2, col = tableData.getHeaders().size(); XWPFTable table = doc.insertNewTable(run, row, col); initBasicTable(table, col, tableData.getWidth(), tableData.getStyle()); renderRow(table, 0, tableData.getHeaders()); TableTools.mergeCellsHorizonal(table, 1, 0, tableData.getHeaders().size() - 1); XWPFTableCell cell = table.getRow(1).getCell(0); cell.setText(tableData.getNoDatadesc()); }
run.setText("GOAL!!!"); cursor = p.getCTP().newCursor();//this is the key! XWPFTable t2 = document.insertNewTbl(cursor); XWPFTableCell cell = t2.getRow(0).getCell(0); cell.setText("GOAL!!!");
/** * 解析下一行,并且生成更多的行 * * @Author JueYue * @date 2013-11-18 * @param table * @param listobj2 */ public static void parseNextRowAndAddRow(XWPFTable table, int index, List<Object> list) throws Exception { XWPFTableRow currentRow = table.getRow(index); String[] params = parseCurrentRowGetParams(currentRow); table.removeRow(index);// 移除这一行 int cellIndex = 0;// 创建完成对象一行好像多了一个cell for (Object obj : list) { currentRow = table.createRow(); for (cellIndex = 0; cellIndex < currentRow.getTableCells().size(); cellIndex++) { currentRow.getTableCells().get(cellIndex).setText(PoiPublicUtil.getValueDoWhile(obj, params[cellIndex].split("\\."), 0).toString()); } for (; cellIndex < params.length; cellIndex++) { currentRow.createCell().setText(PoiPublicUtil.getValueDoWhile(obj, params[cellIndex].split("\\."), 0).toString()); } } }
XWPFTableRow lastTableRow = xwpfTable.getRows().get( xwpfTable.getRows().size() - 1 ); XWPFTableRow row = xwpfTable.createRow( ); for ( List< String > rowData : rowList ) { for ( int i = 0; i < rowData.size(); i++ ) { XWPFTableCell cell = row.getCell( i ); XWPFTableCell prevRowCell = lastTableRow.getCell( i ); if( cell != null ) { cell.getCTTc().addNewTcPr().addNewTcBorders(); cell.getCTTc().getTcPr().setTcBorders( prevRowCell.getCTTc().getTcPr().getTcBorders() ); cell.setText( rowData.get( i ) ); } } }
for (cellIndex = 0; cellIndex < currentRow.getTableCells().size(); cellIndex++) { String val = eval(params[cellIndex], tempMap).toString(); currentRow.getTableCells().get(cellIndex).setText(""); PoiWordStyleUtil.copyCellAndSetValue(tempCellList.get(cellIndex), currentRow.getTableCells().get(cellIndex), val);
private void setCellValue(XWPFTableRow row, Object value, int cellNum) { if (row.getCell(cellNum++) != null) { row.getCell(cellNum - 1).setText(value == null ? "" : value.toString()); PoiPublicUtil.setWordText(row.createCell().addParagraph().createRun(), value == null ? "" : value.toString()); } else { PoiPublicUtil.setWordText(row.createCell().addParagraph().createRun(), value == null ? "" : value.toString()); } }
for (cellIndex = 0; cellIndex < currentRow.getTableCells().size(); cellIndex++) { String val = eval(params[cellIndex], tempMap).toString(); currentRow.getTableCells().get(cellIndex).setText(""); PoiPublicUtil.setWordText( currentRow.getTableCells().get(cellIndex).addParagraph().createRun(), val);
private void setCellValue(XWPFTableRow row, Object value, int cellNum) { if (row.getCell(cellNum++) != null) { row.getCell(cellNum - 1).setText(value == null ? "" : value.toString()); PoiPublicUtil.setWordText(row.createCell().addParagraph().createRun(), value == null ? "" : value.toString()); } else { PoiPublicUtil.setWordText(row.createCell().addParagraph().createRun(), value == null ? "" : value.toString()); } }
/** * 渲染一列单元格操作 * * @param cell 原始单元格(表达式所在的单元格) * @param params 单元格值 */ public void nextCell(XWPFTableCell cell, Object... params) { XWPFTableCell cell_tmp = nowRow.getCell(firstRow.getTableCells().indexOf(cell)); if (params == null) params = new String[]{""}; if (cell_tmp == null) { cell_tmp = nowRow.addNewTableCell(); cell_tmp.addParagraph(cell.getParagraphArray(0)); } for (int i = 0, len = cell.getParagraphs().size(); i < len; i++) { cell.removeParagraph(i); } cell_tmp.setText(StringUtils.concat(params)); }
/** * 渲染一列单元格操作 * * @param cell 原始单元格(表达式所在的单元格) * @param params 单元格值 */ public void nextCell(XWPFTableCell cell, Object... params) { XWPFTableCell cell_tmp = nowRow.getCell(firstRow.getTableCells().indexOf(cell)); if (params == null) params = new String[]{""}; if (cell_tmp == null) { cell_tmp = nowRow.addNewTableCell(); cell_tmp.addParagraph(cell.getParagraphArray(0)); } for (int i = 0, len = cell.getParagraphs().size(); i < len; i++) { cell.removeParagraph(i); } cell_tmp.setText(StringUtils.concat(params)); }
public static void createSimpleTable() throws Exception { try (XWPFDocument doc = new XWPFDocument()) { XWPFTable table = doc.createTable(3, 3); table.getRow(1).getCell(1).setText("EXAMPLE OF TABLE"); // table cells have a list of paragraphs; there is an initial // paragraph created when the cell is created. If you create a // paragraph in the document to put in the cell, it will also // appear in the document following the table, which is probably // not the desired result. XWPFParagraph p1 = table.getRow(0).getCell(0).getParagraphs().get(0); XWPFRun r1 = p1.createRun(); r1.setBold(true); r1.setText("The quick brown fox"); r1.setItalic(true); r1.setFontFamily("Courier"); r1.setUnderline(UnderlinePatterns.DOT_DOT_DASH); r1.setTextPosition(100); table.getRow(2).getCell(2).setText("only text"); try (OutputStream out = new FileOutputStream("simpleTable.docx")) { doc.write(out); } } }