POi简介
POi简介
-
POI,全称Apache POI,使用Java编写的免费开源的跨平台的Java API。 是创建和维护操作各种符合 Office Open XML(OOXML)标准和微软的 OLE 2 复合文档格式(OLE2)的 Java API。用它可以使用 Java 读取和创建, 修改 MS Excel 文件. 而且, 还可以使用 Java 读取和创建 MS Word 和 MSPowerPoint 文件。
-
excel和word导出均用到poi
-
excel导出使用到ExcelWriter类和PoiUtil类
-
word导出时普通文本和列表导出使用POI本身,但图表导出时需引入插件poi-tl。
引入依赖如下:
<dependency>
<groupId>com.deepoove</groupId>
<artifactId>poi-tl</artifactId>
<version>1.9.0-beta</version>
</dependency>
此依赖版本对应poi版本为poi:4.1.2
-
word导出为doc格式时,设计好doc模板后,须把模板转换成xml格式文件
-
poi-tl只支持docx格式文件的导出,当模板当中有图表时,不能由xml文件转换为docx模板,会引起图表无法替换,因此模板只能是docx文件,不能由xml文件转。
-
poi模板文本替换格式为${}.列表替换格式为${.*} //word和excel格式一样
-
poi-tl模板图表格式为{{*}}
-
当某个字段无法替换时,解决方案由以下两种:
(1) 把模板转为xml格式,在xml文件中查找无法替换的字段是否被分割开了,把xml文件中被分割开的字段重新连接起来(字符之间的冗余部分删除),再把xml文件转回原来格式。 //注意:此处可能会与第6条冲突
(2)把无法替换的文本删除,按从左到右的顺序重新输入,中间不能有其他操作!