首先,我在这里非常缺乏经验,如果这很明显就道歉。
我有一个自动更新的数据数组,我希望将这些数据复制出来,以便我有一个存档。
我设法找到以下适用于我想要的脚本:
function saveInstaPostData() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("xxx");
var data0 = sheet.getRange("xxx!A2:AQ21").getValue();
var data1 = sheet.getRange("xxx!B2").getValue();
var data2 = sheet.getRange("xxx!C2").getValue();
var data3 = sheet.getRange("xxx!D2").getValue();
sheet.appendRow([data1,data2,data3,...]);
}

然而,我有860个细胞,所以逐个进行是不可行的。
读取appendRow方法我意识到它(似乎)一次只能追加一行。我只有20行,所以这仍然是可行的。
然后我尝试使用
function saveInstaPostData() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Insta faction post data");
var values = sheet.getSheetValues(2, 1, 1, 43);
sheet.appendRow([values]);

但是,这会在新行的第一个单元格中输出以下内容:[Ljava.lang.Object; @ 247f2c9a
这似乎是我试图追加的数组java: what is this: [Ljava.lang.Object;?但是我无法让它发挥作用!
[我也尝试过使用
function saveInstaPostData() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Insta faction post data");
var range = sheet.getRange(2,1,20,43);
var values = range.getValues();
sheet.appendRow([values]);

这输出'范围'在新行的第一个单元格中。 ]
任何指针都会非常感激,
谢谢,
答案 0 :(得分:0)
在您的示例中,您尝试附加三维数组:
var values = sheet.getSheetValues(2, 1, 1, 43);
或
var range = sheet.getRange(2,1,20,43);
var values = range.getValues();
你的价值观"变量包含一个双维数组,您已将其放入单维数组:
sheet.appendRow([values]); // [values] put bi dimensionnal array in a mono dimensionnal array
要追加数据,您需要追加数组的每一行,例如:
for(var i=0; i<values.length;i++){
sheet.appendRow(values[i]);
}