繁体   English   中英

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

[英]Unable to use "setValues" in Google Sheets after splitting string into array

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

“无法在 number[][] 中转换数组”

但是它工作正常,如果我遍历数组并使用 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]);
  //}

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM