【问题标题】:Google Script Export Spreadsheet to XML File谷歌脚本将电子表格导出到 XML 文件
【发布时间】:2016-12-29 10:31:17
【问题描述】:

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

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

谢谢

【问题讨论】:

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


    【解决方案1】:

    您是否收到任何错误消息?或者,具体是什么不起作用?

    我刚刚测试过,看起来不错,这是我的sn-p

    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

    【讨论】:

    • 谢谢!它现在可以工作了,诀窍是将脚本部署为 web 应用程序。再次感谢您;)
    • 这是我与谷歌完全混淆的地方 - 它说你的脚本需要查看我的文档的权限,但显然我不希望你(没有冒犯)
    • 此脚本会读取您在 url 上提供 id 的 A1:B2 范围的电子表格(以生成其 xml 输出)。整个代码可在答案中找到。如果你不相信我的脚本(你真的不应该),你可以复制代码并自己部署。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多