金山WPS多维表格数据打通方案

方案概况

方案

简述

主要优势

主要限制

server api

通过服务器代码调用多维表API打通系统数据

最灵活的数据打通和转换形式,能满足多种场景

  • 需要开发代码
  • 需要有部署代码的服务器

airscript脚本代码

撰写文件中的 JavaScript 脚本,通过网络访问等函数实现数据连接

不需要自己的服务器,可方便调用表格操作API,通过js代码可完成灵活的业务需求。

  • 代码只能放在文件里,不方便部署和分发
  • 涉及权限,auth授权等机制的时候不方面操作

自动化HTTP请求

通过自动化流程中HTTP指令访问外部url,从而实现对三方平台的调用。

适合已有的、相对逻辑简单的HTTP指令,快速把外部数据引入到多维表。编码能力要求低。

  • 不适合复杂的访问,不支持复杂的授权方式
  • 不支持非json的返回格式。
  • 批量处理数据不友好

自动化webhook指令

webhook触发是自动化流程中的一个指令,通过对外提供的URL地址以接收外部服务发出的请求,触发工作流运行。

适合有一定开发能力,能主动调用多维表的场合。

  • 不支持非json的返回格式
  • 批量处理数据不友好

自动化插件

自动化插件是多维表格自动化能力的扩展,开发者能够凭借插件机制和 API

结合了自定义和用户便捷使用的优点,由企业开发者搭建插件,再由最终用户或者关键用户通过自动化搭建业务流程。

  • 有一定的开发成本
  • 数据场景需求比较集中
  • 需要关键用户会使用自动化能力

数据库同步

直接配置数据库地址,打通多维表格与数据表的连接。

开发成本低,能快速对齐多维表和数据库数据,并实时同步。

  • 只支持数据写入多维表,不支持数据导出
  • 有一定的行数限制

 

同步方式讲解

server api

主要使用场景

通过调用多维表API打通系统数据,能做最灵活的数据打通。需要企业有开发能力,企业可能根据自己的需要,写入、获取、修改多维表数据,并搭建自己的数据转换规则。

主要接口

公网环境:

https://open.wps.cn/previous/docs/dbSheet/api-info#des

私网环境:

https://v7.wpseco.cn/c/manage/docs#/appDocs/yun.open.document/%E6%9C%8D%E5%8A%A1%E7%AB%AFAPI/%E5%A4%9A%E7%BB%B4%E8%A1%A8%E6%A0%BC/%E6%9F%A5%E8%AF%A2%E8%A1%A8%E5%9F%BA%E6%9C%AC%E4%BF%A1%E6%81%AF,部分私网环境可访问)

 

主要能力

1. 获取schema

2. 创建记录

3. 更新记录

4. 删除记录

5. 记录检索

6. 记录列表

7. 创建字段

8. 更新字段

9. 删除字段

10. 创建工作表

11. 更新工作表

12. 删除工作表

13. 创建视图

14. 更新视图

15. 删除视图

16. 列举记录

17. 按页列举记录

18. 查询记录

19. 查询多条记录

20. 上传附件到文件

 

AirScript脚本

功能介绍

详细的 AriScript 使用教程,可以参考文档:https://airsheet.wps.cn/docs/apiV2/overview.html

AirScript 脚本是多维表格的“开发”功能,能够给用户提供撰写 JavaScript 脚本的能力,使多维表格可以通过自定义脚本来实现执行自定义自动化任务的能力。

同时,在完成了AirScript 脚本的编写后,可以在自动化流程中选择已编写好的自动化脚本,作为自动化流程中的一环,来对自动化的能力进行定制化和扩展。

主要使用场景

场景一:通过调用多维表格 API 实现对表格数据的自动操作

AirScript 内置了多维表格大量的 API,可以在脚本中通过对 API 的访问,实现对多维表格数据的增删改查。提供的 API 包括:

  • Sheet 表操作
    • 获取所有表信息
    • 创建新的表
    • 删除表
    • 更新表的名字
  • View 视图操作
    • 获取视图
    • 创建视图
    • 删除视图
    • 修改视图的名字
  • Field 字段操作
    • 获取字段信息
    • 删除字段
    • 修改字段
    • 更新字段
  • Record 行记录操作
    • 获取单条行记录
    • 批量获取行记录
    • 删除行记录
    • 更新行记录
    • 创建行记录
    • 获取上传附件或图片的URL
  • Selection 选区操作
    • 获取当前选中视图
    • 获取当前选中视图
    • 设置选中的视图
    • 获取当前选中表

可以在 AirScript 内通过对这些 API 的调用,在特定的场景中完成对多维表格更复杂的读取,修改和操作,从而实现内置自动化面板未提供的多维表格配置的能力,提升自动化解决问题的范围,对需求使用的场景和范围进行扩展。

场景二:对接三方平台,实现数据互联互通

AirScript 提供一个全局的 HTTP 对象,开发者可通过此对象提供的方法请求外部服务,请求成功后会同步返回服务器的响应。该 API 的使用方式与浏览器内的 fetch()函数基本一致,对于前端开发者来说应该可以很快上手。

在一些需要访问其他来源的数据服务时,通过发送网络请求,实现数据的获取。同时,对于提供了对外接口服务的三方平台,通过网络请求访问三方平台的服务接口,可以实现从三方平台读取以及写入数据的能力。

而将相关访问三方平台的代码写入 AirScript 脚本中,即可在多维表格的自动化流程中,实现自动与三方平台实现数据的读取和写入,从而实现三方平台与多维表格间的数据互联互通,解决特定场景的一些自动化的数据同步需求。

场景三:连接数据库,实现多维表格和数据库的互通

AirScript 提供一个全局的 SQL 对象,开发者可通过此对象提供的属性和方法连接到外部数据库服务,连接成功后即可执行 SQL 语句,对数据进行增删改查。

对于需要在多维表格和外部数据库进行数据同步的场景,就可以使用 AirScript 提供的数据库连接服务,在特定的业务场景中,实现自动从数据库读取数据以及自动写入数据到数据库内的能力,从而为自动化流程解决特定的问题提供扩展能力。

场景四:自动发送邮件

AirScript 提供一个全局的 SMTP 对象,开发者可以通过此对象提供的属性和方法连接到特定的邮箱服务,连接成功后即可实现获取邮件发送者信息以及发送邮件的能力。

在多维表格自动化中,可以通过 AirScript 实现自动连接邮件服务以及发送邮件的功能,再将该功能集成到自动化的流程中,即可实现在需要的场景下自动发送邮件的能力。

场景五:通过云文档API 实现与云文档进行交互

AirScript 提供全局的 KSDrive 对象,通过此对象即可轻松查看、修改、创建和删除您的云文档。

在一些场景中,如果存在多个文档之间的数据互通,以往可能需要通过人工的方式来实现从一个文档中获取数据再写入另一个文档,而在 AirScript 提供了云文档访问 API 的能力后,即可将读写云文档的能力自动集成到 AirScript 中,再将 AirScript 与自动化流程进行结合,就能把之前手动化的操作全面转化为自动化操作,实现工作效率的大幅提升。

使用流程

  1. 创建一个 AirScript脚本

  1. 编写脚本内容并保存

  1. 添加对应的服务

对于使用了内置服务,如 网络 API 的能力时,要在服务选择窗口为脚本添加对应服务的授权:

添加完成后才能使用对应的服务能力。

  1. 调试和运行脚本

在脚本编辑完成后,可以通过运行按钮对脚本进行测试,确认脚本功能可以正常运行。同时,还可以给脚本内增加一些日志输出的内容,通过运行日志面板来查看日志:

  1. 在自动化流程中使用 AirScript 脚本

将对应的脚本在自动化的流程中进行配置,可自动触发脚本的执行:

完成配置后,点击保存并启用,即可开启自动执行 AirScript 的能力。

功能限制

为防止向用户提供恶意的脚本,出于安全性考虑,使用 AirScript 存在一些限制:

  • 过于高频地使用高级服务,当出现这种情况时,脚本的运行会抛出明显的错误通知用户异常调用。
  • 使用HTTP服务时,禁止使用IP地址发起请求,禁止使用端口发起请求。
  • 使用HTTP服务时,收到内容的消息体最大为2M,超过2M会抛出错误。
  • 使用KSDrive.openFile 获得的File对象没有调用close, 就再次使用KSDrive.openFile 会报错。
  • 请控制脚本中执行内容的复杂度,执行内容过于复杂可能会导致调用超时从而引起脚本执行失败。

自动化HTTP请求

功能介绍

发送 HTTP 请求是多维表格自动化流程中的一个指令。搭配自动化流程的设置,可以自动向指定的 URL 发出网络请求,从而实现对三方平台的调用。

目前没有频率/请求次数的限制。

以金山文档开放平台的 API 为例,通过 HTTP 请求你几乎可以调用所有的金山文档的开放 API ,

请求方法

说明

GET

请求指定的页面信息,并返回响应主体。用来检索或获取信息

POST

向指定资源提交数据进行处理(如提交表单、上传文件),数据被包含在请求文本中。用来创建新资源、修改现有资源

详细参数

请求方法

参数名称

说明

GET

请求 URL

HTTP 请求地址,可以手动输入或引用多维表格中已有的链接

查询参数

HTTP 请求中的 Query 参数,以json的形式填入

请求头

HTTP 请求中的 Header 参数,以json的形式填入

响应体

对 HTTP 响应的解析规则,支持 none、Text、2 种规则

POST

请求 URL

HTTP 请求地址,可以手动输入或引用多维表格中已有的链接

查询参数

HTTP 请求中的 Query 参数,以json的形式填入

请求头

HTTP 请求中的 Header 参数,以json的形式填入

请求体

可以传输的请求体类型: none、raw

  • none:没有请求体,此时可不填写请求体
  • raw:支持 JSON 和 Text 两种类型

响应体

对 HTTP 响应的解析规则,支持 none、Text的2种规则

 

主要使用场景

举例:外贸订单实时转换汇率场景

在外贸订单中,通常需要把外币订单金额实时转换为人民币金额,这样是为了准确计算成本,有效规避汇率风险,使得企业利润最大化。

样表:https://365.kdocs.cn/l/cbEmHHvjqo8y(另存表格体验http配置)

在样表中,已有外贸订单基本信息,需要将外贸订单中的订单金额转换为人民币

汇率api:https://apis.baidu.com/store/detail/1b552f71-59a0-44f1-8d3f-f858ec66b3e1

 

使用流程

第一步:选择一个方便的触发方式,修改触发or定时触发都可以

第二步:配置「发送HTTP请求」,配置项具体详情可以看下图

⚠️
1)右边的api配置详情需要点开该页面👉汇率转换api页面,往下滑即可看到api参数
2)请求头(即headers)提到「您的appcode」换成「32af951f396c4ada9aa50a940e700eff」

第三步:将转换后的数据写入表格,可以是新增记录也可以是修改记录

 

所需要内容

【查询参数】
{"from":"第 1 步|原始币种","to":"第 1 步|转换后币种
","amount":"第 1 步|订单金额(原始币种)"}

【请求头】
{"Content-Type":"application/json;charset=UTF-8","X-Bce-Signature":"AppCode/32af951f396c4ada9aa50a940e700eff"}

【返回值】
{
    "status": 0,
    "msg": "ok",
    "result": {
        "from": "CNY",
        "to": "USD",
        "fromname": "人民币",
        "toname": "美元",
        "updatetime": "2015-10-26 16:56:22",
        "rate": "0.1574",
        "camount": "1.574"
    }
}

 

自动化Webhook指令

功能介绍

webhook触发是多维表格自动化流程中的一个指令,在工作流中添加webhook触发,通过对外提供的URL地址以接收外部服务发出的请求,触发工作流运行。

目前webhook触发为「异步网址触发器」,外部事件触发流程开始,流程中产生的参数不会回调给外部。

webhook当前请求频率限制是 20秒内请求 200次

主要使用场景

举例:当有新的外贸订单发生时,在表格新增订单详情记录

样表:https://365.kdocs.cn/l/cjxZI4PyWIHm⚠️ 另存样表体验)

 

使用流程

第一步:选择webhook触发,填写请求体内容(图内仅做示范)

{
  "order_no": "No12234", 
  "currency": "USD", 
  "order_amt": 3333.23
}

 

第二步:新增记录,选择引用内容

第三步:外部服务器触发调试(以postman举例)

 

 

功能参数说明

参数名称

描述

是否必填

默认值

回调地址

对外提供的 URL 地址。该 URL 由系统自动生成,用户不可编辑修改。

⚠️ 支持post/get请求,使用post请求时header中必填Origin:www.kdocs.cn,www.wps.cn (两者选填其一即可)

系统自动生成的 URL 地址

鉴权方式

鉴权方式

  • 无鉴权:不做访问权限校验
  • HTTP Basic Auth:HTTP基本认证,仅携带正确的 Basic Auth 的请求可正常访问

无鉴权

账户名

 

鉴权方式为 HTTP Basic Auth 类型时需配置,外部服务访问时需要提供的鉴权数据信息

密码

鉴权方式为 HTTP Basic Auth 类型时需配置,外部服务访问时需要提供的鉴权数据信息

IP 白名单列表

仅支持公网IP,在 IP 白名单的外部服务可正常访问。多个IP地址间用英文分号分割;如不配置,表示对请求 IP 地址不做限制

 

自动化插件

功能介绍

自动化插件是多维表格自动化能力的扩展,开发者能够凭借插件机制和 API,打造出适用于不同场景的自动化插件,满足各类用户的多样化需求。而用户在安装这些插件后,可以在自动化流程中轻松实现特定功能的定制。

使用自动化插件可以带来以下收益:

  • 满足多元场景需求:丰富了多维表格的自动化功能,能够有效应对更多复杂场景下的数据自动流转需求。
  • 提升数据处理效能:通过插件的定制化流程,极大地扩展数据自动处理的范围和场景,从而进一步提升数据处理的速度和准确性。
  • 简化工作流程:将繁琐的重复性工作集成到自动化插件中,减少了人工操作的环节和错误率。用户无需再进行大量的手动数据输入和处理,工作流程更加简洁高效。
  • 提高工作效率:将更多的数据处理流程集成到自动化插件中,能够在短时间内完成大量的数据处理任务,释放用户的时间和精力,让他们能够专注于更具创造性和价值的工作,从而显著提高整体工作效率。

主要使用场景

自动化插件可以根据用户在不同场景的的诉求提供不同的能力,下面列举了一些场景下自动化插件的使用案例:

场景1: 对接客户的IM工具,在自动化流程中自动发送消息

目前官方已集成了 WPS协作,企业微信,钉钉等几种常用的 IM 工具,并将其发送消息的能力加入到自动化的流程中。但对于正在使用自研IM或其他官方未支持的IM 的用户,想要将 IM 自动发送消息的能力加入自动化流程中,需要官方提供能力进行支持。

有了自动化插件能力后,开发者可以通过开发新的自动化插件,来支持特定的IM工具,从而实现在自动化流程中发送自定义IM群聊消息的能力:

场景2: 调用特定的服务,将数据进一步加工处理

用户使用自动化流程中,有时会存在需求,需要将特定的业务数据根据一些业务规则,转换成其他类型的数据,这里面可能会涉及到一些内部或者外部的网络服务的调用,根据服务返回结果生成新的数据,从而实现对数据进一步加工,满足业务场景诉求。

这里以自动填写员工工号插件为例,当新增一条记录时,自动通过新增记录的名字字段,获取到员工工号,并填写到新增记录的工号字段中,从而提供自动填写员工工号的能力。

场景3:替代手工操作,自动实现全流程自动化

在制造业领域,多维表格常用来进行物料,库存,订单等数据的管理和业务系统的搭建。在生产活动中,经常需要根据多维表格里的数据,生成如合同,审批单,报表等文件,并进行打印。

提供一个自动打印的插件,能够快速生成各类打印文档,将这个流程的手工操作,完成转化成全流程的自动化操作:

以前怎么做

  1. 先打开多维表格
  1. 然后打开word/excel
  1. 找到对应的业务数据,拷贝/黏贴进入文档
  1. 把文档另存为
  1. 然后打印

以后这样做

  1. 安装自动打印插件
  1. 配置自动化流程
  1. 触发流程一键生成文档并自动打印

 

 

过程繁琐耗时,还容易出错

  • 人工拷贝业务数据是一个繁琐而低效的事情
  • 制作新文档可能出错
  • 当要修改新版本的文档,出错概率就更高了
  • 多维表格无法把线上数据和线下数据联通起来

相比以前,几秒钟就完成

  • 自动化流程触发
  • 程序生成文件,大幅度降低出错概率
  • 文档背后的业务数据,和多维表格形成联动

通过自动化的打印插件,轻松实现打印工作,摆脱重复低效的体力劳动,让用户的工作创造更大价值。

当然,自动化插件的使用场景不仅如此,理论上可以抽象成固定模型的流程,开发者进行具体实现后,都能集成到自动化插件中,从满足各场景下的差异化定制需求。

对接流程

  1. 开发自动化插件

开发者通过自动化插件提供的API和代码模板,将业务需求开发成插件的代码,通过明确插件的入参,执行逻辑,以及返回结果,并根据开发文档提供插件的可视化配置界面,来实现插件的功能,让插件具备在自动化流程中成为一个操作选项的能力。

  1. 上传插件并进行发布

开发者完成开发后,通过自动化提供的开发工具,将开发后的产物上传到插件中心,并设置相应的版本和相关说明。当开发者明确插件需要发布后,通过发起审批,来将插件正式展示在插件中心,从而让用户能够进行选择和使用。

  1. 用户安装插件

用户在插件中心挑选符合自己需求的插件,选中后进行安装操作,即可完成自动化插件的安装。插件安装完成后,在自动化流程中,就可以看新的插件选项入口。

  1. 配置自动化流程

用户在安装完自动化插件后,在自动化插件的配置流程中,即可使用插件的能力。

配置完成第一步的触发器后,在第二步以及后续的步骤列表中,可以看到安装的自动化插件的操作入口,点击相应的插件入口,可以在对应的配置界面里完成自动化插件能力的配置和使用。所有自动化流程配置完成后,点击保存和启动,在下一次触发这个配置的自动化流程后,即可体验自动化插件的带来的新的能力。

 

数据同步功能

功能介绍

使用“从数据库同步”功能,可以打通多维表格与数据库的连接。

将 存放在数据库里的业务数据(如订单信息、人员档案等数据),可以同步在多维表格,核心优势有:

  • 数据库内容变动时,多维表格也会同步变动,不用每次手动搬运数据,降低维护成本
  • 利用多维表格的多视图、自动化、仪表盘等优势能力,可以搭建更加灵活的应用与数据看板
  • 在多维表格侧可以严格控制文档、数据表、行列权限,使对接上下游的数据可以安心流转

 

使用流程

功能入口

  • 【权限要求】需要用户具备该多维表格文件的管理权限

 

第一步 添加数据库账号

1. 账号名称

任意填写。

此处用于区分您不同的数据库授权账号,以便于您在下一次添加已授权账号时,可以直接选出对应账号。

例如:连接订单系统的数据库账号,连接企业档案系统的数据库账号等等。

 

2. 地址&端口

数据库的公网地址&端口

 

3. 用户名&密码

可访问数据库数据的用户名&密码,推荐为同步单独新建有受限权限的用户。

 

👋

经过以上步骤“添加完成新的授权账号”后,就可以勾选账号来使用了~

勾选上账号后,就可以进入第二步了。

 

第二步 填写同步细节配置

 

1. 同步的库/表

在下拉列表中,依次选择此次同步想要同步的数据库名、数据表名。

注:为了保证后续数据同步的顺利,请尽量选择有主键的数据表。如果未设置主键,建议在数据库给设置上。

 

2. 同步的字段范围

可以选择同步数据源表的「所有字段」,也可以选择只同步「指定字段」。

注:如果「指定范围内的所有字段」被删除后,将中止同步,需要重新配置条件后方可再次重启同步。

 

3. 同步的记录范围

可以选择同步数据源表的「所有记录」,也可以选择只同步「满足指定条件的记录」。

注:如果任一「设置的指定条件」失效,将中止同步,需要重新确认配置条件后方可再次重启同步。

 

4. 同步时机

有三种同步时机可以选择:

  • 手动同步
  • 每小时自动同步
  • 每天固定时间自动同步

注:即使选了后两个「自动同步」,也同样可以随时在以下入口进行“手动同步”的操作

 

第三步 使用同步表

此时已成功生成一张同步表。

同步表中可以对同步内容进行再编辑,还可以新增自定义字段辅助统计管理,可以搭配仪表盘、自动化、高级权限等功能一起来使用。

 

后续操作:管理同步表

  • 可以重新设置同步的字段范围,记录范围和时机等配置
  • 【权限要求】需要用户具备该多维表格的管理权限

 

功能限制

  • 单次最多同步20000条记录,超过此限制的数据库数据,现无法同步至多维表格中。
  • 现只支持数据同步到多维表,不支持数据回写到数据库
  • 只支持全量更新,不支持增量更新
  • 数据库&版本的支持
    • MySQL 5.7及以上
    • SQL Server 2016及以上

 

后续计划

  • 记录上限扩充
  • 支持更多的数据库种类和版本,如Postgresql,Oracle等
  • 支持更多的同步形式,支持渐进式、分批次的更新,可以同步更多的数据(近百万级别)
  • 数据同步插件:支持用户自定义一个数据源。用户通过提供一些代码片段,将一个外部系统的数据转化为多维表格的标准数据,并通过实现一些标准接口,让系统支持从自定义数据源来同步数据。

 

更多场景

打通IM和数据审批

功能介绍

使用多维表格自动化流程发送WPS协作消息时,可以在消息卡片中添加底部按钮,让信息接收人无需打开多维表格,也能在WPS协作上实现链接跳转、新增记录、修改记录、触发自动化流程等操作效果。

底部按钮支持的操作:

  • 跳转链接:为按钮添加一个链接,可跳转到多维表格的视图、记录或任何指定的链接。
  • 新增记录:点击按钮后,就在指定的数据表中新增一条记录。
  • 修改记录:点击按钮后,就修改数据表中指定的记录内容。
  • 关联自动化流程:点击按钮后,触发当前多维表格内已设定好的其他自动化流程。

 

场景案例

场景:会议室申请场景中,成员通过表单提交预约申请,审批人收到通知后直接点击按钮回复是否通过审批

步骤概述:

  1. 提交申请:成员通过会议室申请的表单提交请假申请
  2. 发送审批提醒:设置自动化流程,审批人在成员提交会议室申请后将接收到消息提醒。
  3. 在消息卡片中进行审批:审批人收到消息后,可以直接在消息卡片中点击是否通过申请,审批结果将自动记录到多维表格中,申请人也将收到审批结果的通知信息。

功能示意

创建时间:2025-04-24 11:07
浏览量:0

更多成功案例