Google apps script google应用程序脚本使用分号而不是逗号导出csv
我正在使用下面的代码将谷歌电子表格导出到特定文件夹中的CSV。 我需要一个分号;作为分隔符而不是逗号Google apps script google应用程序脚本使用分号而不是逗号导出csv,google-apps-script,automatic-semicolon-insertion,Google Apps Script,Automatic Semicolon Insertion,我正在使用下面的代码将谷歌电子表格导出到特定文件夹中的CSV。 我需要一个分号;作为分隔符而不是逗号 function saveAsCSV() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var ssname = ss.getName(); var sheet = ss.getActiveSheet(); var parentFolder = DriveApp.getFolderById("MyID"); var folder = pare
function saveAsCSV() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var ssname = ss.getName();
var sheet = ss.getActiveSheet();
var parentFolder = DriveApp.getFolderById("MyID");
var folder = parentFolder;
var curDate = Utilities.formatDate(new Date(), "GMT+1", "yyyyMMdd")
var fileName = "MyName" + curDate + ".csv";
var url = "https://docs.google.com/spreadsheets/d/" + ss.getId() + "/export?
exportFormat=csv&format=csv";
var token = ScriptApp.getOAuthToken();
var response = UrlFetchApp.fetch(url + sheet.getSheetId(), {
headers: {
'Authorization': 'Bearer ' + token
}
});
folder.createFile(response.getBlob().setName(fileName));
}
谢谢你的帮助
你要换,要换;用于检索到的CSV数据。
您希望将替换的数据创建为文件。
如果我的理解是正确的,那么这个答案呢?请把这看作是几个可能的答案之一
修改点:
提供的数据;用作分隔符,而不是,不是文本/csv的mimeType。在这种情况下,要求为文本/纯文本。
在您的脚本中,我想提出以下两种模式。
模式1:
在该模式中,检索值,并用分隔符分隔数据;是创建的
修改脚本:
当您的脚本被修改时,请修改如下
发件人:
致:
模式2:
在此模式中,将转换检索到的CSV数据
修改脚本:
当您的脚本被修改时,请修改如下
发件人:
致:
注:
请启用V8。
参考:
如果我误解了你的问题,而这不是你想要的方向,我道歉
var url = "https://docs.google.com/spreadsheets/d/" + ss.getId() + "/export?
exportFormat=csv&format=csv";
var token = ScriptApp.getOAuthToken();
var response = UrlFetchApp.fetch(url + sheet.getSheetId(), {
headers: {
'Authorization': 'Bearer ' + token
}
});
folder.createFile(response.getBlob().setName(fileName));
var values = sheet.getDataRange().getValues();
var outputData = values.map(r => r.join(";")).join("\n");
folder.createFile(fileName, outputData, MimeType.PLAIN_TEXT);
folder.createFile(response.getBlob().setName(fileName));
var csvData = Utilities.parseCsv(response.getBlob().getDataAsString());
var outputData = csvData.map(r => r.join(";")).join("\n");
folder.createFile(fileName, outputData, MimeType.PLAIN_TEXT);