word文档表格列内部换行问题

        XWPFTableCell cell = cellList.get(c);
        String value = cell.getText();
        String[] values = value.split("\r\n");
        XWPFParagraph paragraph = new XWPFParagraph(cell.getCTTc().addNewP(),cell);
        if(values.length > 1){
            for (int i =0;i < values.length;i++) {
                //存在分段则新建一个run
                XWPFRun newRun = paragraph.createRun();
                newRun.setText(values[i].trim());
                if(i != (values.length -1)){
                    newRun.addBreak();
                }
            }
        }else{
            XWPFRun newRun = paragraph.createRun();
            newRun.setText(value);
        
        }

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将Java中的数据导出为Word表格并设置换行,可以使用Apache POI库来实现。具体步骤如下: 1. 创建表格并设置数和行数 ``` XWPFTable table = document.createTable(rowCount, colCount); ``` 2. 遍历表格并设置单元格内容和样式 ``` for (int i = 0; i < rowCount; i++) { XWPFTableRow row = table.getRow(i); for (int j = 0; j < colCount; j++) { XWPFTableCell cell = row.getCell(j); // 设置单元格内容 cell.setText(data[i][j]); // 设置单元格样式 XWPFParagraph p = cell.getParagraphs().get(0); XWPFRun r = p.createRun(); r.setText(data[i][j]); r.addCarriageReturn(); // 设置换行 } } ``` 其中,`data`是要导出的数据数组。 3. 导出Word文档 ``` FileOutputStream out = new FileOutputStream("output.docx"); document.write(out); out.close(); document.close(); ``` 完整代码示例: ``` import java.io.FileOutputStream; import org.apache.poi.xwpf.usermodel.*; public class ExportWord { public static void main(String[] args) throws Exception { String[][] data = {{"A1", "B1", "C1"}, {"A2", "B2", "C2"}, {"A3", "B3", "C3"}}; int rowCount = data.length; int colCount = data[0].length; XWPFDocument document = new XWPFDocument(); XWPFTable table = document.createTable(rowCount, colCount); for (int i = 0; i < rowCount; i++) { XWPFTableRow row = table.getRow(i); for (int j = 0; j < colCount; j++) { XWPFTableCell cell = row.getCell(j); // 设置单元格内容 cell.setText(data[i][j]); // 设置单元格样式 XWPFParagraph p = cell.getParagraphs().get(0); XWPFRun r = p.createRun(); r.setText(data[i][j]); r.addCarriageReturn(); // 设置换行 } } FileOutputStream out = new FileOutputStream("output.docx"); document.write(out); out.close(); document.close(); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值