WPS AirScript脚本合集(十二):文本内容批量转换成超链接

一、多维表格数据表及字段结构

1、表名:文本转换超链接

2、视图名:表格视图

3、字段设置:

◉ 字段名称:文本 - 字段类型:文本 - 禁止录入重复值:否 - 默认值:无;

◉ 字段名称:帖子名称 - 字段类型:文本 - 禁止录入重复值:否 - 默认值:无;

◉ 字段名称:超链接 - 字段类型:超链接 - 显示样式:以超链接形式显示;

二、AirScript脚本程序代码

主要思路如下:

1、通过指定表名“文本转换超链接”获取表ID;

2、分页查询获取当前表内所有行记录;

3、生成超链接字段内容并构建更新数据结构;

4、分批更新记录,每次最多100条。

微信公众号文章详见https://mp.weixin.qq.com/s/MqzI1KW0whmzVuoGTZS1dQ

// 1. 获取当前目标表信息
const sheetId = Application.Sheets("文本转换超链接").Id;
console.log("当前表ID:", sheetId);

// 2. 分页查询所有记录(超过1000行)
let allRecords = [];
let offset = null;

do {
  const pageResult = Application.Record.GetRecords({
    SheetId: sheetId,
    PageSize: 1000, // 每次获取最大1000条
    Offset: offset,
    Fields: ["文本","帖子名称"] 
  });
  
  allRecords = allRecords.concat(pageResult.records);
  offset = pageResult.offset;
} while (offset);
console.log("当前表所有记录:", allRecords);

// 3. 生成超链接字段内容并构建更新数据
const updateRecords = allRecords.map(record => {
  const ticketNumber = record.fields["文本"];
  const ticketTitle = record.fields["帖子名称"];

  return {
    id: record.id,
    fields: {
      "超链接": {
        address: `https://bbs.wps.cn/topic/${ticketNumber}`,
        displayText: `${ticketTitle}`
      }
    }
  };
});

// 4. 分批更新记录(每次最多100条)
const BATCH_SIZE = 100;
for (let i = 0; i < updateRecords.length; i += BATCH_SIZE) {
  const batch = updateRecords.slice(i, i + BATCH_SIZE);
  
  Application.Record.UpdateRecords({
    SheetId: sheetId,
    Records: batch
  });
  
  console.log(`已更新 ${Math.min(i + BATCH_SIZE, updateRecords.length)}/${updateRecords.length} 条记录`);
}

注意事项

由于是执行脚本批量写入字段,所以所有行记录的超链接地址前缀保持一致!

三、脚本运行输出示例

广东省
浏览 622
收藏
3
分享
3 +1
1
+1
全部评论 1
 
HC.旋
点赞
· 福建省
回复