Google apps script 如何根据数据高度的变化将范围设置为变量

Google apps script 如何根据数据高度的变化将范围设置为变量,google-apps-script,Google Apps Script,下面的代码从文件夹中的多个文件中获取相同范围的数据。但是,它仅在满足条件时使用该范围内的数据。因此,每个文件返回的值高度不同 我放了一个???根据从每个文件收集的数据的高度,为每个循环指示需要写入数据的范围高度的位置 function getAllData() { var folder = DocsList.getFolderById("folderid"); var contents = folder.getFiles(); Logger.log("file length: " + conte

下面的代码从文件夹中的多个文件中获取相同范围的数据。但是,它仅在满足条件时使用该范围内的数据。因此,每个文件返回的值高度不同

我放了一个???根据从每个文件收集的数据的高度,为每个循环指示需要写入数据的范围高度的位置

function getAllData() {
var folder = DocsList.getFolderById("folderid");
var contents = folder.getFiles();
Logger.log("file length: " + contents.length);

var file;
var data;

var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Base")
sheet.clearContents();



var numOfFiles = contents.length;

for (var i = 0; i < numOfFiles; i++) {
file = contents[i];
Logger.log("count: "  + i);

var theFileType = file.getFileType();
Logger.log("theFileType: " + theFileType);

if (theFileType==DocsList.FileType.SPREADSHEET) {

var sheet2 = SpreadsheetApp.open(file).getSheetByName("Sheet 1");
var lastLine = sheet2.getLastRow();
var values = sheet2.getRange('A3:J').getValues();
var formulas = sheet2.getRange('A3:J').getFormulas();

var data = [];

  for(var row = 0 ; row < (values).length ; row++){

var lastrow = sheet.getLastRow()+1;
if (values[row][0] != '')  {

for(var col = 0 ; col < formulas[row].length ; col++){
    if(formulas[row][col] != '')
      {values[row][col] = formulas[row][col]};


  data.push(values[row]);}
  if(data.length > 0)
  sheet.getRange(lastrow, 1, ???, data[0].length).setValues(data);

  } 
}

  };
}}
函数getAllData(){ var folder=DocsList.getFolderById(“folderid”); var contents=folder.getFiles(); Logger.log(“文件长度:“+contents.length”); var文件; var数据; var sheet=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“基本”) sheet.clearContents(); var numofiles=contents.length; 对于(var i=0;i0) sheet.getRange(最后一行,1,?,数据[0]。长度)。设置值(数据); } } }; }}
在“?”中只有一个有效值,它是“data.length”,是否每次都要在循环中设置values()?构建所有数据然后同时输出不是更好吗?

我不知道。。。这看起来像什么?放置
sheet.getRange(lastrow,1,?,data[0]。length)。设置值(data)
之后并更改???用data.length.我来试一试。谢谢不行,它仍然使用数据的长度(表示列)而不是高度(行),因此它报告数据的预期高度是错误的。