How to connect Google Sheets to Database

前端 未结 8 1811
[愿得一人]
[愿得一人] 2020-12-23 02:31

I\'m trying to auto-populate some raw data on a sheet in my google sheets file with a query.

It doesn\'t look like sheets has any built in functionality to do so lik

8条回答
  •  余生分开走
    2020-12-23 03:09

    Abielita answer works nice

    I'm only add some extra lines in order to write the data into the active sheet.

    // Replace the variables in this block with real values.
    var address = 'host';
    var user = 'user';
    var userPwd = 'password';
    var db = 'dbname';
    
    var dbUrl = 'jdbc:sqlserver://'+address+";databaseName="+db+";";
    
    // Read up to 1000 rows of data from the table and log them.
    function readFromTable() {
      var conn = Jdbc.getConnection(dbUrl, user, userPwd);
    
      var start = new Date();
      var stmt = conn.createStatement();
      stmt.setMaxRows(1000);
      var results = stmt.executeQuery('select * from TableName');
      var numCols = results.getMetaData().getColumnCount();
    
       var sheet = SpreadsheetApp.getActiveSpreadsheet();
          var cell = sheet.getRange('A1');
          var numCols = results.getMetaData().getColumnCount();
          var row =0;
    
          while (results.next()) {
            var rowString = '';
            for (var col = 0; col < numCols; col++) {
              rowString += results.getString(col + 1) + '\t';
              cell.offset(row, col).setValue(results.getString(col +1 ));
            }
            row++
           Logger.log(rowString)
          }
    
      results.close();
      stmt.close();
    
      var end = new Date();
      Logger.log('Time elapsed: %sms', end - start);
    }
    

提交回复
热议问题