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"));
void visitTable(XWPFTable table) { if (null == table) return; List<XWPFTableRow> rows = table.getRows(); if (null == rows) return; for (XWPFTableRow row : rows) { List<XWPFTableCell> cells = row.getTableCells(); if (null == cells) continue; for (XWPFTableCell cell : cells) { visitParagraphs(cell.getParagraphs()); visitTables(cell.getTables()); } } }
private void parseThisRow(List<XWPFTableCell> cells, Map<String, Object> map) throws Exception { for (XWPFTableCell cell : cells) { parseAllParagraphic(cell.getParagraphs(), map); } }
private void parseThisRow(List<XWPFTableCell> cells, Map<String, Object> map) throws Exception { for (XWPFTableCell cell : cells) { parseAllParagraphic(cell.getParagraphs(), map); } }
private void parseThisRow(List<XWPFTableCell> cells, Map<String, Object> map) throws Exception { for (XWPFTableCell cell : cells) { parseAllParagraphic(cell.getParagraphs(), map); } }
private void parseThisRow(List<XWPFTableCell> cells, Map<String, Object> map) throws Exception { for (XWPFTableCell cell : cells) { parseAllParagraphic(cell.getParagraphs(), map); } }
List<XWPFParagraph> paras=tableCell.getParagraphs(); XWPFParagraph para=null; if(paras!=null && paras.size()>0){
public static void printDescriptionOfImagesInCell(XWPFTableCell cell) { List<XWPFParagraph> paragrahs = cell.getParagraphs(); for (XWPFParagraph paragraph : paragraphs) { List<XWPFRun> runs = paragraph.getRuns(); for (XWPFRun run : runs) { List<XWPFPicture> pictures = run.getEmbeddedPictures(); for (XWPFPicture picture : pictures) { //Do anything you want with the picture: System.out.println("Picture: " + picture.getDescription()); } } } }
@Override public void onTable(Object t) { XWPFTable table = ((XWPFTable) t); for (XWPFTableRow xwpfTableRow : table.getRows()) { for (XWPFTableCell xwpfTableCell : xwpfTableRow.getTableCells()) { StringBuilder builder = new StringBuilder(); for (XWPFParagraph xwpfParagraph : xwpfTableCell.getParagraphs()) { String text = getParagraphText(xwpfParagraph); builder.append(text); } readLine(builder.toString()); } } }
@Override public void onTable(Object t) { XWPFTable table = ((XWPFTable) t); for (XWPFTableRow xwpfTableRow : table.getRows()) { for (XWPFTableCell xwpfTableCell : xwpfTableRow.getTableCells()) { StringBuilder builder = new StringBuilder(); for (XWPFParagraph xwpfParagraph : xwpfTableCell.getParagraphs()) { String text = getParagraphText(xwpfParagraph); builder.append(text); } readLine(builder.toString()); } } }
private void procParaList(XWPFTableCell cell){ List<XWPFParagraph> paragraphList = cell.getParagraphs(); for(XWPFParagraph paragraph : paragraphList){ //得到段落中的标签标记 List<CTBookmark> bookmarkList = paragraph.getCTP().getBookmarkStartList(); for (CTBookmark bookmark : bookmarkList ) { this.bookmarks.put(bookmark.getName(), new BookMark(bookmark, paragraph, cell)); } } } /**
private void handleBookmarkedCells(String bookmarkValue, int where) { List<XWPFParagraph> paraList = null; List<XWPFRun> runs = null; XWPFParagraph para = null; XWPFRun readRun = null; // Get a list if paragraphs from the table cell and remove any and all. paraList = this._tableCell.getParagraphs(); for(int i = 0; i < paraList.size(); i++) { this._tableCell.removeParagraph(i); } para = this._tableCell.addParagraph(); para.createRun().setText(bookmarkValue); } }
private void replaceInTable(XWPFDocument document, String searchText, String replacement) { for (XWPFTable tbl : document.getTables()) { for (XWPFTableRow row : tbl.getRows()) { for (XWPFTableCell cell : row.getTableCells()) { for (XWPFParagraph paragraph : cell.getParagraphs()) { replaceInParagraph(paragraph, searchText, replacement); } } } } }
@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); } } } }
@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); } } } }
private void replaceSumDataInTable(final XWPFTable posTbl, final RechnungDO invoice) { Map<String, String> map = new HashMap<>(); map.put("Zwischensumme", formatBigDecimal(invoice.getNetSum())); map.put("MwSt", formatBigDecimal(invoice.getVatAmountSum())); map.put("Gesamtbetrag", formatBigDecimal(invoice.getGrossSum())); int tableRowSize = posTbl.getRows().size(); for (int startSumRow = tableRowSize - 2; startSumRow < tableRowSize; startSumRow++) { for (XWPFTableCell cell : posTbl.getRow(startSumRow).getTableCells()) { for (XWPFParagraph cellParagraph : cell.getParagraphs()) { replaceInParagraph(cellParagraph, map); } } } }
private void replacePosDataInTable(final XWPFTable posTbl, final RechnungDO invoice) { int rowCount = 1; for (RechnungsPositionDO position : invoice.getPositionen()) { String identifier = "{" + position.getNumber() + "}"; Map<String, String> map = new HashMap<>(); map.put(identifier + "Posnummer", String.valueOf(position.getNumber())); map.put(identifier + "Text", position.getText()); map.put(identifier + "Leistungszeitraum", getPeriodOfPerformance(position, invoice)); map.put(identifier + "Menge", formatBigDecimal(position.getMenge())); map.put(identifier + "Einzelpreis", formatBigDecimal(position.getEinzelNetto())); map.put(identifier + "Betrag", formatBigDecimal(position.getNetSum())); for (XWPFTableCell cell : posTbl.getRow(rowCount).getTableCells()) { for (XWPFParagraph cellParagraph : cell.getParagraphs()) { replaceInParagraph(cellParagraph, map); } } rowCount++; } }
/** * 渲染一列单元格操作 * * @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)); }
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); } } } } } } }
/** * 渲染一列单元格操作 * * @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)); }