富文本转word
环境 使用poi-tl-ext的原因 富文本转word代码
环境
< dependency>
< groupId> io.github.draco1023 < /groupId>
< artifactId> poi-tl-ext< /artifactId>
< version> 0.4 .16 < /version>
< /dependency>
poi-tl-ext已经包含了poi,poi-tl等jar包,所以无需重复导入 poi-tl文档链接 poi-tl-ext github链接
使用poi-tl-ext的原因
对比poi原生来说简单方便操作 对比收费软件来说,开源免费,而且效果也很牛
富文本转word代码
public class RichTextParser {
public static void parseToDocx( String content, FileOutputStream fileOutputStream) throws IOException {
HtmlRenderPolicy htmlRenderPolicy = new HtmlRenderPolicy( ) ;
Configure configure = Configure.builder( )
.bind( "key" , htmlRenderPolicy)
.build( ) ;
Map< String, Object> data = new HashMap<> ( ) ;
data.put( "key" , content) ;
XWPFTemplate.compile( "D://input.docx" , configure) .render( data) .writeAndClose( fileOutputStream) ;
}
}
content 富文本内容 fileOutputStream 输出流,例如输出到本地磁盘D://2.docx上面 D://input.docx 是一个模板docx key 是用来绑定富文本内容(可以任意起名字只要能和代码模板对应即可),由于我需要导出的富文本内容是随机且不定格式,所以使用一个key包裹即可 HtmlRenderPolicy 就是poi-tl-ext中富文本导出为word的操作插件,这里需要吹捧一下作者,真的好牛 poi-tl 还存在各种其他插件,例如表格插件等,适用于各种导出word的操作,还可以自定义插件,也是牛的 富文本部分内容如下
<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">< strong> xxx年度安全生产教育培训工作计划</ strong> </ span> </ p> \n" +
"<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\"><span style=\"font-size: 10pt; color: #e67e23;\">(模板,可上传企业自有制度或修改模板)</ span> </ span> </ p> \n" +
"< p> </ p> \n" +
"< p> <span style=\"font-size: 14pt;\"> <span style=\"color: #ba372a;\">为进一步规范公司安全宣传和教育培训工作,不断提高公司员工安全生产意识和安全素质,增强安全生产法制观念,有力推动公司安全生产基础建设、安全生产诚信建设、安全生产标准化建设和企业安全文化建设,确保今年的安全生产目标指标的实现,特制定本计划如下:</ span> </ span> </ p>
导出内容如下