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

Excel Script报错sheet.getTable[i]未定义,如何在for循环中获取当前表格?

Excel Script循环获取表格行计数错误修复

原代码错误原因:sheet.getTable[i]是错误写法,getTable()是需要传入表格名称或ID的方法,并非可直接通过索引访问的数组。且你已经通过sheet.getTables()获取了当前工作表的所有表格数组,直接遍历该数组即可。

修正后的代码有两种写法:

写法1:保留原for循环结构

function main(workbook: ExcelScript.Workbook) {
    let sheet = workbook.getWorksheet('MySheet');
    let tables = sheet.getTables();
    let rowCount = 0;
    
    for (let i = 0; i < tables.length; i++) {
        // 直接从tables数组中取当前表格
        rowCount = tables[i].getRangeBetweenHeaderAndTotal().getRowCount();
        console.log(rowCount);
    };
}

写法2:使用for...of循环(更简洁)

function main(workbook: ExcelScript.Workbook) {
    let sheet = workbook.getWorksheet('MySheet');
    let tables = sheet.getTables();
    
    for (let table of tables) {
        const rowCount = table.getRangeBetweenHeaderAndTotal().getRowCount();
        console.log(rowCount);
    };
}

核心修正点:

  • 无需重复调用sheet.getTable(),直接使用已获取的tables数组元素访问当前表格
  • 避免了方法调用与数组访问的语法混淆

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 03:10:13