Để lấy toàn bộ các ô (cell) trên một sheet trong Google Apps Script, bạn có thể sử dụng phương thức getDataRange() để lấy phạm vi của toàn bộ dữ liệu trong sheet và sau đó sử dụng getValues() để lấy các giá trị từ các ô đó.
getDataRange(): Lấy phạm vi dữ liệu có chứa tất cả các ô có giá trị trong sheet, tức là từ ô có giá trị đầu tiên đến ô có giá trị cuối cùng.
getValues(): Lấy giá trị của các ô trong phạm vi.
Giả sử bạn có một sheet trong Google Sheets và muốn lấy toàn bộ dữ liệu từ sheet đó, bạn có thể làm như sau:
function getAllCells() {
// Lấy bảng tính hiện tại
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
// Lấy sheet đầu tiên
var sheet = spreadsheet.getSheets()[0];
// Lấy phạm vi dữ liệu của toàn bộ sheet (bao gồm cả ô có giá trị)
var range = sheet.getDataRange();
// Lấy giá trị của tất cả các ô trong phạm vi
var values = range.getValues();
// Hiển thị các giá trị trong Log
Logger.log(values);
}
Giải thích:
SpreadsheetApp.getActiveSpreadsheet(): Lấy bảng tính hiện tại.
spreadsheet.getSheets()[0]: Lấy sheet đầu tiên trong bảng tính (có thể thay đổi nếu bạn muốn lấy một sheet cụ thể).
sheet.getDataRange(): Lấy phạm vi chứa toàn bộ dữ liệu, tức là từ ô đầu tiên có giá trị đến ô cuối cùng có giá trị.
range.getValues(): Lấy tất cả giá trị trong phạm vi dữ liệu dưới dạng một mảng 2 chiều (mảng của mảng).
Kết quả trả về của getValues() là một mảng 2 chiều, trong đó mỗi phần tử con đại diện cho một hàng trong sheet, và mỗi phần tử trong đó đại diện cho một ô trong hàng đó.
Ví dụ về kết quả:
Giả sử bạn có dữ liệu như sau trong sheet:
A B C
1 2 3
4 5 6
7 8 9
Kết quả của getValues() sẽ là một mảng 2 chiều:
[
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
Chú ý:
Phương thức này chỉ lấy các ô có chứa giá trị. Nếu bạn có ô trống giữa các ô có dữ liệu, phương thức này sẽ chỉ lấy các ô có dữ liệu.
Nếu bạn muốn lấy tất cả các ô, bao gồm cả ô trống, bạn có thể sử dụng getRange() và xác định phạm vi cụ thể của bảng tính.
Hướng dẫn code lấy toàn bộ dữ liệu trên Sheet của Spreadsheets