//替换表格的内容
/** * 替换表格中的指定文字 */ List<XWPFTable> tables = document.getTables(); for (XWPFTable table : tables) { List<XWPFTableRow> rows = table.getRows(); for (XWPFTableRow row : rows) { List<XWPFTableCell> cells = row.getTableCells(); for (XWPFTableCell cell : cells) { String text = cell.getText(); if(text!=null){
for(Map.Entry<String, Object> entry:map.entrySet()){ String key = "${"+entry.getKey()+"}"; String value = entry.getValue()!=null?entry.getValue().toString():""; //此处用\n进行换行 if(text.equals(key)){ if(value.indexOf("\n")!=-1){ //删除原单元格值 cell.removeParagraph(0); //上面删除,此处新添加一个 XWPFParagraph xwpfParagraph1 = cell.addParagraph(); //如果是在原来的基础上进行拼接则用如下,并循环这个list即可 //List<XWPFParagraph> paragraphs1 = cell.getParagraphs();
String[] split = value.split("\n");
// xwpfParagraph.setAlignment(ParagraphAlignment.LEFT);//需要设置,否则中文换行会很生硬很难看
for (String s : split) {
XWPFRun run = xwpfParagraph1.createRun();//对某个段落设置格式
run.setText(s.trim());
run.addBreak();//换行
}
}else {
//删除原单元格值
cell.removeParagraph(0);
//设置新单元格的值
cell.setText(value);
} } } } } } }