gpt4 book ai didi

javascript - 为什么 getCell() 返回 "Range"而不是值?

转载 作者:行者123 更新时间:2023-11-29 18:03:16 27 4
gpt4 key购买 nike

我正在编写一个非常简单的脚本,它将值记录在一列中,我之前在 Google Apps 脚本中使用过类似的结构并取得了巨大成功,但我看不到这里的问题。 “statusColumn”填​​充了不同的值,当我尝试像这样记录它们时,它会为所有行返回“Range”。关于为什么会这样有什么建议吗?

var statusColumn = 1;

function getOrders() {
var ss = SpreadsheetApp.openById("12y85GmJ94s6k3213j2nGK8rFr0GOfd_Emfk8WHu_MUQ");
var sheet = ss.getSheetByName("Sheet8");
var orders = sheet.getDataRange();
var numRows = orders.getNumRows();

for (var i = 1; i <= numRows; i++) {
var status = orders.getCell(i, statusColumn);
Logger.log([status]);
}
}

编辑:

var statusColumn = 1;

function getOrders() {

var ss = SpreadsheetApp.openById("12y85GmJ94s6k3213j2nGK8rFr0GOfd_Emfk8WHu_MUQ");
var sheet = ss.getSheetByName("Sheet8");
var orders = sheet.getDataRange();
var numRows = orders.getNumRows();

for (var i = 1; i <= numRows; i++) {
var statusCell = orders.getCell(i, statusColumn).getValue();
Logger.log(statusCell)
}
}

最佳答案

getCell() 返回一个 Range 对象,在这种情况下该范围表示单个单元格,但 Range 对象也可以表示一组单元格。您正在寻找单元格的值,可以使用 getValue() 从范围中检索该值。

Logger.log(status.getValue());

参见: https://developers.google.com/apps-script/reference/spreadsheet/range https://developers.google.com/apps-script/reference/spreadsheet/range#getValue()

顺便说一句,您使用的方法(一次获取一个单元格)效率非常低。相反,您应该使用 getRange() 获取整个列,然后使用 getValues() 获取所有值。 GetValues() 将返回一个数组,其中包含您的所有状态值。

这些函数都记录在上面的链接中。

关于javascript - 为什么 getCell() 返回 "Range"而不是值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33443292/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com