【发布时间】:2020-04-07 16:51:59
【问题描述】:
我有一个电子表格,我想使用 google 脚本(基于 JS)将所有数据放入一个数组中,然后在该数组中搜索信息。我下面的代码不起作用,并且在记录器中没有返回任何内容:
function openNCR() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var NCRData = ss.getSheets()[1];
var data = NCRData.getDataRange.getValues();
var search = 'Open NCR'
var target_rows = []
data.forEach(function(element, index) {
if (element == search) {
target_rows.push(index)
}
})
Logger.log(target_rows);
}
然而,当我在如何提取信息方面进行以下更改时,代码运行良好!上面和下面的主要区别是什么? getDataRange.getValues 不会提取该工作表中的所有值吗?如果是这种情况,那么为什么我需要定义一个特定的列来搜索如下(第 3 列是包含“Open NCR”或“Closed NCR”信息的列)?
function openNCR() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var NCRData = ss.getSheets()[1];
var data = NCRData.getRange(1, 3, NCRData.getLastRow()).getValues()
var search = 'Open NCR'
var target_rows = []
data.forEach(function(element, index) {
if (element == search) {
target_rows.push(index)
}
})
Logger.log(target_rows);
}
【问题讨论】:
-
查看文档,getValues 函数需要使用范围:developers.google.com/apps-script/reference/spreadsheet/range
标签: javascript excel google-sheets scripting