首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动将上传的CSV或XLS文件中的数据导入Google Sheets代码的改进

自动将上传的CSV或XLS文件中的数据导入Google Sheets代码的改进
EN

Stack Overflow用户
提问于 2019-07-21 13:47:12
回答 1查看 71关注 0票数 0

问题是:每当我运行脚本时,它会创建一个新的名为" NEWDATA“的工作表,所以我不能触发自动运行脚本,(这意味着我必须删除NEWDATA工作表才能多次运行脚本)。

代码语言:javascript
复制
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“函数。对不起,我是新手,我试过很多方法,但这对我来说太难了,谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-21 13:50:18

而不是:

代码语言:javascript
复制
var newsheet = ss.insertSheet('NEWDATA');

使用:

代码语言:javascript
复制
var newsheet = ss.getSheetByName('NEWDATA') || ss.insertSheet('NEWDATA');

在创建新的工作表之前,它将检查工作表是否存在。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57130651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档