记录一下wps多维表格公式和js脚本相关
ai提示词均采用gemini2.5pro其他ai:
gpt和claude都不太行,特别是js脚本
gpt很适合用来精简代码,删除无用的注释,错误输出,字段检查
grok3和上面那俩差不多
qwen3:非要本地化可以试试…也挺笨的
deepseek&腾讯元宝:达咩
文心一言&豆包:不做评价
公式
多维表公式案例共享表:
多维表函数列表https://kdocs.cn/l/cryI4BWCOzis
秒懂智能编号https://kdocs.cn/l/csywN1I7IoGB
多维表字符串提取https://kdocs.cn/l/cn7wbyGrYo1N
多维表TEXT函数技巧https://kdocs.cn/l/cmEIOU8rjJ43
emoji表情https://kdocs.cn/l/cuUbJRWe8UuA
易经学习工具https://kdocs.cn/l/cowtbtZdKBLW
父记录还能这么玩https://kdocs.cn/l/cgryU5KLbi4I
父子级联树https://kdocs.cn/l/cvt7gu4IJOY3
ai提示词:
修改提示词模板,填写函数要求在”编写多维表格函数:“
例如:
IF([@在岗状态]=”在岗”,CONCAT(“剩余”,[@当月在岗人数]*10-[@在岗分数计算],”分”),””)
新增当计算分数为负数时,输出为“分数池不足(-xx 分)”
提示词:
1 | 编写多维表格函数: |
Javascript脚本
新版api:
官方文档:
api字段:https://open.wps.cn/documents/app-integration-dev/guide/dbsheet/Api/Sheet.html
api文档:https://open.wps.cn/documents/app-integration-dev/guide/dbsheet/Api/api-instro.html
https://airsheet.wps.cn/docs/apiV2/overview.html (不是很全)
老版api(很难用,别用)
官方文档:
https://airsheet.wps.cn/docs/api/dbsheet/Field.html
https://open.wps.cn/documents/app-integration-dev/guide/dbsheet/AirScript/AirScript-build-in.html
老版api教程
b站(部分付费):https://www.bilibili.com/cheese/play/ep1212770
ai提示词:
由于大部分api都是wps私有的,不像公式那样具有通用性,提示词字典目前还在编写中
目前可采用借鉴参考写法,例如:
修改函数,从”@数据表”字段获取数据表信息,”@视图”字段获取视图信息
执行const res=Application.Sheets(“@数据表”).Views(“@视图”).ViewShare.SetEnable(true)后
获取Application.Sheets(“@数据表”).Views(“@视图”).ViewShare.ShareUrl,修改前缀后填入到”@链接”字段
参考以下两个函数,编写查询数据表所有sheets id和views id
在代码前添加本次修改说明
- 修改说明 :
*/
1 | 参考以下两个函数,编写查询数据表所有sheets id和views id |
通用公式:
数据表及视图ID查询:
1 | function printAllSheetAndViewsIdsFinal() { |
数据表&视图跳转链接生成:
使用要求:
- 需要有一个与函数字段名对应的基础的数据表:
| 数据表 | 视图 | 链接 | 生成状态 |
|---|---|---|---|
“视图”和”生成状态”可以为空,无视图信息,默认获取第一视图链接
默认采用数据表ID索引方式(不受数据表改名影响)
若需采用数据表名称索引方式请将以下代码”.ItemById”部分删除
const entranceSheet = Application.Sheets.ItemById(entranceSheetId);
- 配置信息,按需修改
// — 配置区域 —
const entranceSheetId = “1”; // “画册入口”工作表的ID
const sheetSourceFieldName = “@数据表”; // 存储数据表名称的字段
const viewSourceFieldName = “@视图”; // 存储视图名称的字段
const targetFieldName = “@链接”; // 需要写入分享链接的字段
const statusFieldName = “@生成状态”; // 用于记录成功或失败状态的字段
const newDomain = “http://10.150.153.153/weboffice/office/“; // 新的目标域名
const oldDomain = “http://localhost/office/“; // 需要被替换的旧域名
1 | /** |
遍历新增:
遍历源数据表的某一个字段,批量写入到另外表格中:
1 | function main() { |