Google Script将电子表格导出到XML文件

时间:2016-12-29 10:31:18

标签: xml google-apps-script download google-sheets

我正在尝试在运行脚本的Google电子表格中创建一个菜单按钮。 此脚本应提取特定的行和列,然后将它们导出到XML文件。

我正在尝试使用ContentService编写xml文件,但它似乎不起作用。是否有可以提供帮助的示例或教程?

由于

1 个答案:

答案 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