仅导入更新的列 google 脚本

Import updated column only google script

我有一个 CSV 文件,其中包含 A 列中的员工姓名和 B 列中的目标。我有每天将数据导入 google sheet 的脚本。但是,我只想在触发器运行时导入 B 列,以便 sheet 使用每日更新的值填充新列而不添加 A 列。

function importCSVFromGoogleDrive() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var file = DriveApp.getFilesByName("Employee Targets.csv").next();
  var csvData = Utilities.parseCsv(file.getBlob().getDataAsString().split('\r').splice(1)) ;
  var sheet = SpreadsheetApp.getActive().getSheetByName("Daily Tracker");
  var lastcol = sheet.getLastColumn();
  sheet.getRange(1, lastcol + 1, csvData.length, csvData[0].length).setValues(csvData);
  sheet.getRange(1,sheet.getLastColumn()).setValue(Utilities.formatDate(new Date(), "your_timezone", "dd-MM-yy")); 
}

您需要从 csvData 创建一个仅包含 B 列值的新数组。

  var outputArray = []
  for (var row in csvData) {
    outputArray.push([csvData[row][1]]); // to post just column 2 to the sheet
  }

然后post将outputArray中的数据改为sheet而不是csvData


PS:

-- 由于数组是从零开始的,因此第 2 列的值在 csvData[row][1].

-- 如果 csvData 可能为空,您可能希望将其包装在 if 语句中以避免错误。