Để lấy dữ liệu từ sheet khác qua url bạn cần phải có url cần lấy dữ liệu
Ví dụ url của sheet lấy có dạng như sau:
https://docs.google.com/spreadsheets/d/1dy18sA0K_Lps-mgeq2fCv8pZwkFx9PKzjGogcY78dmI/edit#gid=0
Các bạn chú ý đoạn url màu đỏ, đó là url cần đưa vào lệnh apps script.
Trong spreadsheets này có dữ liệu từ ô A1:C10 là danh sách học viên
Tạo 1 spreadsheets mới, tạo hàm apps scripts
const ID='1dy18sA0K_Lps-mgeq2fCv8pZwkFx9PKzjGogcY78dmI';
var trangtinh= SpreadsheetApp.openById(ID); // dùng openById
var arr= trangtinh.getSheets()[0].getRange("A1:C10").getValues();
// Toàn bộ dữ liệu sẽ được về biến mảng có tên arr
//Để hiển thị biến mảng ra spreadsheets ta cần sử dụng các phương pháp sau
Phương pháp hiển thị biến mảng ra spreadsheets 01: in ra file log, các này chỉ để xem.
// In biến mảng ra log xem
Logger.log(arr);
Phương pháp hiển thị biến mảng ra spreadsheets 02: appendRow vào sheet
Cách này có nhược điểm là luôn chèn vào cột đầu tiên, và nối tiếp theo
// FOR EACH (hay dùng cho array) -- nhiều người dùng
arr.forEach( function(value)
{
trangtinh.appendRow(value);
});
// FOR có i
for(var i=0;i<arr.length;i++)
{
trangtinh.appendRow(arr[i]);
}
Phương pháp hiển thị biến mảng ra spreadsheets 03: chèn theo vị trí mong muốn
var vitridong=11; // vị trí dòng bắt đầu cần chèn
var dc=""; //địa chỉ ô
for(var i=0;i<arr.length;i++)
{
dc ="G"+vitridong;
trangtinh.getRange(dc).setValue( data[i][0] );
//
dc ="H"+vitridong;
trangtinh.getRange(dc).setValue( data[i][1] );
//
dc ="I"+vitridong;
trangtinh.getRange(dc).setValue( data[i][2] );
//
dc ="J"+vitridong;
trangtinh.getRange(dc).setValue( data[i][3] );
vitridong++;
}
Hướng dẫn code lấy dữ liệu từ url sheet khác với Google Apps Script