public XWPFTable(CTTbl table, IBody part, int row, int col) { this(table, part); for (int i = 0; i < row; i++) { XWPFTableRow tabRow = (getRow(i) == null) ? createRow() : getRow(i); for (int k = 0; k < col; k++) { if (tabRow.getCell(k) == null) { tabRow.createCell(); } } } }
/** * 合并列单元格 * * @param table * 表格对象 * @param col * 列 从0开始 * @param fromRow * 起始行 * @param toRow * 结束行 */ public static void mergeCellsVertically(XWPFTable table, int col, int fromRow, int toRow) { if (toRow <= fromRow) return; for (int rowIndex = fromRow; rowIndex <= toRow; rowIndex++) { XWPFTableCell cell = table.getRow(rowIndex).getCell(col); CTTcPr tcPr = getTcPr(cell); CTVMerge vMerge = tcPr.addNewVMerge(); if (rowIndex == fromRow) { // The first merged cell is set with RESTART merge value vMerge.setVal(STMerge.RESTART); } else { // Cells which join (merge) the first one, are set with CONTINUE vMerge.setVal(STMerge.CONTINUE); } } }
/** * 合并行单元格 * * @param table * 表格对象 * @param row * 行 从0开始 * @param fromCol * 起始列 * @param toCol * 结束列 */ public static void mergeCellsHorizonal(XWPFTable table, int row, int fromCol, int toCol) { if (toCol <= fromCol) return; XWPFTableCell cell = table.getRow(row).getCell(fromCol); CTTcPr tcPr = getTcPr(cell); XWPFTableRow rowTable = table.getRow(row); for (int colIndex = fromCol + 1; colIndex <= toCol; colIndex++) { rowTable.getCtRow().removeTc(fromCol + 1); rowTable.removeCell(fromCol + 1); } tcPr.addNewGridSpan(); tcPr.getGridSpan().setVal(BigInteger.valueOf((long) (toCol - fromCol + 1))); }
private void mergeCellsHorizontal(XWPFTable table, int row, int startCol,int endCol) { for (int cellIndex = startCol; cellIndex <= endCol; cellIndex++) { XWPFTableCell cell = table.getRow(row).getCell(cellIndex); if (cellIndex == startCol) { cell.getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.RESTART); } else { cell.getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.CONTINUE); } } }
private void mergeCellsVertically(XWPFTable table, int col, int fromRow,int toRow) { for (int rowIndex = fromRow; rowIndex <= toRow; rowIndex++) { XWPFTableCell cell = table.getRow(rowIndex).getCell(col); if (rowIndex == fromRow) { cell.getCTTc().addNewTcPr().addNewVMerge() .setVal(STMerge.RESTART); } else { cell.getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.CONTINUE); } } }
cell = tableRow.getCell(i); if (null == cell) { logger.warn("Extra cell data at row {}, but no extra cell: col {}", row, cell);
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()); }
continue; XWPFTableCell tableCell=tableRow.getCell(colNumber); if(tableCell==null){ continue;
int end=start+rowSpan; for(int i=start;i<end;i++){ XWPFTableCell c=table.getRow(i).getCell(columnNumber); buildCellBorder(leftBorder, c, 1); int end=start+rowSpan; for(int i=start;i<end;i++){ XWPFTableCell c=table.getRow(i).getCell(lastCol); buildCellBorder(style.getRightBorder(), c, 2); XWPFTableCell c=table.getRow(rowNumber).getCell(lastCol); buildCellBorder(rightBorder, c, 2); int end=start+colSpan; for(int i=start;i<end;i++){ XWPFTableCell c=table.getRow(rowNumber).getCell(i); buildCellBorder(topBorder, c, 3); int end=start+colSpan; for(int i=start;i<end;i++){ XWPFTableCell c=table.getRow(lastRow).getCell(i); buildCellBorder(bottomBorder, c, 4); XWPFTableCell c=table.getRow(lastRow).getCell(columnNumber); buildCellBorder(bottomBorder, c, 4);
for(int x = 0;x < table.getNumberOfRows(); x++){ XWPFTableRow row = table.getRow(x); int numberOfCell = row.getTableCells().size(); for(int y = 0; y < numberOfCell ; y++){ XWPFTableCell cell = row.getCell(y); cell.getCTTc().addNewTcPr().addNewTcW().setW(BigInteger.valueOf(2000)); } }
XWPFDocument doc = new XWPFDocument(); XWPFTable table = doc.createTable(1,2); table.getCTTbl().addNewTblGrid().addNewGridCol().setW(BigInteger.valueOf(6000)); table.getCTTbl().getTblGrid().addNewGridCol().setW(BigInteger.valueOf(2000)); table.getRow(0).getCell(0).setText("1A"); table.getRow(0).getCell(1).setText("1B"); XWPFTableRow newrow = table.createRow(); newrow.getCell(0).setText("2A"); newrow.getCell(1).setText("2B");
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()); } }
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()); } }
public XWPFTable(CTTbl table, IBody part, int row, int col) { this(table, part); for (int i = 0; i < row; i++) { XWPFTableRow tabRow = (getRow(i) == null) ? createRow() : getRow(i); for (int k = 0; k < col; k++) { if (tabRow.getCell(k) == null) { tabRow.createCell(); } } } }
public XWPFTable(CTTbl table, IBody part, int row, int col) { this(table, part); for (int i = 0; i < row; i++) { XWPFTableRow tabRow = (getRow(i) == null) ? createRow() : getRow(i); for (int k = 0; k < col; k++) { if (tabRow.getCell(k) == null) { tabRow.createCell(); } } } }
XWPFTableRow rowOne = table.getRow(0); XWPFParagraph paragraph = rowOne.getCell(0).addParagraph(); setRun(paragraphRefTitle.createRun() , "Calibre LIght" , 10, "2b5079" , "Some string" , false, false); private static void setRun (XWPFRun run , String fontFamily , int fontSize , String colorRGB , String text , boolean bold , boolean addBreak) { run.setFontFamily(fontFamily); run.setFontSize(fontSize); run.setColor(colorRGB); run.setText(text); run.setBold(bold); if (addBreak) run.addBreak(); }
private void mergeCellsHorizontal(XWPFTable table, int row, int startCol,int endCol) { for (int cellIndex = startCol; cellIndex <= endCol; cellIndex++) { XWPFTableCell cell = table.getRow(row).getCell(cellIndex); if (cellIndex == startCol) { cell.getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.RESTART); } else { cell.getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.CONTINUE); } } }
private void mergeCellsVertically(XWPFTable table, int col, int fromRow,int toRow) { for (int rowIndex = fromRow; rowIndex <= toRow; rowIndex++) { XWPFTableCell cell = table.getRow(rowIndex).getCell(col); if (rowIndex == fromRow) { cell.getCTTc().addNewTcPr().addNewVMerge() .setVal(STMerge.RESTART); } else { cell.getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.CONTINUE); } } }