前言
一开始客户要求做word导出时,只是将系统的一个表单内容导出到word中,没有富文本的数据。这种情况导出word就很简单,制作好word模板后,直接使用easypoi的api就行。后来表单的一个文本框改为了富文本,同时也要求导出的时候呈现的格式和富文本中输入的格式一样。这时候easypoi就行不通了,搜索了网上资料以及结合自己的项目要求做了一下总结。
技术点剖析
- 由于富文本存入数据库的字符串是带有html元素标签的,所以使用doc为文件为导出模板是不行的,它无法将这种字符串翻译成html的形式,只会展示出带有html标签的字符,所以需要重新构建模板文件使得它能支持html文本
- 富文本如果含有图片,需要进行额外的处理
- 不能使用easypoi的api,涉及到中文字符的转码需要自行处理
解决方案
创建新的模板
这里使用.mht类型的文件作为模板文件,制作的方法如下:
- 首先先制作一个doc类型的模板文件,设计好表单的样式,填入占位符
- 调整好格式后,将doc文件另存为.mht文件
- 可以使用notepad++打开.mht文件,虽然