AirScript脚本合集(一):调用 多维表 API 实现输出表ID+字段ID+该字段每一行的值

一、脚本逻辑

输入:表名、字段名

输出:表ID、字段ID、该字段每一行的值

二、程序代码

// 获取所有表信息
const sheets = Application.Sheet.GetSheets();
// console.log(sheets);

function getTableFieldInfo(tableName, fieldName) {
    let tableId = null;
    let fieldId = null;
    let fieldValues = [];

    // 遍历所有表,查找目标表
    for (let i = 0; i < sheets.length; i++) {
        const sheet = sheets[i];
        if (sheet.name === tableName) {
            tableId = sheet.id;
            // 遍历表的字段,查找目标字段
            for (let j = 0; j < sheet.fields.length; j++) {
                const field = sheet.fields[j];
                if (field.name === fieldName) {
                    fieldId = field.id;
                    break;
                }
            }
            break;
        }
    }

    // 如果未找到表或字段,直接返回
    if (tableId === null || fieldId === null) {
        return {
            tableId: tableId,
            fieldId: fieldId,
            fieldValues: fieldValues
        };
    }

    // 获取表的所有记录
    let offset = null;
    let allRecords = [];
    do {
        const records = Application.Record.GetRecords({
            SheetId: tableId,
            Offset: offset
        });
        allRecords = allRecords.concat(records.records);
        offset = records.offset;
    } while (offset);
    // console.log(allRecords);

    // 提取目标字段每一行的值
    for (let k = 0; k < allRecords.length; k++) {
        const record = allRecords[k];
        const fieldValue = record.fields[fieldName];
        fieldValues.push(fieldValue);
    }

    return {
        tableId: tableId,
        fieldId: fieldId,
        fieldValues: fieldValues
    };
}

// 示例输入
const tableName = "工单信息";
const fieldName = "问题编号";
const result = getTableFieldInfo(tableName, fieldName);
console.log(`表名: ${tableName}`);
console.log(`表 ID: ${result.tableId}`);
console.log(`字段名: ${fieldName}`);
console.log(`字段 ID: ${result.fieldId}`);
console.log(`该字段每一行的值:`, result.fieldValues);

三、脚本运行输出示例

广东省
浏览 46
收藏
点赞
分享
+1
+1
全部评论