這個腳本怎麼樣?該腳本從電子表格導出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>
腳本:
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;
}
過程:
使用 「的OnOpen()」 時,就將此菜單用於啓動對話。
啓動對話框後,通過按下按鈕啓動「saveAsCSV()」。 「saveAsCSV()」導出CSV文件並輸出下載URL。在當前腳本中,活動工作表上的所有數據都將被檢索並導出CSV。如果你想檢索你需要的範圍,請使用「getRange()」。
CSV文件由「executeDownload()」下載。
您可以分別通過「文件名」和「文件夾」設置csv文件名和輸出文件夾。在此示例中,源表單是當前打開的表單。如果您想要其他工作表,請更改此腳本。
如果這對你有幫助,我很高興。
您忘了添加您嘗試過的代碼。http://stackoverflow.com/help/how-to-ask – Aaron
function onOpen(){ var ss = SpreadsheetApp.getActiveSpreadsheet(); var csvMenuEntries = [{name:「export as csv files」,functionName:「saveAsCSV」}]; ss.addMenu(「csv」,csvMenuEntries); }; –
我已經試過,但不能在我的問題選項卡中添加代碼,請幫我在這 –