我正在尝试在运行脚本的Google电子表格中创建一个菜单按钮。 此脚本应提取特定的行和列,然后将它们导出到XML文件。
我正在尝试使用ContentService编写xml文件,但它似乎不起作用。是否有可以提供帮助的示例或教程?
由于
答案 0 :(得分:3)
您收到任何错误消息吗?或者,具体是什么不起作用?
我刚测试过,看起来很好,这是我的片段
function doGet(e) {
var content;
try {
content = doIt(e);
} catch(err) {
content = '<error>' + (err.message || err) + '</error>';
}
return ContentService.createTextOutput(content)
.setMimeType(ContentService.MimeType.XML);
}
function doIt(e) {
if (!e) throw 'you cannot run/debug this directly\nyou have to either call the url or mock a call';
if (!e.parameter.id) throw '"id" parameter not informed. Please provide a spreadsheet id.';
var values = SpreadsheetApp.openById(e.parameter.id)
.getSheets()[0].getRange('A1:B2').getValues();
return '<sheet>' + values.map(function(row, i) {
return '<row>' + row.map(function(v) {
return '<cell>' + v + '</cell>';
}).join('') + '</row>';
}).join('') + '</sheet>';
}
顺便说一句,我已将此脚本发布为以用户身份运行的网络应用程序供所有人测试:https://script.google.com/macros/s/AKfycbwrctRyspI2LnZ5hP8CMm7yY96jebLQS_4LShaKr_RIUKLm9qg/exec?id= paste-a-spreadsheet-id-here