本文旨在描述基于变量替换生成Word doc文件的换行方式。Word换行主要有两大类,一类是表格单元格文本的换行,另一类是表格之外的文本的换行。对于表格外的文本我们可以使用“\r”或者“(char)11”来换行,然而对于表格内的文本我们只能使用“(char)11”来进行换行操作。

下面来看一个示例,我们有如下这样一个word文件作为模板。

其中param1和param2是在表格之内的,而param3和param4是在表格之外的,之后我们分别对param1和param3使用“\r”换行,而param2和param4用“(char)11”来换行,程序代码如下所示:

Java代码  
  1. @Test
  2. public void newLine() throws Exception {
  3. String templatePath = "D:\\word\\newLine.doc";
  4. InputStream is = new FileInputStream(templatePath);
  5. HWPFDocument doc = new HWPFDocument(is);
  6. Range range = doc.getRange();
  7. //在表格内使用“\r”是不能换行的
  8. range.replaceText("${param1}", "参数1的内容\r换行");
  9. //(char)11就代表一个换行符可以用在表格中
  10. range.replaceText("${param2}", "参数2的内容"+(char)11+"换行");
  11. //非表格内使用“\r”是可以换行的
  12. range.replaceText("${param3}", "参数3的内容\r换行");
  13. //非表格内使用“(char)11”也是可以换行的
  14. range.replaceText("${param4}", "参数4的内容"+(char)11+"换行");
  15. OutputStream os = new FileOutputStream("D:\\word\\newLine2.doc");
  16. doc.write(os);
  17. this.closeStream(os);
  18. this.closeStream(is);
  19. }

程序运行之后,生成的文件newLine2的内容如下所示:

我们可以看到表格内的param1使用“\r”没有换行,而表格内的参数使用“(char)11”则换行了;表格外的参数param3使用“\r”换行了,而表格外的参数param4使用“(char)11”也换行了。

转载于:https://www.cnblogs.com/telwanggs/p/4933068.html

POI写Word换行相关推荐

  1. POI 写word,添加标题,表格,图片,自动生成目录,合并单元格

    工程地址:https://github.com/zheng-chang-wei/word package com.example.demo1.poi;import org.apache.poi.xwp ...

  2. POI操作word 换行

    关于POIword换行问题,网上好多都是C+V的用起来各种报错,,其实很简单 只要使用addCarriageReturn()硬回车 addBreak()软回车即可 this.para.insertNe ...

  3. java poi 写word word 合并行 word合并列

    一.替换模板内容 咱们那先看效果: 左边模板右边输出的文件: 下面贴源码: package com.hidata.tool;import java.io.File; import java.io.Fi ...

  4. poi导出word:包括**普通的段落以及表格**。常用的**api**已经以注释的方式写了进去。

    poi导出word:包括普通的段落以及表格.常用的api已经以注释的方式写了进去. 代码如下: /* * @(#)WordExport.java * Copyright (c) * All right ...

  5. POI导出word中cell单元格内换行问题

    利用POI导出word时,换行符"\r\n"无法被正常识别,利用以下方式进行了word中cell单元格内的换行问题. 首先在需要换行字符串的对应位置处插入相应标记符,然后在设置wo ...

  6. POI word 换行

    近日使用Java+poi生成word文件,其中表格里的字段换行显示更美观,一开始是根据经验觉得使用String字符串的换行符就可以现了,可是生成的word并没有照我想的那样换行.然后百度了不少文章,试 ...

  7. 关于Apache / poi 生成word文档之后不能正常换行的问题

    近期公司项目有个把文本转成word文档的功能,开始使用io操作输出文件的方式(后缀名是docx),使用手机自带的文档浏览工具打开是没有问题的,但是在电脑上用微软office就打开有问题了,于是找了三方 ...

  8. POI对Word操作参考

    一,网上的API讲解 其实POI的生成Word文档的规则就是先把获取到的数据转成xml格式的数据,然后通过xpath解析表单式的应用取值,判断等等,然后在把取到的值放到word文档中,最后在输出来. ...

  9. 报表技术2(百万数据导入导出,POI操作word)

    POI模板导出,操作word 导出用户详情数据(图片,公式处理) 使用模板导出用户详细信息 使用模板引擎 1.编写模板引擎 2.使用模板引擎 百万数据导出 代码实现: 百万数据导入 步骤分析: 1.自 ...

最新文章

  1. 史上最全SQL优化方案(一)
  2. Java中ArrayList remove会遇到的坑
  3. slack 国内 android,使用Slack Api登录,Android
  4. Acwing第 24 场周赛【完结】
  5. mac搜索服务器文件,ProFind——文件搜索神器
  6. 安川g7变频器说明书_安川机器人故障维修合集
  7. 字符串:凯撒密码(洛谷P1914)
  8. Json、Gson、Jackson
  9. vector与array之间转换,向量与数据之间转换
  10. Cocos Creator JS 获取当前日期与时间
  11. hive表存储格式的转化
  12. 人只会听到他想听的话——与领导甲的一次谈话
  13. Redis面试宝典12道法
  14. Verilog语言注意事项——always
  15. C#,桌面游戏编程,编写制作《扫雷》游戏代码的准备知识——世界排名规则
  16. SQL Developer | MySQL
  17. electron 打包后找不到module问题
  18. subprocess模块详解
  19. Qt-绘制圆饼图等-转摘
  20. Aisen新浪微博客户端项目源码

热门文章

  1. 怎么更改wifi频段_手机wifi延迟高怎么办
  2. (44)VHDL实现多路复用器(if-else)
  3. (31)FPGA原语设计(IBUFG)
  4. (29)FPGA原语设计(差分时钟转单端时钟)
  5. (44)Verilog HDL 计数器设计
  6. 口译比赛用计算机,[079][连载]口译与生活:一枚计算机系在校生在口译路上的摸爬滚打(15)...
  7. 14. GD32F103C8T6入门教程-Systick定时器
  8. STM32F103_DDWG窗口看门狗
  9. STC51-1602、12232、12864液晶
  10. struct sk_buff与struct socket及struct sock 结构体分析