当前位置: 首页 > news >正文

【JAVA poi-tl-ext 富文本转word】

富文本转word

  • 环境
  • 使用poi-tl-ext的原因
  • 富文本转word代码

环境

  • jdk 1.8
<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>&nbsp;</p>\n" +"<p><span style=\"font-size: 14pt;\">&nbsp; &nbsp; &nbsp; &nbsp;<span style=\"color: #ba372a;\">为进一步规范公司安全宣传和教育培训工作,不断提高公司员工安全生产意识和安全素质,增强安全生产法制观念,有力推动公司安全生产基础建设、安全生产诚信建设、安全生产标准化建设和企业安全文化建设,确保今年的安全生产目标指标的实现,特制定本计划如下:</span></span></p>
  • 导出内容如下
    在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • GuLi商城-商品服务-API-品牌管理-JSR303自定义校验注解
  • 【JVM实战篇】内存调优:内存问题诊断+案例实战
  • 微调 Florence-2 - 微软的尖端视觉语言模型
  • 6.Dockerfile及Dockerfile常用指令
  • Windows与Ubuntu安装ffmpeg
  • 【Linux】调试器 gdb使用
  • 各个系统配置端口转发
  • [Labview] 表格单元格外边框 二维图片叠加绘图
  • 新手小白的pytorch学习第五弹-----pytorch的工作流
  • STM32智能交通监测系统教程
  • Docker存储目录问题,如何修改Docker默认存储位置?(Docker存储路径、Docker存储空间)etc/docker/daemon.json
  • PCIe驱动开发(3)— 驱动设备文件的创建与操作
  • 安装adb和常用命令
  • QT--控件篇四
  • php基础: 三角形
  • #Java异常处理
  • 【node学习】协程
  • Angularjs之国际化
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • css选择器
  • ES6系统学习----从Apollo Client看解构赋值
  • MySQL几个简单SQL的优化
  • Python学习之路13-记分
  • scrapy学习之路4(itemloder的使用)
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • 阿里云购买磁盘后挂载
  • 仿天猫超市收藏抛物线动画工具库
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 算法系列——算法入门之递归分而治之思想的实现
  • 写代码的正确姿势
  • 用quicker-worker.js轻松跑一个大数据遍历
  • linux 淘宝开源监控工具tsar
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • ​MySQL主从复制一致性检测
  • ###C语言程序设计-----C语言学习(6)#
  • #Datawhale AI夏令营第4期#AIGC方向 文生图 Task2
  • #Datawhale AI夏令营第4期#AIGC文生图方向复盘
  • #if 1...#endif
  • #if和#ifdef区别
  • #QT(一种朴素的计算器实现方法)
  • (13):Silverlight 2 数据与通信之WebRequest
  • (java)关于Thread的挂起和恢复
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (WSI分类)WSI分类文献小综述 2024
  • (二)JAVA使用POI操作excel
  • (二)Kafka离线安装 - Zookeeper下载及安装
  • (附源码)php新闻发布平台 毕业设计 141646
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (力扣)循环队列的实现与详解(C语言)
  • (七)glDrawArry绘制
  • (文章复现)基于主从博弈的售电商多元零售套餐设计与多级市场购电策略
  • (译) 函数式 JS #1:简介
  • (转)Linq学习笔记
  • (转)项目管理杂谈-我所期望的新人