Sim*_*ton 1 google-apps-script
我正在尝试将一些数据从一张纸复制并粘贴到另一张纸上。我有以下数据结构->
我要复制的内容(sheet1):
dataname value
data1 value1
data2 value2
data3 value3
data4 value4
Run Code Online (Sandbox Code Playgroud)
最终结果(sheet2):
day1 value1 value2 value3 value4
day2 value1 value2 value3 value4
day3 value1 value2 value3 value4
Run Code Online (Sandbox Code Playgroud)
如您所知,sheet1 上的数据每天都会刷新并复制到 sheet2 上。
这是我正在使用的脚本:
function getdata() {
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("sheet1");;
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("sheet2")
var data = ss.getRange('B1:B10').getValues()[0][0];
sheet.appendRow([data[1],data[1],data[2],data[3],data[4],data[5],data[6]]);
}
Run Code Online (Sandbox Code Playgroud)
我知道这是一个非常基本的问题,但我仍然不明白getValues()真正的工作原理。使用上面的脚本,我得到以下结果:
undefined undefined undefined undefined undefined undefined undefined
Run Code Online (Sandbox Code Playgroud)
这是为什么 ?我该怎么办 ?
谢谢 !
getValues()返回Object[][]值数组的数组。
当您运行时,var data = ss.getRange('B1:B10').getValues()[0][0];您取左上角的值并将其保存在data 中。
我不知道那个单元格中有什么,但我假设它是一个空字符串,因为您从偏移量 1 开始对其进行子集化,它返回 undefined 而不是抛出异常。
你(可能)想要做的是这样的:
var data = ss.getRange('B1:B10').getValues();
sheet.appendRow([data[1][1],data[2][1],data[3][1],data[4][1],data[5][1],data[6][1]]);
Run Code Online (Sandbox Code Playgroud)
sheet1它从第 2-7 行的第二列中取出并将其转置并将其附加到 sheet2。
| 归档时间: |
|
| 查看次数: |
11408 次 |
| 最近记录: |