Cách truy vấn SQL Server trên Google Sheet?

Liên hệ QC

lameco411

Thành viên hoạt động
Tham gia
27/11/15
Bài viết
162
Được thích
63
Có anh chị nào từng dùng google sheets để lấy dữ liệu từ MSSQL không cho em xin code với ạ!
 
Có anh chị nào từng dùng google sheets để lấy dữ liệu từ MSSQL không cho em xin code với ạ!



Bạn dùng code sau nhé:
Mã:
function onOpen() {

var spreadsheet = SpreadsheetApp.getActive();

var menuItems = [
    {name: 'Lấy dữ liệu', functionName: 'readData'}
];
spreadsheet.addMenu('SQLServer', menuItems);
}


var address = '171.244.39.128'; //IP của bạn
var user = 'AnhDom';
var userPwd = '1234!@#$GPe';
var db = 'Test';

var dbUrl = 'jdbc:sqlserver://' + address + ';databaseName=' + db;


function readData() {
var conn = Jdbc.getConnection(dbUrl, user, userPwd);


var stmt = conn.createStatement();

var results = stmt.executeQuery('SELECT * FROM [dbo].[tblTest]');
var metaData=results.getMetaData();
var numCols = metaData.getColumnCount();

var sheet = SpreadsheetApp.getActiveSheet();



sheet.clearContents();

var arr=[];

for (var col = 0; col < numCols; col++) {
  arr.push(metaData.getColumnName(col + 1));
}

sheet.appendRow(arr);


while (results.next()) {
  arr=[];

  for (var col = 0; col < numCols; col++) {

   arr.push(results.getString(col + 1));
  }
sheet.appendRow(arr);

}

results.close();
stmt.close();

sheet.autoResizeColumns(1, numCols+1);


}

Xem link: https://docs.google.com/spreadsheets/d/1Pw9vx0f-DCFOaUYlOv--o5-a7k3t0pmVSldieFkI2VM/edit#gid=0
 

Bạn dùng code sau nhé:
Mã:
function onOpen() {

var spreadsheet = SpreadsheetApp.getActive();

var menuItems = [
    {name: 'Lấy dữ liệu', functionName: 'readData'}
];
spreadsheet.addMenu('SQLServer', menuItems);
}


var address = '171.244.39.128'; //IP của bạn
var user = 'AnhDom';
var userPwd = '1234!@#$GPe';
var db = 'Test';

var dbUrl = 'jdbc:sqlserver://' + address + ';databaseName=' + db;


function readData() {
var conn = Jdbc.getConnection(dbUrl, user, userPwd);


var stmt = conn.createStatement();

var results = stmt.executeQuery('SELECT * FROM [dbo].[tblTest]');
var metaData=results.getMetaData();
var numCols = metaData.getColumnCount();

var sheet = SpreadsheetApp.getActiveSheet();



sheet.clearContents();

var arr=[];

for (var col = 0; col < numCols; col++) {
  arr.push(metaData.getColumnName(col + 1));
}

sheet.appendRow(arr);


while (results.next()) {
  arr=[];

  for (var col = 0; col < numCols; col++) {

   arr.push(results.getString(col + 1));
  }
sheet.appendRow(arr);

}

results.close();
stmt.close();

sheet.autoResizeColumns(1, numCols+1);


}

Xem link: https://docs.google.com/spreadsheets/d/1Pw9vx0f-DCFOaUYlOv--o5-a7k3t0pmVSldieFkI2VM/edit#gid=0
Cám ơn anh nhiều!
Em chạy thử rồi có điều nó hơi chậm!
Anh ơi cho em hỏi cái này nó tự động cập nhật luôn hay sao anh?
 
Ý em nói là khi có sự thay đổi dữ liệu trong DB thì ở google sheet nó cũng thay đổi theo đó anh
À ra thế, nếu muốn đồng bộ với dữ liệu trong CSDL SQLServer thì bạn phải click nút lấy dữ liệu để có được dữ liệu mới nhất nhé.
 

Bạn dùng code sau nhé:
Mã:
function onOpen() {

var spreadsheet = SpreadsheetApp.getActive();

var menuItems = [
    {name: 'Lấy dữ liệu', functionName: 'readData'}
];
spreadsheet.addMenu('SQLServer', menuItems);
}


var address = '171.244.39.128'; //IP của bạn
var user = 'AnhDom';
var userPwd = '1234!@#$GPe';
var db = 'Test';

var dbUrl = 'jdbc:sqlserver://' + address + ';databaseName=' + db;


function readData() {
var conn = Jdbc.getConnection(dbUrl, user, userPwd);


var stmt = conn.createStatement();

var results = stmt.executeQuery('SELECT * FROM [dbo].[tblTest]');
var metaData=results.getMetaData();
var numCols = metaData.getColumnCount();

var sheet = SpreadsheetApp.getActiveSheet();



sheet.clearContents();

var arr=[];

for (var col = 0; col < numCols; col++) {
  arr.push(metaData.getColumnName(col + 1));
}

sheet.appendRow(arr);


while (results.next()) {
  arr=[];

  for (var col = 0; col < numCols; col++) {

   arr.push(results.getString(col + 1));
  }
sheet.appendRow(arr);

}

results.close();
stmt.close();

sheet.autoResizeColumns(1, numCols+1);


}

Xem link: Liên kết: https://docs.google.com/spreadsheets/d/1Pw9vx0f-DCFOaUYlOv--o5-a7k3t0pmVSldieFkI2VM/edit#gid=0 Liên kết: https://docs.google.com/spreadsheets/d/1Pw9vx0f-DCFOaUYlOv--o5-a7k3t0pmVSldieFkI2VM/edit#gid=0
Còn việc ngược lại là lưu dữ liệu từ google sheet vào SQL Server làm sao bác ơi, hỗ trợ em với
 
Chắc là dán liên kết nên nhúng GoogleSheet vào diễn đàn luôn ấy bác Mạnh, giao diện em dùng cũng hiện mail của em.
đang tò mò cái chỗ sao bài trước đó nó lại nổi lên cái mail của tôi thôi còn nếu tôi bấm vào link ra cái mail của chính tôi thì lại không có hỏi
nói thật là Google sheet tôi không có quan tâm lắm nên nhiều cái không có hiểu

a duyệt à :p
 
1682408090964.png

Bài số 8 đó tôi mới dệ chuột vào vẫn thấy mail của tôi nên mới hỏi thôi

còn không thì cũng không có quan tâm google sheet lắm
 
đang tò mò cái chỗ sao bài trước đó nó lại nổi lên cái mail của tôi thôi còn nếu tôi bấm vào link ra cái mail của chính tôi thì lại không có hỏi
nói thật là Google sheet tôi không có quan tâm lắm nên nhiều cái không có hiểu


a duyệt à :p
Kiều Mạnh không có quan tâm lắm đến Google sheet, vậy là fan của addin A-Tools?
Nay không thấy giới thiệu sản phẩm mới ra thế giới nhể?
 
Kiều Mạnh không có quan tâm lắm đến Google sheet, vậy là fan của addin A-Tools?
Nay không thấy giới thiệu sản phẩm mới ra thế giới nhể?
không fan của ai cả ... lạc đề rùi
chỉ thắc mắc chút cái mail của tôi ở bài số 8 thui
 
  • Cười
Reactions: A-T
Web KT
Back
Top Bottom