Untitled
unknown
plain_text
2 years ago
1.9 kB
12
Indexable
// Hàm doGet được gọi khi có yêu cầu HTTP GET
function doGet() {
// Lấy bảng tính hiện đang hoạt động
var ss = SpreadsheetApp.getActiveSpreadsheet();
// Lấy tất cả các sheet trong bảng tính
var sheets = ss.getSheets();
// Khởi tạo một đối tượng để lưu trữ dữ liệu từ tất cả các sheet
var output = {};
// Duyệt qua tất cả các sheet
for (var i = 0; i < sheets.length; i++) {
// Lấy sheet hiện tại
var sheet = sheets[i];
// Lấy dữ liệu từ sheet hiện tại và thêm vào đối tượng
output[sheet.getName()] = getSheetDataId(sheet); // Sử dụng tên của sheet làm key
}
// Trả về dữ liệu dưới dạng JSON
return ContentService.createTextOutput(
JSON.stringify(output)
).setMimeType(ContentService.MimeType.JSON);
}
// Hàm getSheetDataId lấy dữ liệu từ một sheet
function getSheetDataId(dataSh) {
// Lấy phạm vi dữ liệu của sheet
var dataRange = dataSh.getDataRange();
// Lấy tất cả giá trị trong phạm vi dữ liệu
var dataValues = dataRange.getValues();
// Lấy hàng đầu tiên làm key
var keys = dataValues[0];
// Khởi tạo mảng để lưu trữ các đối tượng
var objects = [];
// Duyệt qua từng hàng dữ liệu, bắt đầu từ hàng thứ hai
for (var i = 1; i < dataValues.length; i++) {
// Khởi tạo đối tượng để lưu trữ dữ liệu của hàng hiện tại
var obj = {};
// Duyệt qua từng giá trị trong hàng
for (var j = 0; j < dataValues[i].length; j++) {
// Thêm giá trị vào đối tượng với key tương ứng
obj[keys[j]] = dataValues[i][j];
}
// Thêm đối tượng vào mảng
objects.push(obj);
}
// Trả về mảng các đối tượng
return objects;
}Editor is loading...
Leave a Comment