Nag*_*het 3 google-apps-script
我尝试过以下脚本不起作用。当我下载为 CSV 格式时,它全部在一列中,而不是标准格式。使用 Google Apps 脚本,如何下载为 CSV 格式并将文件保存在我的驱动器或下载中?
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var csvMenuEntries = [{name: "export as csv files", functionName: "saveAsCSV"}];
ss.addMenu("csv", csvMenuEntries);
};
Run Code Online (Sandbox Code Playgroud)
这个脚本怎么样?此脚本从电子表格导出 CSV 文件并让用户下载它。
请将 HTML 和脚本放入 GAS 项目中。
html:
该文件名为“download.html”。
<!DOCTYPE html>
<html>
<body>
Download CSV?
<form>
<input type="button" value="ok" onclick="google.script.run
.withSuccessHandler(executeDownload)
.saveAsCSV();" />
</form>
</body>
<script>
function executeDownload(url) {
window.location.href = url;
}
</script>
</html>
Run Code Online (Sandbox Code Playgroud)
脚本 :
function onOpen() {
SpreadsheetApp.getUi()
.createMenu('csv')
.addItem('export as csv files', 'dialog')
.addToUi();
}
function dialog() {
var html = HtmlService.createHtmlOutputFromFile('download');
SpreadsheetApp.getUi().showModalDialog(html, 'CSV download dialog');
}
function saveAsCSV() {
var filename = "#####"; // CSV file name
var folder = "#####"; // Folder ID
var csv = "";
var v = SpreadsheetApp
.getActiveSpreadsheet()
.getActiveSheet()
.getDataRange()
.getValues();
v.forEach(function(e) {
csv += e.join(",") + "\n";
});
var url = DriveApp.getFolderById(folder)
.createFile(filename, csv, MimeType.CSV)
.getDownloadUrl()
.replace("?e=download&gd=true","");
return url;
}
Run Code Online (Sandbox Code Playgroud)
过程 :
使用“onOpen()”,它添加了用于启动对话框的菜单。
启动对话框后,按下按钮即可启动“saveAsCSV()”。“saveAsCSV()”导出 CSV 文件并输出下载 URL。在当前脚本中,将检索活动工作表上的所有数据并将其导出为 CSV。如果您想检索所需的范围,请使用“ getRange() ”。
CSV 文件通过“executeDownload()”下载。
您可以分别通过“文件名”和“文件夹”设置 csv 文件名和输出文件夹。在此示例中,源工作表是当前打开的工作表。如果您想要其他表,请更改此脚本。
如果这对您有帮助,我很高兴。
| 归档时间: |
|
| 查看次数: |
13747 次 |
| 最近记录: |