自动将mySQL查询导入Google表格?

时间:2016-01-20 21:33:13

标签: mysql google-sheets google-docs

基本上我使用高级CFO解决方案MySQL查询从MySQL服务器中提取数据表并且工作正常,但我想将其自动化为每天运行一次。还有一个可以设置调度的替代添加,但它每月花费50美元,而我所做的并不重要,不足以保证成本。

感谢任何和所有帮助。

1 个答案:

答案 0 :(得分:0)

在使用Advanced CFO Solutions mysql Addon并要求查询自动化后,我找到了解决问题的另一种方法。

它以脚本的形式,然后您可以使用触发器设置在特定时间运行。所以这给了一个比Addon更多的功能。

访问Google表格中的脚本:工具>脚本编辑器。

复制此功能并替换默认功能:

function RunQuery() {
   var conn = Jdbc.getConnection("jdbc:mysql://201.54.190.213:3306/database_table_name", "Username", "Password");

 var SQLstatement = conn.createStatement();
 var result = SQLstatement.executeQuery("SELECT NOW() ");


  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Sheet Name");
  sheet.clear();

  var cell = sheet.getRange('A1');


  Logger.log(cell.getA1Notation());
  var row = 0;
  while (result.next()) {
    for (var col = 0; col < result.getMetaData().getColumnCount(); col++) {
      cell.offset(row, col).setValue(result.getString(col + 1));
    }
    row++;
  }

 result.close();
 SQLstatement.close();
 conn.close();   
};

<强>触发器: 在脚本编辑器中,转到编辑&gt;所有触发器 继续设置一个新的触发器,以便随时运行。

剧本的致谢:https://github.com/jstakich/Fill_Specific_Sheet_Google_Apps_Script_Mysql/blob/master/Code.gs