将字符串拆分为数组后无法在 Google 表格中使用"setValues"



我不确定,为什么在我将文本拆分为数组后一次性设置值不起作用。错误消息有点奇怪:

"无法转换数字 [][] 中的数组">

不过,如果我遍历数组并使用 setValue(不带"s"(代替,它工作正常,所以我无法弄清楚出了什么问题。

我将不胜感激你的帮助。提前谢谢。

function Replace() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getSheetByName("Sheet1");
var text ="Might-be-a-system-bug-of-course.";
var list = text.split("-");
var listLen = list.length;
Logger.log(list.length);
Logger.log(list);
// This does not work:
sh.getRange(1, 1, listLen, 1).setValues(list); 
// This works:
//for (var i = 0; i < listLen; i++) {
//  sh.getRange(i + 1, 1).setValue(list[i]);
//}
}

setValues需要一个二维数组:

function Replace() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getSheetByName("Sheet1");
var text ="It's-almost-never-a-system-bug";
var list = text.split("-");
var listLen = list.length;
Logger.log(list.length);
Logger.log(list);
// This work:
sh.getRange(1, 1, listLen, 1).setValues(list.map(e => [e])); 
sh.getRange(10, 1, 1,listLen).setValues([list]);
// This works:
//for (var i = 0; i < listLen; i++) {
//  sh.getRange(i + 1, 1).setValue(list[i]);
//}
}

最新更新