POI写Word换行

简介: POI写Word换行            本文旨在描述基于变量替换生成Word doc文件的换行方式。Word换行主要有两大类,一类是表格单元格文本的换行,另一类是表格之外的文本的换行。

POIWord换行

 

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

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




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

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

 

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



 

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

 

 (注:本文是基于poi3.9所写)

目录
相关文章
|
8月前
|
Java
【java】poi 设置允许西文在单词中间换行
【java】poi 设置允许西文在单词中间换行
【Word】Word公式导出PDF后出现井号括号#()错误
【Word】Word公式导出PDF后出现井号括号#()错误
226 0
|
Java Linux
POI 生成word 转 pdf
根据业务需要 需要出一份 PDF 文件 作为 公告的附件使用 PDF文件中 需要有 各种数据作为展示 是动态生成的
2597 0
POI  生成word 转 pdf
|
Linux Windows
aspose将word转pdf时乱码,或者出现小方框问题
aspose将word转pdf时乱码,或者出现小方框问题
1152 0
aspose将word转pdf时乱码,或者出现小方框问题
|
Web App开发 XML Java
通过freemarker生成一个word,解决生成的word用wps打开有问题的问题,解决出word时中文文件名乱码问题,解决打开出word时打开的word出现问题的问题,出图片,解决动态列表
 通过freemarker制作word比较简单 步骤:制作word模板。制作方式是:将模板word保存成为xml----在xml的word模板中添加相应的标记----将xml的word文件的后缀名改成ftl文件(要注意的是生成xml格式要是2003格式的xml,也就是说拿到的word模板得是2003格式的,否则用wps打开word将会出现问题)   详细步骤如下: 模板制作(将要动态显示的
4664 0
|
前端开发 容器
单词太长导致自动换行,出现空白区域。——word-wrap和word-break
写在前面: 在写页面的时候,偶尔有时会遇到下图这两种情况,一种是单词过长时会溢出div,一种是直接换行,导致出现空白区域。这两个情景就需要word-wrap、word-break这两个属性出场来解决了。闲话不扯了,本文主要内容有:word-wrap和word-break属性介绍,使用方法,他们之间的区别,浏览器兼容性,demo链接。需要的朋友可以过来参考下,喜欢的可以点个赞,希望能对大家有所帮助。 应用场景:
894 0
单词太长导致自动换行,出现空白区域。——word-wrap和word-break
NPOI处理Word文本中上下角标
原文:NPOI处理Word文本中上下角标 读取Word文档,并将文本转成html标签,后面发现,经常有带上下角标的内容,于是一并处理了。 核心在于对XWPFRun对象中Subscript属性的处理。 1 /// 2 /// 读取Word,并识别文本中的...
1054 0