問題:
我有 2 張相同的工作表,想將第一張工作表中的所有非空行複製到第二張工作表。這個複製過程應該從第一張紙的 A 列的第 2 行開始。換句話說,我不想在副本中包含標題/標題。
嘗試的解決方案:
下面的腳本複制整個第一張紙(包括標題/標題),而不是從第 2 行開始復制。我很確定我遺漏了一些東西並且無法找到它,因為我還在學習如何處理 Apps 腳本。
問題:
有人可以更正下面的代碼,以便它只能將非空行從第一張紙複製到第二張紙,而沒有標題/標題嗎?
非常感謝你。
function copyAndAddNewEntries() {
var sourceSheet = SpreadsheetApp.openById('SOURCE_SHEET_ID').getSheetByName('SOURCE_SHEET_NAME')
var sourceSheetrange = sourceSheet.getDataRange();
var sourceSheetData = sourceSheetrange.getValues();
var targetSheet = SpreadsheetApp.openById('TARGET_SHEET_ID').getSheetByName('TARGET_SHEET_NAME');
targetSheet.getRange(targetSheet.getLastRow() + 1, 1, sourceSheetrange.getHeight(), sourceSheetrange.getWidth()).setValues(sourceSheetData);
}
我相信你的目標如下。
在這種情況下,如何進行以下修改?
function copyAndAddNewEntries() {
var sourceSheet = SpreadsheetApp.openById('SOURCE_SHEET_ID').getSheetByName('SOURCE_SHEET_NAME');
var sourceSheetrange = sourceSheet.getDataRange();
var [, ...sourceSheetData] = sourceSheetrange.getValues();
sourceSheetData = sourceSheetData.filter(e => e.join("") != "");
var targetSheet = SpreadsheetApp.openById('TARGET_SHEET_ID').getSheetByName('TARGET_SHEET_NAME');
targetSheet.getRange(targetSheet.getLastRow() + 1, 1, sourceSheetData.length, sourceSheetData[0].length).setValues(sourceSheetData);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句