Csv 如何将数据从工作表1移动到工作表2,并将工作表1数据附加到旧的工作表2数据之上

Csv 如何将数据从工作表1移动到工作表2,并将工作表1数据附加到旧的工作表2数据之上,csv,google-apps-script,google-sheets,Csv,Google Apps Script,Google Sheets,我在从s=ss.getSheetByName(“过去七天”)获取数据时遇到问题附加到ts=tss.getSheetByName('History')的顶部。我在这方面的经验是非常低的,所以可能需要一点手握住,而我的头周围 目前,我只能使用下面的脚本获取函数saveToHistory,将“过去七天”中的数据附加到“历史记录表”的底部: function saveToHistory() { var ss, s, r, v, target,ts,tss; ss = SpreadsheetApp

我在从
s=ss.getSheetByName(“过去七天”)获取数据时遇到问题
附加到
ts=tss.getSheetByName('History')的顶部。我在这方面的经验是非常低的,所以可能需要一点手握住,而我的头周围

目前,我只能使用下面的脚本获取函数saveToHistory,将“过去七天”中的数据附加到“历史记录表”的底部:

function saveToHistory() {
  var ss, s, r, v, target,ts,tss;
  ss = SpreadsheetApp.getActive();
  s = ss.getSheetByName('Last Seven Days');
  if (s.getRange(2, 1).getValue()) {  
    tss = SpreadsheetApp.getActive();
    ts = tss.getSheetByName('History'); // destination Sheet tab name
    s.getRange("A2:W").moveTo(ts.getRange(ts.getLastRow()+1, 1)); // Added
  }
}
是否有一个。getFirstRow??或者会有这种效果的东西


提前谢谢

您可以通过以下方式执行此操作:

  • 获取过去7天的数据
    var lastSevenDays=sheet1.getValues()
  • 从历史记录表获取数据
    var history=sheet2.getValues()
  • 清除历史记录表
    sheet2.Clear()
  • 将历史记录表中的数据连接到最近7天
    lastSevenDays.concat(历史记录)
  • 将合并后的数据写回工作表<代码>表2.设定值(最近七天)
  • 您的最终代码如下所示:

    (假设两个表都有标题,并且数据的宽度相同)


    希望这有帮助

    谢谢你,伙计!这就像一个魅力!希望这个答案现在能对遇到同样问题的其他人有用:)很高兴能帮上忙!记住接受对你有帮助的答案!这样其他人可以更容易/更快地找到这些资源。
    function moveToHistory() {
      var ss = SpreadsheetApp.getActive();
      var lastSevenDays = ss.getSheetByName("Last Seven Days");
      var history = ss.getSheetByName("History");
    
      var historyDataWithoutHeader = history.getDataRange().getValues();
      historyDataWithoutHeader.shift(); //This removes the first row (the header)
    
      var finalData = lastSevenDays.getDataRange().getValues().concat(historyDataWithoutHeader);
    
      history.getRange(1, 1, finalData.length, finalData[0].length).setValues(finalData);
    }