Google apps script 自动化&;在Google工作表中循环导入XML

Google apps script 自动化&;在Google工作表中循环导入XML,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我正在使用这个脚本在Google工作表中使用触发器自动导入XML。它适用于1个URL单元格引用(此示例中为B2),并在D2中返回结果 function getData() { var queryString = Math.random(); var cellFunction1 = '=IMPORTXML("' + SpreadsheetApp.getActiveSheet().getRange('B2').getValue() + '?' + queryString + '",

我正在使用这个脚本在Google工作表中使用触发器自动导入XML。它适用于1个URL单元格引用(此示例中为B2),并在D2中返回结果

    function getData() {
  var queryString = Math.random();

  var cellFunction1 = '=IMPORTXML("' + SpreadsheetApp.getActiveSheet().getRange('B2').getValue() + '?' + queryString + '","'+ SpreadsheetApp.getActiveSheet().getRange('A3').getValue() + '")';
  SpreadsheetApp.getActiveSheet().getRange('D2').setValue(cellFunction1);

 }
我需要它循环并返回“B:B”范围内所有单元格的结果(理想情况下,只有非空单元格)并将结果发布到“D:D”范围内的相应单元格中

是否可能,或者我必须为我想要从中获取数据的每一行编写脚本?

工作表。getDataRange()会自动获取所有单元格的矩形区域,并带有值

例如,var data=sheet.getDataRange().getValues(),允许您使用此格式读取单元格

data[0][0] // This is the value of your first cell. 
因此,添加数据[1].length,就可以得到列数。Data.length是您的行数。只需使用两个for循环遍历所有数据

for (var i in data) {
  for (var j in data[i]) {
    // Now you can use your setters.
  }
}
享受

工作表。getDataRange()会自动获取所有单元格的矩形区域,其中包含值

例如,var data=sheet.getDataRange().getValues(),允许您使用此格式读取单元格

data[0][0] // This is the value of your first cell. 
因此,添加数据[1].length,就可以得到列数。Data.length是您的行数。只需使用两个for循环遍历所有数据

for (var i in data) {
  for (var j in data[i]) {
    // Now you can use your setters.
  }
}

享受

非常感谢您的帮助!不过,我对这个有点陌生:$你介意再解释一下还是帮我修改脚本?非常感谢你的帮助!不过,我对这个有点陌生:,你介意再解释一下吗,或者帮我修改一下脚本?