Refine search
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(); } } } }
XWPFDocument doc = new XWPFDocument(OPCPackage.open("input.docx")); for (XWPFParagraph p : doc.getParagraphs()) { List<XWPFRun> runs = p.getRuns(); if (runs != null) { for (XWPFRun r : runs) { String text = r.getText(0); if (text != null && text.contains("needle")) { text = text.replace("needle", "haystack"); r.setText(text, 0); } } } } for (XWPFTable tbl : doc.getTables()) { for (XWPFTableRow row : tbl.getRows()) { for (XWPFTableCell cell : row.getTableCells()) { for (XWPFParagraph p : cell.getParagraphs()) { for (XWPFRun r : p.getRuns()) { String text = r.getText(0); if (text.contains("needle")) { text = text.replace("needle", "haystack"); r.setText(text); } } } } } } doc.write(new FileOutputStream("output.docx"));
/** * add a new column for each row in this table */ public void addNewCol() { if (ctTbl.sizeOfTrArray() == 0) { createRow(); } for (int i = 0; i < ctTbl.sizeOfTrArray(); i++) { XWPFTableRow tabRow = new XWPFTableRow(ctTbl.getTrArray(i), this); tabRow.createCell(); } }
@Override public void produce(Report report,OutputStream outputStream) { XWPFDocument document = new XWPFDocument(); try{ CTSectPr sectpr = document.getDocument().getBody().addNewSectPr(); if(!sectpr.isSetPgSz()) { sectpr.addNewPgSz(); for(Page page:pages){ List<Row> rows=page.getRows(); XWPFTable table = document.createTable(rows.size(), totalColumn); table.getCTTbl().getTblPr().unsetTblBorders(); table.getCTTbl().addNewTblPr().addNewTblW().setW(BigInteger.valueOf(DxaUtils.points2dxa(tableWidth))); for(int rowNumber=0;rowNumber<rows.size();rowNumber++){ Row row=rows.get(rowNumber); int height=row.getRealHeight(); XWPFTableRow tableRow=table.getRow(rowNumber); tableRow.setHeight(DxaUtils.points2dxa(height)); Map<Column,Cell> colCell=cellMap.get(row); if(colCell==null)continue; continue; XWPFTableCell tableCell=tableRow.getCell(colNumber); if(tableCell==null){ continue; tableCell.getCTTc().addNewTcPr().addNewTcW().setW(BigInteger.valueOf(DxaUtils.points2dxa(width))); buildTableCellStyle(table,tableCell,cell,rowNumber,colNumber);
XWPFDocument doc = new XWPFDocument(new FileInputStream(fileName)); List<XWPFTable> table = doc.getTables(); for (XWPFTable xwpfTable : table) { List<XWPFTableRow> row = xwpfTable.getRows(); for (XWPFTableRow xwpfTableRow : row) { List<XWPFTableCell> cell = xwpfTableRow.getTableCells(); for (XWPFTableCell xwpfTableCell : cell) { if (xwpfTableCell != null) { System.out.println(xwpfTableCell.getText()); String s = xwpfTableCell.getText(); for (XWPFParagraph p : xwpfTableCell.getParagraphs()) { for (XWPFRun run : p.getRuns()) { for (XWPFPicture pic : run.getEmbeddedPictures()) { byte[] pictureData = pic.getPictureData().getData(); System.out.println("picture : " + pictureData); } } } } } } }
XWPFDocument document= new XWPFDocument(); XWPFTable table = document.createTable(); 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"); XWPFTableRow tableRowTwo = table.createRow(); tableRowTwo.getCell(0).setText("col one, row two"); tableRowTwo.getCell(1).setText("col two, row two"); tableRowTwo.getCell(2).setText("col three, row two"); tableRowTwo.setHeight((int)(twipsPerInch*1/10)); //set height 1/10 inch. tableRowTwo.getCtRow().getTrPr().getTrHeightArray(0).setHRule(STHeightRule.EXACT); //set w:hRule="exact" XWPFTableRow tableRowThree = table.createRow(); tableRowThree.getCell(0).setText("col one, row three"); tableRowThree.getCell(1).setText("col two, row three"); tableRowThree.getCell(2).setText("col three, row three"); tableRowThree.setHeight(twipsPerInch*1); //set height 1 inch. document.write(out); out.close(); System.out.println("create_table.docx written successully");
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); } } }
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); } } }
public static void main(String[] args) throws IOException { XWPFDocument document = new XWPFDocument(); XWPFTable tableOne = document.createTable(); XWPFTableRow tableOneRowOne = tableOne.getRow(0); tableOneRowOne.getCell(0).setText("Header1"); tableOneRowOne.addNewTableCell().setText("header2"); XWPFTableRow tableOneRowTwo = tableOne.createRow(); tableOneRowTwo.getCell(0).setText("Data1"); tableOneRowTwo.getCell(1).setText("Data2"); FileOutputStream outStream = new FileOutputStream("test.doc"); document.write(outStream); outStream.close(); }
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");
XWPFDocument doc = new XWPFDocument(); CTTbl ctTable = CTTbl.Factory.newInstance(); XWPFTable table = new XWPFTable(ctTable, doc); XWPFTableRow tr = table.getRow(0); XWPFTableCell cell = tr.getCell(0); CTTc ctTc = cell.getCTTc(); CTTcPr tcPr = ctTc.addNewTcPr(); CTHMerge hMerge = tcPr.addNewHMerge(); hMerge.setVal(STMerge.RESTART); CTTcBorders tblBorders = tcPr.addNewTcBorders();
private XWPFTable generatePosTableRows(final XWPFDocument templateDocument, final List<RechnungsPositionDO> positionen) { XWPFTable posTbl = null; for (XWPFTable tbl : templateDocument.getTables()) { if (tbl.getRow(0).getCell(0).getText().contains("Beschreibung")) { posTbl = tbl; } } for (int i = 2; i <= positionen.size(); i++) { copyTableRow(posTbl, i); } int rowCount = 1; for (RechnungsPositionDO position : positionen) { for (XWPFTableCell cell : posTbl.getRow(rowCount).getTableCells()) { for (XWPFParagraph cellParagraph : cell.getParagraphs()) { replaceInParagraph(cellParagraph, "id", String.valueOf(position.getNumber())); } } rowCount++; } return posTbl; }
/** * 换行操作 * * @param cell 触发此操作的单元格 */ public void nextRow(XWPFTableCell cell) { if (nowRow == null) { firstRow = nowRow = cell.getTableRow(); rowIndex = firstRow.getTable().getRows().indexOf(firstRow); } else { nowRow = nowRow.getTable().insertNewTableRow(rowIndex++); nowRow.setHeight(firstRow.getHeight()); } }
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);
private void copyTableRow(final XWPFTable posTbl, final int rowCounter) { XWPFTableRow rowToCopy = posTbl.getRow(1); CTRow row = posTbl.getCTTbl().insertNewTr(rowCounter); row.set(rowToCopy.getCtRow()); XWPFTableRow copyRow = new XWPFTableRow(row, posTbl); posTbl.getRows().add(rowCounter, copyRow); }
/** * 创建List之后的各个Cells * @param index * @param cellNum * @param obj 当前对象 * @param excelParams 列参数信息 * @param table 当前表格 * @param rowHeight 行高 * @throws Exception */ public void createListCells(int index, int cellNum, Object obj, List<ExcelExportEntity> excelParams, XWPFTable table, short rowHeight) throws Exception { ExcelExportEntity entity; XWPFTableRow row; if (table.getRow(index) == null) { row = table.createRow(); row.setHeight(rowHeight); } else { row = table.getRow(index); } for (int k = 0, paramSize = excelParams.size(); k < paramSize; k++) { entity = excelParams.get(k); Object value = getCellValue(entity, obj); if (entity.getType() == 1) { setCellValue(row, value, cellNum++); } } }
XWPFTableRow tableRow = table.getRow(row); ObjectUtils.requireNonNull(tableRow, "Row " + row + " do not exist in the table"); cell = tableRow.getCell(i); if (null == cell) { logger.warn("Extra cell data at row {}, but no extra cell: col {}", row, cell); cell.setColor(style.getBackgroundColor()); for (int j = 0; j < fragment.length; j++) { if (0 == j) { CTTc ctTc = cell.getCTTc(); CTP ctP = (ctTc.sizeOfPArray() == 0) ? ctTc.addNewP() : ctTc.getPArray(0); par = new XWPFParagraph(ctP, cell); } else { par = cell.addParagraph();
@Override public void onTable(Object t) { XWPFTable table = ((XWPFTable) t); for (XWPFTableRow xwpfTableRow : table.getRows()) { for (XWPFTableCell xwpfTableCell : xwpfTableRow.getTableCells()) { for (XWPFParagraph xwpfParagraph : xwpfTableCell.getParagraphs()) { String text = getParagraphText(xwpfParagraph); runner.pushExpression(text, xwpfTableCell, xwpfParagraph); } } } }