Google apps script 将多个电子表格中的数据收集到一个电子表格中
我在一个文件夹中有184张审计表。我想引用这些表格中的一个单元格,并将它们返回到一个主电子表格中 我有一个相反的代码,它向文件夹中的每个工作表发送一个值,并将其更改为我想要的值。所以本质上我想做与下面脚本相反的事情:Google apps script 将多个电子表格中的数据收集到一个电子表格中,google-apps-script,google-sheets,collections,Google Apps Script,Google Sheets,Collections,我在一个文件夹中有184张审计表。我想引用这些表格中的一个单元格,并将它们返回到一个主电子表格中 我有一个相反的代码,它向文件夹中的每个工作表发送一个值,并将其更改为我想要的值。所以本质上我想做与下面脚本相反的事情: function getdata() { var files = DriveApp.getFolderById("1gbA2JI1DYNku7SQPaCq1Qk27hnbimPag").getFiles() while (files.hasNext()) { var fi
function getdata() {
var files = DriveApp.getFolderById("1gbA2JI1DYNku7SQPaCq1Qk27hnbimPag").getFiles()
while (files.hasNext()) {
var file = files.next();
var shoot = SpreadsheetApp.openById(file.getId());
var sourcesheet = SpreadsheetApp.getActive().getSheetByName("Jan");
var sourcerange = sourcesheet.getRange('A3');
var sourcevalues = sourcerange.getValues();
var destsheet = shoot.getSheetByName('Front Sheet');
var destrange = destsheet.getRange('B5');
destrange.setValues(sourcevalues);
}
}
您的示例代码似乎与您的解释不匹配,但我认为我已经掌握了基本的想法,因此我自己编写了一些所需的详细信息。我包括了文件名、ID和“A3”值。您可以根据需要选择修改
function getdata(month) {
var monthA=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
var date=new Date();
var mss=SpreadsheetApp.getActive();
var ms=mss.getSheetByName("Master Sheet");
var vObj={name:[],id:[],value:[]};
var files = DriveApp.getFolderById("1gbA2JI1DYNku7SQPaCq1Qk27hnbimPag").getFilesByType(MimeType.GOOGLE_SHEETS);
while (files.hasNext()) {
var file = files.next();
var fid=file.getId();
var ss = SpreadsheetApp.openById(fid);
var sh = ss.getSheetByName(monthA[date.getMonth()]);
var rg = sh.getRange('A3');
vObj.name.push(file.getName());
vObj.id.push(fid);
vObj.value.push(rg.getValue());
vObj['month']=monthA[date.getMonth()];
}
vObj.id.splice(0,0,'ids');
ms.appendRow(vObj.id);
vObj.name.splice(0,0,vObj.month);
ms.appendRow(vObj.name);
vObj.value.splice(0,0,'values');
ms.appendRow(vObj.value)
}