最近在做一个智能写作系统,主要是一个后台和一个web端,客户想要智能一些的功能,比如智能语音识别,智能一键纠错等,但是奈何预算有限,那么智能写作系统就变成了半智能写作系统,俗称智障写作系统,哈哈
但是还有有一些相对没有接触过功能点的, 其中涉及到word的导入导出功能,
- 导入Word文档
要导入Word文档,需要使用Java中的Apache POI库。因为本次导入不仅仅是导入模板,还需要导入之后进行写作模板的新增,所以这个接口在导入的时候,还需要传一个对象,那就不能像之前只传一个对象的时候,使用@RequestBody注解,进行接收前端传过来的参数,所以对这个接口进行了改造:
那么传值也不能像之前一样了,对象的参数需要平铺。类似这种:
实际上,我这里不是简单的导入,因为是写作系统,那么客户需要保持导入的word中的格式,能够让下次需要使用这个模板的时候,能直接使用之前导入的这个word的格式,直接进行修改就可以了
使用以上代码,您可以获取文档内容,包括文本以及文本的样式。我这里返回的是一个string,但是这个string不是纯文本,而是带有html格式的文本,这样下次在使用这个模板的时候,前端接收到数据,可以直接渲染到富文本编辑器,且保留格式,当然这是资讯过前端大佬之后,大佬给出的说法,具体实现还需要前端下一下功夫。
这里贴出的只有导入docx格式的word,下面贴一个导入doc格式的版本(网上很多都是只有docx版本的,哥就要与众不同,嘿嘿)
- 导出Word文档
下面说一下导出word,要导出Word文档,需要使用Java中的Apache POI库。导出和导入的时候需求一样,都是需要把格式保留下来,一起导入到word文档中,废话不多说,直接上代码
至此,一个对于格式有需求的word文档的导入导出就完成了,主要是记录一下,刚开始刚接触没有思路,写完之后回看也不算难,也当作是给初学者的一点参考吧。