我得到如下输出(行方式):
one
two
three
但我想显示如下的值(列中,每个单元格中的单个值):
one two three
任何人都可以告诉我如何使用Google应用脚本中的getRange
功能实现这一目标?
感谢。
答案 0 :(得分:1)
除非您只设置1个值,否则我建议您使用getRange(startRow, startCol, numRows, numCols)
和Range
类方法getValues()
和setValues()
。
getValues()
生成一个2d数组,您可以使用索引访问(让我们在示例中使用整数变量row
和col
)data[row][col]
因此,假设您希望将one, two, three
设置为第1行中的A,B和C列,那么您只需要执行
var targetRange = SpreadsheetApp.getActiveSheet().getRange(1, 1, 1, 3)
var data = [['One', 'Two', 'Three']]
targetRamge.setValues(data)
现在假设我想在第1行和第3行中将第一,第二和第三列写入A列,然后它只是略有不同:
var targetRange = SpreadsheetApp.getActiveSheet().getRange(1, 1, 3, 1) //we now get 1 column, but 3 rows
var data = [['One'], ['Two'], ['Three']] //Each array inside of the main array is a new row
targetRamge.setValues(data)
你有它。只需将数据作为2D数组进行操作,并使用.getValues()
和.setValues()
,其范围使用多行和/或列。
答案 1 :(得分:0)
不确定这是否有用。你听说过appendRow()吗?这会将您的数组添加到工作表的最后一行。
function append() {
var arr = ["a","b","c"]
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Entities')
sheet.appendRow(arr)
}