使用应用程序脚本将数据从Cloud SQL导出到Excel

时间:2013-03-12 13:18:04

标签: google-apps-script google-cloud-sql

有没有办法将云端SQL数据导出到Excel工作表,而无需使用 Google Apps脚本将其复制到Google电子表格。

由于Google Spreadsheet有4,00,000个单元格的限制,我希望将数据直接导出到Excel工作表,而不是将其复制到电子表格。

我特别想使用Google Apps脚本来实现它。

2 个答案:

答案 0 :(得分:0)

是的,您可以提供CSV文件,您可以将其设置为下载。我附上了一个示例脚本,向您展示它是如何工作的。

警告:由于这是逗号分隔值文件,因此您必须确保数据包含逗号。

function doGet(e) {
  if (parseInt(e.parameter.download) == 1) {
    var someData = [{name:"Jerry",
                     age:27,
                     married:true},
                    {name:"Harry",
                     age:16,
                     married:false},
                    {name:"Gary",
                     age:65,
                     married:true},
                    {name:"Larry",
                     age:41,
                     married:false}];
    var output = "Name,Age,Married?\n";
    for (var i in someData) {
      output += someData[i].name + ","+someData[i].age + ","+someData[i].married + "\n";
    }
    return ContentService.createTextOutput(output).downloadAsFile("data.csv");
  } else {
    var app = UiApp.createApplication();
    var anchor = app.createAnchor("Download the CSV File",ScriptApp.getService().getUrl()+"?download=1");
    app.add(anchor);
    return app;
  }
}

注意:因为您正在寻找这么大的文件,所以这实际上可能不起作用。你的脚本可能会超时。假设您拥有的每个条目都是100个字节,那么您将拥有一个400 MB的Excel文件?这一般来说很大。

答案 1 :(得分:0)

直接从excel https://developers.google.com/cloud-sql/docs/external

使用odbc / jdbc,可以避免g应用和电子表格的限制