JSA跨组件应用——用excel数据批量生成word报告
数据从Excel到Word的传输是日常办公中极为常见的任务,x64版本(或最新版的x32)的WPS办公软件中,新增的跨文件类型通讯能力,终于让我们能够在此场景下实现自动化办公的解决方案。这将大大提升我们的办公(摸鱼)效率,具体效果参见文末的动图,或下载附件进行尝试(需要安装x64或最新版本的x32):
实现的核心是CreateObject函数,它使得在Word、Excel、PPT三大组件之间可以相互用自身的JS宏控制另一方,进而可以实现excel中的数据通过宏写入word、ppt(反之亦然)。
点击这里下载示例文件,其中提供了这一功能的简单演示,我们可以利用占位符来创建Word模板(尽管这里以占位符为例,因其制作简便,但实际上并不推荐使用占位符,因为它存在一些缺陷)。在批量处理数据时,这些占位符可以从Excel中自动获取并替换为相应的数据。无论是简单的文本、数字,还是复杂的表格区域甚至图表,都可以轻松准确地写入到Word中的指定位置。以此为基础我们可以自由发挥,拓展应用于多种文档自动生成的工作场景。
然而,值得注意的是,目前的跨组件通讯功能还存在一些已知的问题和bug。例如,在特定情况下,从Excel调用Word的粘贴动作可能会导致进程崩溃(因此本示例使用word宏调用Excel)。尽管这些问题可能会给部分用户带来困扰,但通常可以通过寻找替代方法来解决,并不会对整体的使用体验造成太大的影响。
图1 自动生成的过程
图2 生成的文档结果
创作者俱乐部成员