Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 移除或更换;“未定义”;使用Google Apps脚本在Google Sheets单元格中输入字符串_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script 移除或更换;“未定义”;使用Google Apps脚本在Google Sheets单元格中输入字符串

Google apps script 移除或更换;“未定义”;使用Google Apps脚本在Google Sheets单元格中输入字符串,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我的googleapps脚本从HTML表单接收数据。如果未选中字段集中的复选框或单选按钮,则单元格中将显示未定义的字符串,如下所示: 如何使用Google Apps脚本删除或替换单元格中的“未定义”字符串? 以下是我的谷歌应用程序脚本代码的相关部分,它接收表单数据,然后将数据写入工作表: var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0] var nextRow = sheet.getLas

我的
googleapps脚本
HTML
表单
接收数据。如果未选中
字段集中的
复选框
单选按钮
,则单元格中将显示
未定义的
字符串,如下所示:


如何使用Google Apps脚本删除或替换单元格中的
“未定义”
字符串?


以下是我的
谷歌应用程序脚本
代码的相关部分,它接收
表单
数据,然后将数据写入
工作表

var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0]
var nextRow = sheet.getLastRow() + 1

var newRow = headers.map(function(header) {
  if (typeof e.parameters[header] !== "undefined") {
    return header === "Date" ? new Date() : e.parameters[header].join(", ")
  } else {
    return header === "Date" ? new Date() : e.parameters[header]
  }
})

sheet.getRange(nextRow, 1, 1, newRow.length).setValues([newRow])

我创建了以下内容,试图围绕您的代码片段重新创建上下文,以便于进行分析

我在
headers.map()
中编辑了内联函数,以实现我认为您正试图实现的目标

逻辑如下:

  • 如果值未定义且字段名为“日期”,则返回一个新的
    Date()
    对象
  • 如果值未定义且字段未命名为“日期”,则返回空值 绳子
  • 如果值已定义且为数组,则返回通过连接值创建的字符串
  • 如果该值已定义且不是数组,则返回该值
在原始代码段中,如果该值不是数组,它将尝试调用
join()
,但将失败

var VALUES = [
  {
    'Foobar': ['Foo', 'Bar', 'Baz'],
    'Xyzzy': ['Quux'],
    'Name': ['Jane Doe'],
  },
  {
    'Foobar': ['Foo', 'Bar', 'Baz'],
    'Xyzzy': undefined,
    'Name': ['Peter Pan'],
  },
];

function populateCells() {
  var sheet = SpreadsheetApp.getActiveSheet();

  for (var i = 0; i < VALUES.length; i++) {
    var e = {parameters: VALUES[i]};

    /** EDITED VERSION OF YOUR CODE SNIPPET STARTS HERE **/

    var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0];
    var nextRow = sheet.getLastRow() + 1;

    var newRow = headers.map(function(header) {
      if (typeof e.parameters[header] === 'undefined') {
        return header === 'Date' ? new Date : '';
      }

      if (Array.isArray(e.parameters[header])) {
        return e.parameters[header].join(', ')
      } else {
        return e.parameters[header]
      }
    })

    sheet.getRange(nextRow, 1, 1, newRow.length).setValues([newRow]);

    /** EDITED VERSION OF YOUR CODE SNIPPET ENDS HERE **/
  }
}
var值=[
{
‘Foobar’:[‘Foo’、‘Bar’、‘Baz’],
“xyzy”:[“qux”],
'姓名':['Jane Doe'],
},
{
‘Foobar’:[‘Foo’、‘Bar’、‘Baz’],
“xyzy”:未定义,
“姓名”:[“彼得·潘”],
},
];
函数populateCells(){
var sheet=SpreadsheetApp.getActiveSheet();
对于(变量i=0;i