Google apps script 在二维数组中收集数据并使用setValues()
我正在尝试运行600个文件,并从每个文件中获取两条信息。然后我需要将这些信息粘贴到一张表中,以便在其他地方使用。我的代码运行速度太慢,所以我尝试将其转换为数组。以下是我的代码:Google apps script 在二维数组中收集数据并使用setValues(),google-apps-script,Google Apps Script,我正在尝试运行600个文件,并从每个文件中获取两条信息。然后我需要将这些信息粘贴到一张表中,以便在其他地方使用。我的代码运行速度太慢,所以我尝试将其转换为数组。以下是我的代码: var fileCount; var dataArray = []; var files = folder.getFiles(); while (files.hasNext()) { for(fileCount = 0; fileCount < 650; fileC
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);
}
}
var文件计数;
var dataArray=[];
var files=folder.getFiles();
while(files.hasNext()){
对于(fileCount=0;fileCount<650;fileCount++){
currentFile=files.next();
Logger.log(currentFile.getName());
var fileID=currentFile.getId();
var rowKey=SpreadsheetApp.openById(fileID).getSheetByName(“摘要”).getRange(“A1”).getValue();
//错误出现在下一行
dataArray[fileCount][0]=fileID;
dataArray[fileCount][1]=rowKey;
getRange(1,1,fileCount,2).setValue(dataArray);
toast(“文件”+fileCount+“数据粘贴”、“”、-1);
log(rowKey+':'+fileCount+':'+fileCount);
}
}
我得到的错误是:
抱歉,出现错误:TypeError:无法设置的属性“0.0”
未定义为“11GI2qs6LP1uQIYKIVtqX-rQ9JRC_1;lH1NwVh0GLVn8Q”
我是否未正确初始化/声明数组?我需要依赖某个库还是什么吗?我知道了-如果其他人感兴趣:
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);