问题是:每当我运行脚本时,它会创建一个新的名为" NEWDATA“的工作表,所以我不能触发自动运行脚本,(这意味着我必须删除NEWDATA工作表才能多次运行脚本)。
if ( fi.hasNext() ) { // proceed if "report.csv" file exists in the reports folder
var file = fi.next();
var csv = file.getBlob().getDataAsString();
var csvData = CSVToArray(csv); // see below for CSVToArray function
var newsheet = ss.insertSheet('NEWDATA');// create a 'NEWDATA' sheet to store imported data
// loop through csv data array and insert (append) as rows into 'NEWDATA' sheet
for ( var i=0, lenCsv=csvData.length; i<lenCsv; i++ ) {
newsheet.getRange(i+1, 1, 1, csvData[i].length).setValues(new Array(csvData[i]));
}
/*
** report data is now in 'NEWDATA' sheet in the spreadsheet - process it as needed,
** then delete 'NEWDATA' sheet using ss.deleteSheet(newsheet)
*/
// rename the report.csv file so it is not processed on next scheduled run
file.setName("report-"+(new Date().toString())+".csv");我希望有人能帮助我修复这个代码的结果:它将数据从csv文件写入到现有的工作表中,因此数据将是连续的,我的意思是"appendrow“函数。对不起,我是新手,我试过很多方法,但这对我来说太难了,谢谢。
发布于 2019-07-21 13:50:18
而不是:
var newsheet = ss.insertSheet('NEWDATA');使用:
var newsheet = ss.getSheetByName('NEWDATA') || ss.insertSheet('NEWDATA');在创建新的工作表之前,它将检查工作表是否存在。
https://stackoverflow.com/questions/57130651
复制相似问题