公司动态

WPS AirScript 实战:5步实现云文档 Excel 内容自动同步

📅 2026/7/29 21:46:46
WPS AirScript 实战:5步实现云文档 Excel 内容自动同步
第一步打开wps云文档进入脚本编辑器首先我们需要找到 AirScript 的入口。点击顶部菜单栏的「效率」选项卡。在工具栏右侧找到并点击「高级开发」。在下拉菜单中选择「AirScript脚本编辑器」。第二步新建脚本文件进入编辑器界面后我们需要创建一个新的脚本来存放代码。在左侧侧边栏的「文档共享脚本」区域。点击红色的「」号按钮。此时会创建一个未命名的脚本文件你可以给它重命名为“同步数据测试”。第三步粘贴核心代码在中间的代码编辑区域清空默认内容粘贴以下 JavaScript 代码。这段代码的核心逻辑是遍历所有 Sheet跳过系统隐藏表并将数据封装成 JSON 格式返回。普通云文档的代码try { const sheets Application.Sheets const result {} for (let i 1; i sheets.Count; i) { const sheet sheets.Item(i) const name sheet.Name // 跳过金山文档内部工作表 if (name WpsReserved_CellImgList) continue const used sheet.UsedRange const rowEnd used.Row used.Rows.Count - 1 if (rowEnd used.Row) continue // 空表跳过 const colEnd used.Column used.Columns.Count - 1 const rows [] for (let r 1; r rowEnd; r) { const row [] for (let c 1; c colEnd; c) { row.push(sheet.Cells(r, c).Value2) } rows.push(row) } result[name] rows } return result } catch (e) { return { success: false, error: e.message || 脚本执行异常, stack: String(e.stack || ) } }多维表格的代码try { const sheets Application.Sheet.GetSheets() const result {} for (var i 0; i sheets.length; i) { var sheet sheets[i] if (sheet.sheetType ! xlEtDataBaseSheet) continue var sheetName sheet.name || (Sheet sheet.id) var allRecords [] var nextOffset undefined while (true) { var params { SheetId: sheet.id, PageSize: 500 } if (nextOffset ! undefined) { params.Offset nextOffset } var resp Application.Record.GetRecords(params) var records (resp resp.records) ? resp.records : [] if (records.length 0) { allRecords allRecords.concat(records) } // 检查返回值中是否有 offset 游标没有则说明已到最后一页 if (resp resp.offset ! undefined resp.offset ! null resp.offset ! ) { nextOffset resp.offset } else { break } } if (allRecords.length 0) { result[sheetName] [] continue } // 将 fields 转为二维数组 [表头, 数据行...] var firstFields Object.keys(allRecords[0].fields) var rows [firstFields] for (var r 0; r allRecords.length; r) { var row [] for (var f 0; f firstFields.length; f) { var val allRecords[r].fields[firstFields[f]] if (val null || val undefined) val row.push(val) } rows.push(row) } result[sheetName] rows } return result } catch (e) { return { success: false, error: String(e.message), stack: String(e.stack) } }第四步配置脚本令牌Webhook 鉴权为了让外部系统或定时任务能安全地调用这个脚本我们需要生成一个身份凭证。点击编辑器顶部工具栏中的「盾牌图标」脚本令牌。在弹出的 Beta 版提示框中勾选“我已知晓”。点击「创建脚本令牌」按钮。⚠️注意令牌属于隐私信息请勿随意泄露给他人。第五步获取 Webhook 链接最后一步拿到可以触发脚本执行的链接。点击左侧脚本文件名旁边的「...」更多菜单。选择「复制脚本 webhook」。