poi4版本处理word里表格中的文字换行问题和设置字体样式

    开发中遇到生成word文档的需求,其中里面存在表格,发现表格中一旦存在换行生成的模板就出现各种问题,反正就是出不来想要的结果。网上找了一些方法基本都不好用,最后找到一个靠谱点的方法

1
2
3
XWPFParagraph pIO =cell.addParagraph();
XWPFRun rIO = pIO.createRun();
rIO.addBreak();//增加一个换行。

 这个addBreak()增加换行也不能直接完美解决换行的问题,还需要进一步变通一下。将需要换行的地方搞一个\n,让后split("\\\\n"),遇到\n就替换成addBreak();这样就实现了表格中的换行符。 注:\n只是一个特殊标识符可以用任何字符替代。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
XWPFParagraph pIO =cell.addParagraph();
XWPFRun rIO = pIO.createRun();
rIO.setFontFamily("楷体");
rIO.setFontSize(9);
rIO.setText(tempText.trim());
if (tempText.contains("\\n")) {
   String[] lines = tempText.split("\\\\n");
   rIO.setText(lines[0], 0);
   for(int m=1;m<lines.length;m++){
        // add break and insert new text
        rIO.addBreak();
        rIO.setText(lines[m]);
    }
} else {
   rIO.setText(tempText, 0);
}

 

资源丰富的的网盘资源:网盘资源大全! 推荐一个适合零基础学习SQL的网站:不用安装数据库,在线轻松学习SQL!
posted @   万笑佛  阅读(1251)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示