You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel Script遍历列判断单元格内容时出现类型错误求助

解决Excel Script中includes方法不存在的类型错误

问题原因

Excel Script返回的单元格值类型是string | number | boolean,只有字符串类型拥有includes方法。当单元格内容是数字或布尔值时,直接调用includes就会触发类型错误。

解决办法

1. 先判断值的字符串类型再调用方法

在执行includes检查前,先用typeof确认当前单元格值是字符串:

if (typeof rangeValues[i][2] === 'string' && rangeValues[i][2].includes('leave')) {
    // 写入"false negative"的逻辑
}

2. 统一转换为字符串后判断

如果需要兼容非字符串类型的单元格(比如数字格式的内容),可以先把值转为字符串再检查:

if (String(rangeValues[i][2]).includes('leave')) {
    // 写入"false negative"的逻辑
}

3. 完整修正后的示例代码

function main(workbook: ExcelScript.Workbook) {
    const sheet = workbook.getActiveWorksheet();
    const usedRange = sheet.getUsedRange();
    const rangeValues = usedRange.getValues();

    for (let i = 0; i < rangeValues.length; i++) {
        // 先判断类型,同时忽略大小写匹配"leave"
        if (typeof rangeValues[i][2] === 'string' && rangeValues[i][2].toLowerCase().includes('leave')) {
            // 向右偏移8列(原列索引2 + 8 = 10)
            sheet.getCell(i, 10).setValue("false negative");
        }
    }
}

额外提示

添加.toLowerCase()可以让匹配不区分大小写,避免因为单元格内容是"Leave"或"LEAVE"导致漏判,根据你的需求可以选择保留或移除。

内容的提问来源于stack exchange,提问作者JT Emnett

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 19:15:56