我有一个绑定到电子表格的Google Apps脚本,可将电子表格转换为XML。
有没有办法在任务完成时将生成的XML文件下载到用户计算机上?
我希望它的行为就像电子表格的“文件>下载格式”功能一样。
由于
答案 0 :(得分:1)
这个示例脚本怎么样?请将此视为几个答案之一。
为了使用此示例,首先请设置生成的XML文件的文件ID。为此,例如,它被认为是以下方法。
此示例脚本的流程如下:
onOpen()
。download(obj)
。function onOpen() {
SpreadsheetApp.getUi()
.createMenu('download')
.addItem('download files', 'dialog')
.addToUi();
}
function dialog() {
var html = HtmlService.createHtmlOutputFromFile('download');
SpreadsheetApp.getUi().showModalDialog(html, 'Sample dialog');
}
function getDownloadUrl() {
var id = "### file id ###"; // Please put file ID of your generated XLM file.
var file = DriveApp.getFileById(id);
return {
url: file.getDownloadUrl().replace("?e=download&gd=true",""),
filename: file.getName()
};
}
<input type="button" value="download" onclick="getUrl()" />
<script>
function getUrl() {
google.script.run.withSuccessHandler(download).getDownloadUrl();
}
function download(obj) {
var d = document.createElement('a');
d.href = obj.url;
d.download = obj.filename;
d.click();
}
</script>
此示例脚本非常简单。所以请根据您的环境进行修改。
如果我误解了你的问题,我很抱歉。