仅导入更新的列 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
语句中以避免错误。
我有一个 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
语句中以避免错误。