javascript - 进行编辑时,如何将范围从一张 Google 表格复制到另一张 Google 表格?

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

我有一个工作表,它将使用 importfeed() 根据 RSS 提要中的新文章进行更新,并使用 importxml() 分析 URL。问题是数据总是在变化,我想从 importfeed() 函数归档旧数据。我只想将最新的数据从一张工作表移动到另一张工作表而不覆盖任何内容。

以下是示例代码:https://stackoverflow.com/users/650206/jeremy :

function myFunction() {
// Get Spreadsheets
var source = SpreadsheetApp.openById("spreadsheetKeySource");
var target = SpreadsheetApp.openById("spreadsheetKeyTarget");

// Set Sheets
var source_sheet = source.getSheetByName("Sheet1");
var target_sheet = target.getSheetByName("Sheet1");

// Get target last row
var last_row = target_sheet.getLastRow();

// Set Ranges
var source_range = source_sheet.getRange("A1:B1");
var target_range = target_sheet.getRange("A"+(last_row+1)+":B"+(last_row+1));

// Fetch values
var values = source_range.getValues();

// Save to spreadsheet

   target_range.setValues(values);
}

上述代码的问题是,当我需要它选择整个范围(例如 A1:G55)并将该数据粘贴到另一张纸中的旧数据下方时,它只选择一行。

任何帮助将不胜感激!

编辑

更改时遇到的错误:

var source_range = source_sheet.getRange("A1:B1");
var target_range = target_sheet.getRange("A"+(last_row+1)+":B"+(last_row+1));

至:

var source_range = source_sheet.getRange("A1:G25");
var target_range = target_sheet.getRange("A"+(last_row+1)+":G"+(last_row+1));

是“范围高度不正确,为 5,但应为 1(第 21 行,文件“代码”)”

这是一段代码:

target_range.setValues(values);

最佳答案

var source_range = source_sheet.getRange("A1:G25");
var target_range = target_sheet.getRange("A"+(last_row+1)+":G"+(last_row+1));

上面的行尝试复制 25 行数据并将其粘贴到一行中。我很惊讶错误消息显示“是 5 但应该是 1”。我本以为它会说“是 25,但应该是 1”。

试试这个:

var source_range = source_sheet.getRange("A1:G25");
var target_range = target_sheet.getRange("A"+(last_row+1)+":G"+(last_row+25));

关于javascript - 进行编辑时,如何将范围从一张 Google 表格复制到另一张 Google 表格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23461752/

相关文章:

javascript - 使用 javascript 或 jQuery 读取 HTML 数组

javascript - 如何删除所有表行(从 if 语句),而不仅仅是 JavaScript 中的偶数/奇数

google-apps-script - GAS 中的脚本和自定义函数有什么区别?

javascript - 我如何扩展一个 javascript 对象,以便在 native 没有 outerHTML 的浏览器中,我可以定义它?

javascript - 我如何使用 JQuery 来执行此操作? (循环遍历类(class))

javascript - 如何完成 For 循环以从一张纸中的列表中设置另一张纸中的值?

google-apps-script - 新的 Google 云端硬盘资源 key 要求是否会影响 Google Apps 对电子表格的访问

google-apps-script - 遍历 Google 云端硬盘中的文件夹/子文件夹/文件

google-apps-script - 如何更新现有行(而不是创建一个新的更新行)

if-statement - 根据所选选项增加 2 个不同的 ID