我在将数据从s = ss.getSheetByName('Last Seven Days');
追加到ts = tss.getSheetByName('History');
的顶部时遇到问题。我在该区域的XP值很低,因此当我抬起头来时可能需要一些握力。
当前,我只能使用以下脚本使函数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?或有什么效果?
谢谢!
答案 0 :(得分:0)
您可以通过以下方式进行操作:
var lastSevenDays = sheet1.getValues();
var history = sheet2.getValues();
中获取数据sheet2.clear();
lastSevenDays.concat(history);
sheet2.setValues(lastSevenDays);
您的最终代码如下:
(假设两个表上都有标题并且数据的宽度相同)
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);
}
希望这会有所帮助!