我有一个工作表,它将使用 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/