省流:
表格外的文本,使用“\r”或者“(char)11”来换行,建议用"\r"。
表格内的文本,使用“(char)11”来换行。
正文:
测试用word文档:
t1.doc内容如下:
t2.doc内容如下:
关于换行符:
常用的是LF和CR,即 char(10) 和 char(13)
ASCII(10进制) | 缩写/字符 | 解释 |
10 | LF/NL(line feed,new line) | 换行/新行 |
11 | VT(vertical tab) | 竖直制表符 |
13 | CR(carriage return) | 回车 |
java代码:
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.usermodel.Range;
import org.junit.Test;
import java.io.*;
public class T1 {
@Test
public void newLine() throws Exception {
String templatePath = "D:\\t1.doc";
try (InputStream is = new FileInputStream(templatePath);
OutputStream os = new FileOutputStream("D:\\t2.doc");
){
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+"换行");
doc.write(os);
} catch (IOException e) {
e.printStackTrace();
}
}
}
poi的maven依赖
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>4.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>4.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>ooxml-schemas</artifactId>
<version>1.4</version>
</dependency>
参考:
POI写Word换行
POI使用详解(Maven依赖、常用类介绍)
Ascii(256个) 编码表 完整码表 ASCII编码 ASCII表 ASCII码 二进制 十进制 八进制 十六进制