1
我想在我的Google Spreadsheet中創建一個運行腳本的菜單按鈕。 此腳本應該提取特定的行和列,然後將它們導出到XML文件。谷歌腳本導出電子表格到XML文件
我正在嘗試使用ContentService編寫xml文件,但它似乎不起作用。有沒有可以提供幫助的示例或教程?
謝謝
我想在我的Google Spreadsheet中創建一個運行腳本的菜單按鈕。 此腳本應該提取特定的行和列,然後將它們導出到XML文件。谷歌腳本導出電子表格到XML文件
我正在嘗試使用ContentService編寫xml文件,但它似乎不起作用。有沒有可以提供幫助的示例或教程?
謝謝
您是否收到任何錯誤消息?或者,具體是什麼不工作?
我只是測試它,它似乎很好,這是我的片斷
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>';
}
順便說一句,我已經公佈的這個腳本作爲web應用程序運行的用戶進行任何測試:https://script.google.com/macros/s/AKfycbwrctRyspI2LnZ5hP8CMm7yY96jebLQS_4LShaKr_RIUKLm9qg/exec?id=paste-a-spreadsheet-id-here
謝謝!它現在的工作,訣竅是將腳本部署爲一個web應用程序。 再次感謝您;) – Shatazone
這是我完全與谷歌混淆 - 它說你的腳本想要查看我的文檔的權限,但顯然我不希望你(沒有冒犯) – v3nt
此腳本確實讀取A1:B2範圍您在電子表格中提供了id(用於生成其xml輸出)。儘管整個代碼都可以在答案中找到。如果你不相信我的腳本(你真的不應該這樣做),你可以複製代碼並自己部署它。 –