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

Google Sheets向最后一行粘贴数组报错及AppendRow失效问题求助

问题修复方案

1. getRange报错的原因及修复

你用sheet.getRange(myA, myZ)的写法错了——getRange如果传两个参数,要求的是整数类型的行号和列号,但你传的是"A3"、"L3"这种字符串格式的单元格地址,所以才会报"无法转换为int"的错误。

两种正确写法:

  • 直接传A1格式的范围字符串:把起始和结束单元格用冒号连起来,作为单个参数传入
sheet.getRange(`${myA}:${myZ}`).setValues(stData);
  • 用行、列、行数、列数的参数组合:从目标行开始,第1列(A列),取1行,12列(到L列)
sheet.getRange(lastRow, 1, 1, 12).setValues(stData);

2. appendRow显示异常的原因及修复

你看到的[Ljava.lang.Object;@6ddc861f是二维数组的默认字符串表示,因为appendRow方法要求传入一维数组,但你如果传了stData(这是一个二维数组,格式是[[数据1,数据2,...]]),它就会把整个二维数组当成一个单元格的值,自然显示成这种奇怪的内容。

正确用法是直接传一维数组stStats:

sheet.appendRow(stStats);

完整修复后的代码(两种方式任选其一)

方式一:修复getRange+setValues

function getST() {
  const playerID = "XXX";
  let url = "https://smartytitans.com/api/info/player/";
  let sheet = SpreadsheetApp.getActiveSheet();

  let request = url + playerID;
  let response = UrlFetchApp.fetch(request);
  let data = JSON.parse(response.getContentText());

  let stStats = [];
  stStats.push(data.data.level);
  stStats.push(data.data.stats.gld);
  stStats.push(data.data.stats.prest);
  stStats.push(data.data.stats.invst);
  stStats.push(data.data.stats.master);
  stStats.push(data.data.stats.help);
  stStats.push(data.data.stats.ascendUpg);
  stStats.push(data.data.stats.bounty);
  stStats.push(data.data.stats.collection);
  stStats.push(data.data.cityName);
  stStats.push(data.data.cityLevel);
  stStats.push(data.data.rankGld);

  let stData = [];
  stData.push(stStats);

  let lastRow = sheet.getLastRow() + 1;
  // 修复getRange的写法,用A1格式字符串
  sheet.getRange(`A${lastRow}:L${lastRow}`).setValues(stData);
}

方式二:用appendRow简化代码(更简洁)

function getST() {
  const playerID = "XXX";
  let url = "https://smartytitans.com/api/info/player/";
  let sheet = SpreadsheetApp.getActiveSheet();

  let request = url + playerID;
  let response = UrlFetchApp.fetch(request);
  let data = JSON.parse(response.getContentText());

  let stStats = [];
  stStats.push(data.data.level);
  stStats.push(data.data.stats.gld);
  stStats.push(data.data.stats.prest);
  stStats.push(data.data.stats.invst);
  stStats.push(data.data.stats.master);
  stStats.push(data.data.stats.help);
  stStats.push(data.data.stats.ascendUpg);
  stStats.push(data.data.stats.bounty);
  stStats.push(data.data.stats.collection);
  stStats.push(data.data.cityName);
  stStats.push(data.data.cityLevel);
  stStats.push(data.data.rankGld);

  // 直接传一维数组给appendRow
  sheet.appendRow(stStats);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 11:53:20