javascript - 在表格中追加数组?

标签 javascript google-apps-script google-sheets

首先,我在这里非常缺乏经验,所以如果这是显而易见的,我深表歉意。

我有一个自动更新的数据数组,我希望复制这些数据,以便我拥有它的存档。

我设法找到了以下适合我想要的脚本:

 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]);

这会在新行的第一个单元格中输出“Range”。 ]

任何指示将不胜感激,

谢谢

最佳答案

在您的示例中,您尝试附加一个三维数组:

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]);
}

关于javascript - 在表格中追加数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45216735/

相关文章:

javascript - 为什么创建和删除 Azure 表失败?

google-apps-script - 在 Google 电子表格列中自动查找和替换

javascript - 从一个单元格复制一个值并将其粘贴到另一个 - Google Apps 脚本

javascript - 多个 jQuery ajax 调用 - 之前的调用抛出失败

javascript - 在 Symfony 中,我如何在 javascript 中写入图像 url

javascript - 我如何打印用户在javascript中点击的字母?

forms - 检索 Google 表单回复者的电子邮件地址,而无需在表单中询问他们的电子邮件地址

google-apps-script - 是否可以使用 Google Apps 脚本通过 Google Drive API 模拟域的用户?

javascript - 用谷歌电子表格中的数据填充谷歌图表

if-statement - 将一系列单元格与单个单元格进行比较,然后递增一个值