POI操作word 换行
来源:互联网 发布:网络教育本科是全日制 编辑:程序博客网 时间:2024/06/02 19:28
关于POIword换行问题,网上好多都是C+V的用起来各种报错,,其实很简单 只要使用addCarriageReturn()硬回车 addBreak()软回车即可
this.para.insertNewRun(i).setText("换行换行"); this.para.insertNewRun(i).addCarriageReturn();//硬回车this.para.insertNewRun(i).addBreak();//软回车this.para.insertNewRun(i).setText(runText);
只不过这里这个换行感觉是相反的,,出来的结果是(
runText<换行符>换行换行
/** * 替换变量 * @param para 要替换的段落 * @param params 参数 */ private void replaceInPara(XWPFParagraph para, Map<String, Object> params) { List<XWPFRun> runs; Matcher matcher; if (matcher(para.getParagraphText()).find()) { runs = para.getRuns(); for (int i=0; i<runs.size(); i++) { XWPFRun run = runs.get(i); String runText = run.toString(); matcher = matcher(runText); if (matcher.find()) { while ((matcher = this.matcher(runText)).find()) { runText = matcher.replaceFirst(String.valueOf(params.get(matcher.group(1)))); } //直接调用XWPFRun的setText()方法设置文本时,在底层会重新创建一个XWPFRun,把文本附加在当前文本后面, //所以我们不能直接设值,需要先删除当前run,然后再自己手动插入一个新的run。 System.out.println(runText); if(runText.indexOf("\n")>-1) { String[] text = runText.split("\n"); this.para.removeRun(i); for(int f=text.length-1;f>=0;f--) { System.out.println(f); this.para.insertNewRun(i).setText(text[f]); if(f!=0) { this.para.insertNewRun(i).addCarriageReturn();//硬回车 } } }else { this.para.removeRun(i); this.para.insertNewRun(i).setText(runText); } } } } }
一如既往地写代码留备用
阅读全文
0 0
- POI操作word 换行
- POI写Word换行
- POI写Word换行
- POI操作Excel换行
- POI操作WORD
- poi操作word文档
- poi操作WORD文档
- POI操作WORD
- POI 操作word excel
- POI操作WORD分页
- poi操作word
- poi操作word
- POI操作Word
- POI 操作word
- C#操作WORD换行
- POI 导出word时不能换行解决
- poi读取word的换行符问题
- poi导出word 表格 单元格内换行
- 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- init进程与zygote进程
- php安装扩展的几种方法
- Oracle 学习(五)---分页查询
- css轮廓设置
- POI操作word 换行
- HTC Viive实现拧螺丝效果
- v6_pcie_ug517
- C#基础4_数组、方法
- 函数:按引用传递函数参数进行操作
- 集合 List、Set、Map 的区别和实现原理
- volatile和ThreadLocal的理解
- MySQL8.03 RC 已发布
- DENIED Redis is running in protected mode because protected mode is enabled, no bind address was spe