我正在尝试运行600个文件,并从每个文件中获取两条信息。然后我需要将这些信息粘贴到工作表中,以便我可以在其他地方使用它。我的代码工作太慢了,所以这就是我试图将它转换为数组的原因。这是我的代码:
var fileCount;
var dataArray = [];
var files = folder.getFiles();
while (files.hasNext()) {
for(fileCount = 0; fileCount < 650; fileCount++) {
currentFile = files.next();
Logger.log(currentFile.getName());
var fileID = currentFile.getId();
var rowKey = SpreadsheetApp.openById(fileID).getSheetByName("Summary").getRange("A1").getValue();
//the error appears at the next line
dataArray[fileCount][0] = fileID;
dataArray[fileCount][1] = rowKey;
targetSheet.getRange(1,1,fileCount,2).setValues(dataArray);
spreadsheet.toast("File " + fileCount + " data pasted.", "", -1);
Logger.log(rowKey + ' : ' + fileCount + ' : ' + fileCount);
}
}
我得到的错误:
抱歉,错误发生:TypeError:无法设置属性&#34; 0.0&#34;的 未定义为&#34; 11GI2qs6LP1uQIYKIVtqX-rQ9JRC_-lH1NwVh0GLVn8Q&#34;。
我没有正确初始化/声明阵列吗? 我需要依赖某些图书馆吗?
答案 0 :(得分:0)
我知道了 - 如果有其他人感兴趣的话:
var fileCount;
var foldercount = 0;
var dataArray = [];
var files = folder.getFiles();
for(fileCount = 0; files.hasNext(); fileCount++) {
currentFile = files.next();
Logger.log(currentFile.getName());
var fileID = currentFile.getId();
var rowKey = SpreadsheetApp.openById(fileID).getSheetByName("Summary").getRange("A1").getValue();
dataArray.push([fileID, rowKey]);
//dataArray[fileCount][0] = fileID;
//dataArray[fileCount][1] = rowKey;
spreadsheet.toast("File " + fileCount + " data pasted.", "", -1);
Logger.log(rowKey + ' : ' + fileCount + ' : ' + fileCount);
}
targetSheet.getRange(1,1,fileCount,2).setValues(dataArray);