【发布时间】:2016-06-15 15:58:28
【问题描述】:
假设我有一个 Google 表格,其列中的数据长度不同,但相邻的垂直单元格之间没有空格。我试图只调用我的电子表格的 getValues() 方法,比如第一列,尽管我想对所有列都这样做。以下代码在我的编辑器中运行很慢:
function myFunction() {
var InfoSheetIterator = DriveApp.getFilesByName("InfoSheets");
var InfoSheetFile = InfoSheetIterator.next();
var InfoSheet = SpreadsheetApp.open(InfoSheetFile);
var DataRange = InfoSheet.getDataRange().getValues();
var ChannelList = DataRange;
var ChannelListArray = new Array();
var i = 0;
while (DataRange[i][0] != "" || DataRange[i][0] != undefined || DataRange[i][0] != null) {
ChannelListArray.push(DataRange[i][0]);
}
Logger.Log(ChannelListArray.toString());
}
有更快的方法吗?我已被警告不要在尝试优化时使用过多的 getValues() 调用。在这种情况下,由 getValues() 返回的名为 DataRange 的数组使得 DataRange[0] 返回第一行中的所有值,但我想要第一列中的所有值。也许我可以只反转列和行,但我认为这会使原始工作表更大。
【问题讨论】:
标签: javascript google-apps-script google-sheets