在 object 电子表格中找不到函数 setValues

Cannot find function setValues in object Spreadsheet

这条错误消息快把我逼疯了。这可能很简单,但我是新手。我感谢我能得到的任何帮助。

此计划适用于我们的员工通过 google 表格提交的设备检查。它应该从提交的 spreadsheet 中获取原始数据,检查是否有特定于该设备的 spreadsheet - 如果有,它应该制作一个新的 sheet有检查日期,如果没有,应该重新做一个spreadsheet,标题是设备的台号。然后我想将原始数据复制到新的 spreadsheet/sheet。

完成此部分后,我需要编写代码以将新 sheet 上的原始数据格式化为更具可读性和 user-friendly 的格式 - 但我还没有完成。

问题是当我尝试将标题值插入到新的 sheet(第 17 行)- "TypeError: Cannot find function setValues in object Spreadsheet. (line 17, file "代码")"

这是我目前的代码:

    function onFormSubmit() {
  // onFormSubmit
  // get submitted data
  var ss = SpreadsheetApp.openById("1PieNQjjgjsZIEhTwmzGN9BcUXPSscWnWnnYL8XvjpTA");
  var sheet = ss.getSheetByName("Submissions");
  var row = sheet.getLastRow();
  var Col = sheet.getLastColumn();
  var headings = sheet.getRange(1,1,1,Col).getValues();
  var lastRow = sheet.getRange(row, 1, 1, Col);
  var UnitNumber = sheet.getRange(row,3,Col).getValue(); 
  // check if username has sheet
  if(ss.getSheetByName(UnitNumber)){
    var DrillSheet = ss.getSheetByName(UnitNumber);
    // if not make
  } else {
   var DrillSheet = SpreadsheetApp.create(UnitNumber); 
    DrillSheet.getRange(1,1,1,Col).setValues(headings);
  }
  // copy submitted data to Drill sheet
  DrillSheet.appendRow(lastRow.getValues()[0]);
  DrillSheet.appendRow(['=CONCATENATE(B6," ",B5)']);
  DrillSheet.appendRow(['=TRANSPOSE(B1:2)']);
}

提前感谢您的帮助。

创建新跨页sheet 时,您需要定义要将标题添加到的个人sheet。您需要使用 .getSheetByName() 获得 sheet object。第一个 sheet 总是称为 "Sheet1",因此您可以在脚本中通过名称获取它。一个简单的解决方法是将第 17 行更改为:

DrillSheet.getSheetByName('Sheet1')getRange(1,1,1,Col).setValues(headings);