Javascript 将多个字段添加到一行
首先,我对这个非常陌生。我们使用google表单作为不同的排序形式,希望在单个源中捕获数据。我试图避免单独映射每个单元格。下面是我必须捕获的100个字段的开始。我得到的错误是,我的数据3不匹配我的列10。有没有办法布置不同的范围,让他们都挤到一排Javascript 将多个字段添加到一行,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,首先,我对这个非常陌生。我们使用google表单作为不同的排序形式,希望在单个源中捕获数据。我试图避免单独映射每个单元格。下面是我必须捕获的100个字段的开始。我得到的错误是,我的数据3不匹配我的列10。有没有办法布置不同的范围,让他们都挤到一排 //Input Values function SubmitData() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var formS = ss.getAc
//Input Values
function SubmitData() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var formS = ss.getActiveSheet();
var datasheet = ss.getSheetByName("Data");
var values = [[formS.getRange("B1:B4").getValues(),
formS.getRange("D2:D4").getValues(),
formS.getRange("F2").getValue()]];
datasheet.getRange(datasheet.getLastRow()+1, 1, 1,10).setValues(values)
我认为在您的脚本中,用于放入电子表格的
值必须是二维数组。但是,formS.getRange(“B1:B4”).getValues()
和formS.getRange(“D2:D4”).getValues()
是二维数组,而formS.getRange(“F2”).getValues()
不是数组。我想这就是你的问题所在
为了将这些值放到工作表的一行数据
,下面的修改如何
修改脚本:
发件人:
致:
- 通过这种修改,
值类似于[['B1',B2',B3',B4',D2',D3',D4',F2']
。数组的每个值都是单元格的符号。并且,这将放在图纸最后一行的下一行Data
- 在这种情况下,
值[0]
的长度为8
。它不是10
。所以我使用了值[0]。长度
参考资料:
var values = [[formS.getRange("B1:B4").getValues(),
formS.getRange("D2:D4").getValues(),
formS.getRange("F2").getValue()]];
datasheet.getRange(datasheet.getLastRow()+1, 1, 1,10).setValues(values)
var values = [[
...formS.getRange("B1:B4").getValues().flat(),
...formS.getRange("D2:D4").getValues().flat(),
formS.getRange("F2").getValue()
]];
datasheet.getRange(datasheet.getLastRow() + 1, 1, 1, values[0].length).setValues(values);