如何从电子表格捕获所有数据到Google表单

时间:2019-10-30 09:05:56

标签: javascript google-apps-script google-sheets google-form

这是我的代码,我已经输入了循环命令,但它只能捕获从电子表格到Google表单响应的第一行。 执行代码时,我需要从电子表格中捕获所有数据。 有人知道我在想什么吗?

function auto_data() {


  var formURL="https://docs.google.com/forms/d/e/1FAIpQLSec8kePcCeGY0vlq3FdIepQgE84Wh7DiYE1e0v7ZWvo5XhxoQ/formResponse";

  var wrkBK = SpreadsheetApp.getActiveSpreadsheet();
  var wrkSht= wrkBK.getSheetByName("Sheet1");

  for (var i=2;i<=5;i++){

  var a = wrkSht.getRange('A'+i).getDisplayValue();
  var b = wrkSht.getRange('B'+i).getDisplayValue();
  var c = wrkSht.getRange('C'+i).getDisplayValue();

  }

  var datamap = {"entry.1436037797":a,
  "entry.995641845":b,
  "entry.1420146463":c};

  var options = {
    "method":"post",
    "payload": datamap };

  UrlFetchApp.fetch(formURL, options);
}

1 个答案:

答案 0 :(得分:1)

将您的fetch(..)调用和有效内容组成移动到for循环中:

function auto_data() {


  var formURL="https://docs.google.com/forms/d/e/1FAIpQLSec8kePcCeGY0vlq3FdIepQgE84Wh7DiYE1e0v7ZWvo5XhxoQ/formResponse";

  var wrkBK = SpreadsheetApp.getActiveSpreadsheet();
  var wrkSht= wrkBK.getSheetByName("Sheet1");

  for (var i=2;i<=5;i++){

    var a = wrkSht.getRange('A'+i).getDisplayValue();
    var b = wrkSht.getRange('B'+i).getDisplayValue();
    var c = wrkSht.getRange('C'+i).getDisplayValue();
    var datamap = {"entry.1436037797":a,
    "entry.995641845":b,
    "entry.1420146463":c};

    var options = {
      "method":"post",
      "payload": datamap };

    UrlFetchApp.fetch(formURL, options);
  }
}