如何在Google应用脚本中的列中显示值

时间:2016-12-30 08:20:24

标签: google-apps-script google-sheets google-spreadsheet-api

我得到如下输出(行方式):

one
two
three

但我想显示如下的值(列中,每个单元格中的单个值):

one two three

任何人都可以告诉我如何使用Google应用脚本中的getRange功能实现这一目标?

感谢。

2 个答案:

答案 0 :(得分:1)

除非您只设置1个值,否则我建议您使用getRange(startRow, startCol, numRows, numCols)Range类方法getValues()setValues()

getValues()生成一个2d数组,您可以使用索引访问(让我们在示例中使用整数变量rowcoldata[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)

}