poi-java导出word的表格中换行


//替换表格的内容

/**
 * 替换表格中的指定文字
 */
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);
  
             }

               }
            }
         }
      }

   }
}

猜你喜欢

转载自blog.csdn.net/my_interface/article/details/87921898