背景是这样的,使用钉钉宜搭重构了公司的LIMS系统,过程中遇到了在线合同生成的需求,原来LIMS系统是用springboot开发的,这个功能使用了插值导出word文档的方式解决了。本来以为使用低代码的打印模板会更简单,谁知道宜搭竟然这么水,打印模板连页眉都没办法设置就算用付费版本的打印模板,页眉也只能设置文字,而无法设置图片的形式,刚好公司的合同模板页眉是图片形式的(后续验证了简道云和氚云,人家都可以,说宜搭这块水真的不过分)。没办法,只好想其他方案解决。然后就发现流程表单有个插件,word模板。
研究下,发现就是通过获取表单内容,通过模板插值的方式导出word文档。太好了,看来宜搭还没那么水,心里开始为它平反了下。但还没高兴多久,发现这特么没法插入子表。真的狗了,这特么啥都有,但啥都不行呀。实在没办法,只好祭出大招,写代码来实现。还好最近招了个前端开发,就是为了应付这种特殊情况的发生。
整体方案也很不难,就是通过前端插值实现word文档导出。流程就是先前端获取保存在宜搭表单中的word文档模板,当然模板已经用特殊符号完成占位了,然后在通过接口读取该模板至前端,然后通过 docxtemplater、pizzip、oss等插件进行解析、插值和保存至oss即可,然后再生成对应的下载链接,最后通过一些奇淫巧计实现数据管理页的下载功能。