【发布时间】:2019-12-09 11:48:16
【问题描述】:
目标
我正在尝试使用谷歌脚本编辑器将谷歌驱动器上的 csv 文件导入我的谷歌表格。有人可以向我澄清我对脚本的误解以及我需要调整什么以允许我将多个工作表请求粘贴到下面吗?抱歉,如果这是直截了当的事情,这是我第一次使用脚本编辑器,对此我并不熟悉。
问题
目前我的代码仅填充 1 张数据。而不是将第二部分视为我想要填充的下一张表,使用不同的 csv 表 ID。
我尝试过的
- 将变量更改为更独特,以使工作表将我的变量视为不同,因为我认为它每次都在擦除。
- 查看其他在线帮助论坛但没有找到任何东西 和我能理解的差不多。
当前代码
function onOpen(e) {
SpreadsheetApp.getUi()
.createMenu('RefreshData')
.addItem('Run getCSV', 'getCSV')
.addToUi()
}
function getCSV() {
//ENTER YOUR CSV FILE ID IN THE getFileByID in the ""
var file = DriveApp.getFileById("<file_id>");
var csvFile = file.getBlob().getDataAsString();
var csvData = Utilities.parseCsv(csvFile);
//CHANGE SHEET NAME TO WHATEVER YOUR SHEET IS CALLED
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
sheet.clear();
sheet.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData);
}
function getCSV() {
//ENTER YOUR CSV FILE ID IN THE getFileByID in the ""
var file = DriveApp.getFileById("<file_id2>");
var csvFile = file.getBlob().getDataAsString();
var csvData = Utilities.parseCsv(csvFile);
//CHANGE SHEET NAME TO WHATEVER YOUR SHEET IS CALLED
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet2");
sheet.clear();
sheet.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData);
}
【问题讨论】:
-
看起来您正在使用相同的函数名称来提取 2 个不同的 CSV -
getCSV()。在这种情况下,建议您重命名其中一个并从另一个调用它。
标签: csv google-apps-script google-sheets