javascript - 为什么 getDataRange.getValues() 没有提取所有必需的值?
问题描述
我有一个电子表格,我想使用谷歌脚本(基于 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);
}
解决方案
.getDataRange() 是“Sheet”类中的一种方法,因此需要括号。
var data = NCRData.getDataRange().getValues();
推荐阅读
- javascript - 如何停止调用我设置为每 x 秒调用一次的函数?
- java - IOUtils.ToByteArray(InputStream) 是线程安全的吗?
- android - 如何让 Android 布局文件知道选择了不同的语言
- cookies - 使用 axios 时,cookie 不会保存在浏览器中,但会保存在 Insomnia 中
- c++ - 有什么方法可以直接将整数的按位表示形式转换为 C++ 中的向量?
- javascript - 将引号添加到值数组
- math - 前缀和后缀 GCD 如何解决所选的一个问题
- c++ - 从文件中计算新行无法正常工作
- python - 我无法在我的 Django ManyToMany Relation 中获得字段
- flutter - 为什么 ScanStreamTransformer 不返回任何东西