作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试从 Google 表格中的多个不相邻单元格获取值(作为数组)。
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var arr = ['C1', 'C2', 'C4'];
var val = ss.getRangeList(arr).getValues();
Logger.log(val);
}
我得到以下信息:
TypeError: ss.getRangeList(...).getValues is not a function".
非常感谢您的帮助。
最佳答案
这个修改怎么样?
getValues
方法。我认为这就是您出现问题的原因。['C1', 'C2', 'C4']
单元格中的值,需要使用getRanges
方法。这样就可以使用getValues
了。当这些反射(reflect)到您的脚本中时,它会变成如下所示。
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var arr = ['C1', 'C2', 'C4'];
var val = ss.getRangeList(arr).getRanges().map(range => range.getValues()); // Modified
Logger.log(val);
}
val
数组中的每个元素都是二维数组。在您的情况下,每个单元格都是一个单元格。所以我认为下面的脚本也可以使用。
var val = ss.getRangeList(arr).getRanges().map(range => range.getValue());
或者,为了从多个不相邻的单元格中检索值,我创建了 RangeListApp Google Apps 脚本库。使用此功能时,您的脚本如下。
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheetName = ss.getActiveSheet().getSheetName();
var arr = ['C1', 'C2', 'C4'];
var rangeList = arr.map(e => `${sheetName}!${e}`);
var val = RangeListApp.getSpreadsheet(ss).getRangeList(rangeList).getValues().map(e => e.values);
Logger.log(val);
关于google-apps-script - 从多个不相邻的单元格获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63406274/
我是一名优秀的程序员,十分优秀!