Lấy toàn bộ dữ liệu trên Sheet của Spreadsheets

Hướng dẫn code lấy toàn bộ dữ liệu trên Sheet của Spreadsheets

1. Cách lấy toàn bộ dữ liệu trên Sheet của Spreadsheets với Apps Script

Để 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 ô đó.

2. Một số hàm cần sử dụng để lấy toàn bộ dữ liệu trên Sheet của Spreadsheets

    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.

3. Ví dụ lấy dữ liệu trên Sheet của Spreadsheets

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.

Bài viết liên quan:

Hướng dẫn code lấy toàn bộ dữ liệu trên Sheet của Spreadsheets