在Apps脚本中将一维数组写入表单列 [英] Writing 1D array into a sheet column in Apps Script

查看:140
本文介绍了在Apps脚本中将一维数组写入表单列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用Apps脚本将一个很长的一维数组写入工作表的列中,但无法使其工作。试过setValues()但它需要一个2D数组。

pre $ function writeArrayToColumn(){
var mainSheet = SpreadsheetApp.getActiveSheet()
var array = [ M,C,D,F,R,S,Q,V,G等
var range = array.length,1)
range.setValue(array)
}

这只在前9个单元中写入M,而不是1中的M,2中的C,等等。
如果我使用setValues(),我得到一个错误:

 无法将数组转换为对象[] []。 

关于Stack Overflow也有类似的问题,但没有人能回答这个问题。

解决方案

除了Sandy的解释之外,添加map()函数也应该有效。

  function writeArrayToColumn(){
var mainSheet = SpreadsheetApp.getActiveSheet()
var array = [M,C, D,F,R,S,Q,V,G]
.map(函数(el){
return [el];
});
var range = mainSheet.getRange(2,1,array.length,1)
range.setValues(array)
}


I'm trying to write a long 1D array into a column in a sheet using Apps Script but can't make it work. Have tried setValues() but it required a 2D array.

function writeArrayToColumn() {
var mainSheet = SpreadsheetApp.getActiveSheet()
var array = ["M", "C", "D", "F", "R", "S", "Q", "V", "G"]
var range = mainSheet.getRange(2, 1, array.length, 1)
range.setValue(array)
}

This writes only "M" in first 9 cells not "M" in 1, "C" in 2, so on and so forth. If I use setValues() I get an error:

Cannot convert Array to Object[][].

There are similar questions on Stack Overflow but none could answer this.

解决方案

In addition to Sandy's explanation, adding in a map() function should also work.

function writeArrayToColumn() {
var mainSheet = SpreadsheetApp.getActiveSheet()
var array = ["M", "C", "D", "F", "R", "S", "Q", "V", "G"]
    .map(function (el) {
        return [el];
    });
var range = mainSheet.getRange(2, 1, array.length, 1)
range.setValues(array)
}

这篇关于在Apps脚本中将一维数组写入表单列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆