【问题标题】:Import updated column only google script仅导入更新的列谷歌脚本
【发布时间】:2020-05-19 03:25:08
【问题描述】:

我有一个 CSV 文件,其中包含 A 列中的员工姓名和 B 列中的目标。我有脚本每天将数据导入谷歌表。但是,我只想在触发器运行时导入 B 列,以便工作表使用每日更新的值填充一个新列,而无需添加 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")); 
}

【问题讨论】:

    标签: csv google-apps-script google-sheets csv-import


    【解决方案1】:

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

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

    然后将outputArray中的数据发布到工作表而不是csvData


    PS:

    -- 由于数组是从零开始的,所以第 2 列的值在 csvData[row][1] 中。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多