Skip to content

Google Sheets

Đọc hoặc ghi dữ liệu bảng tính Google Sheets

Truy cập trang tính

Trước khi sử dụng node này, trước tiên bạn cần cung cấp cho Automation quyền truy cập vào bảng tính.

  • Bạn chia sẻ bảng tính công khai .

Khi bạn chia sẻ bảng tính công khai, Automation chỉ có quyền truy cập đọc vào bảng tính đó.
Và nếu bạn có kế hoạch cập nhật các giá trị ô của bảng tính, bạn cần chia sẻ bảng tính với tài khoản Automation. Để làm điều đó, hãy mở bảng tính bạn muốn chia sẻ, nhấp vào nút chia sẻ ở trên cùng và chia sẻ công khai.

Tài khoản dịch vụ

Id bảng tính

Id Bảng tính chứa chữ cái, số, dấu gạch nối hoặc dấu gạch dưới. Và bạn có thể tìm thấy nó trong URL Google trang tính

https://docs.google.com/spreadsheets/d/1ZOVnxQDdNm2rOCMIn_a9y2-ZxUqwVAR0fcYzc6X43nY/edit#gid=0

Phạm vi

Phạm vi giá trị của các ô mà bạn muốn lấy, cập nhật hoặc xoá. Bạn có thể xác định phạm vi ô bằng cách sử dụng Kí hiệu A1 like Sheet1!A1:B2 hoặc A1:B2, hoặc Kí hiệu R1C1 like Sheet1!R1C1:R2C2 hoặc R1C1:R2C2

Lấy giá trị ô bảng tính

Lấy giá trị ô của bảng tính bằng đường link của google sheet đó

  • Khoá tham chiếu
    Tham chiếu từ khoá để xác định dữu liệu google trang tính.

  • Sử dụng hàng đầu tiên làm từ khoá
    Khi chọn sử dụng hàng đầu tiên của bảng tính làm khoá thì các giá trị ở cột tương ứng sẽ được định danh, và các bạn có thể lấy ra các giá trị đó dựa vào khoá đó.

    Ví dụ khi bạn có một bảng tính như thế này.

    nameage
    foo22
    bar23
json
// Không chọn hàng đầu tiên là khoá 
[["name", "age"], ["foo", 22], ["bar", 23]]

// Chọn hàng đầu tiên là khoá
[{ "name": "foo", "age": 22 }, { "name": "bar", "age": 23 }]
// Không chọn hàng đầu tiên là khoá 
[["name", "age"], ["foo", 22], ["bar", 23]]

// Chọn hàng đầu tiên là khoá
[{ "name": "foo", "age": 22 }, { "name": "bar", "age": 23 }]
  • Tên cột dùng làm khoá chính

    Trong trường hợp bạn muốn dùng chính xác dữ liệu với profile đang chạy thì bạn chọn lựa chọn này

    Ví dụ khi bạn có một bảng tính như thế này.

    profileIdnameage
    2foo22
    3bar23

Bạn muốn khi chạy profile có id là 2 thì sẽ dùng giá trị là foo thì bạn dùng lựa chọn này, khi đó bạn có thể lấy ra giá trị foo bằng biểu thức {{googleSheets.referenceKey.[profileId].name}}, khi đó khi chạy profile có id là 2 sẽ lấy ra giá trị foo, profile có id là 3 sẽ lấy ra giá trị bar

  • Giá trị là dạng mảng: Trong trường hợp bạn muốn dùng nhiều dữ liệu ở cùng một profile, bạn có thể chọn lựa chọn này. Khi đó biểu thức lấy dữ liệu cần phải thay đổi.

    Ví dụ khi bạn có một bảng tính như thế này.

    profileIdnameage
    15889foo22
    15889bar23
    12132dan24

Thông thường nếu bạn không chọn lựa chọn Giá trị là dạng mảng thì để lấy được giá trị cột name ở profileId 15889 khi chạy kịch bản ở thì bạn dùng biểu thức {{googleSheets.referenceKey.[profileId].name}} để lấy giá trị có dạng

json
{
  "12132": {
    "profileId": 12132,
    "name": "dan",
    "age": 24
  },
  "15889": {
    "profileId": 15889,
    "name": "bar",
    "age": 23
  }
}
{
  "12132": {
    "profileId": 12132,
    "name": "dan",
    "age": 24
  },
  "15889": {
    "profileId": 15889,
    "name": "bar",
    "age": 23
  }
}

Nhưng khi bạn muốn dùng nhiều hàng dữ liệu cùng chung một profile thì bạn cần chọn lựa chọn Giá trị là dạng mảng. Khi đó dữ liệu sẽ có dạng

json
{
  "12132": [
    {
      "profileId": 12132,
      "name": "dan",
      "age": 24
    }
  ],
  "15889": [
    {
      "profileId": 15889,
      "name": "foo",
      "age": 22
    },
    {
      "profileId": 15889,
      "name": "bar",
      "age": 23
    }
  ]
}
{
  "12132": [
    {
      "profileId": 12132,
      "name": "dan",
      "age": 24
    }
  ],
  "15889": [
    {
      "profileId": 15889,
      "name": "foo",
      "age": 22
    },
    {
      "profileId": 15889,
      "name": "bar",
      "age": 23
    }
  ]
}

Ở đây sẽ có thêm một dữ liệu của profileId 15889 thay vì 1 hàng dữ liệu khi không chọn Giá trị là dạng mảng. Để lấy được dữ liệu các bạn cần thay biểu thức {{googleSheets.referenceKey.[profileId].name}} thành {{googleSheets.referenceKey.[profileId].0.name}} nếu muốn lấy dữ liệu đầu tiên, nếu muốn lấy dữ liệu thứ 2 thay giá trị 0 thành 1

Lấy phạm vi bảng tính

Lấy giá trị phạm vi của bảng tính sau đó gán giá trị đó cho biến hoặc bảng mong muốn

  • Phạm vi bảng tính
    • Gán cho biến: gán phạm vi của dữ liệu cho một biến
    • Chèn vào bảng: gán phạm vi của dữ liệu cho một cột

Cập nhập giá trị ô bảng tính

Tuỳ chọn nhập giá trị

Xác định cách diễn giải dữ liệu đầu vào, mặc định là RAW.

  • RAW: Các giá trị người dùng đã nhập sẽ không được phân tích cú pháp và sẽ được lưu trữ nguyên trạng.
    • Ví dụ: Giá trị đầu vào là : "123" thì định dạng lưu trữ là: "123"
  • USER_ENTERED: Các giá trị sẽ được phân tích cú pháp như thể người dùng nhập chúng vào giao diện người dùng. Các số sẽ vẫn ở dạng số nhưng các chuỗi có thể được chuyển đổi thành số, ngày, v.v. theo các quy tắc tương tự được áp dụng khi nhập văn bản vào một ô thông qua Giao diện người dùng Google Sheet.
    • Ví dụ giá trị đầu vào là: "123" thì định dạng lưu trữ là: 123

Dữ liệu từ

Nguồn dữ liệu để cập nhật bảng tính, mặc định là bảng

  • Bảng: lấy dữ liệu đã được chèn vào bảng
    • Ghi key vào hàng đầu: Sử dụng các cột làm hàng đầu tiên trên bảng tính.
  • Tuỳ chỉnh: dữ liệu được nhập phải là một mảng thuộc kiểu dữ liệu mảng với cú pháp JSON hợp lệ.
json
["1","2","3"]
["1","2","3"]

Chèn hoặc thêm các giá trị ô bảng tính

Lấy giá trị phạm vi của bảng tính sau đó gán giá trị đó cho biến hoặc bảng mong muốn

Tuỳ chọn nhập giá trị

Xác định cách diễn giải dữ liệu đầu vào, mặc định là RAW.

  • RAW: Các giá trị người dùng đã nhập sẽ không được phân tích cú pháp và sẽ được lưu trữ nguyên trạng.
    • Ví dụ: Giá trị đầu vào là : "123" thì định dạng lưu trữ là: "123"
  • USER_ENTERED: Các giá trị sẽ được phân tích cú pháp như thể người dùng nhập chúng vào giao diện người dùng. Các số sẽ vẫn ở dạng số nhưng các chuỗi có thể được chuyển đổi thành số, ngày, v.v. theo các quy tắc tương tự được áp dụng khi nhập văn bản vào một ô thông qua Giao diện người dùng Google Sheet.
    • Ví dụ giá trị đầu vào là: "123" thì định dạng lưu trữ là: 123

Chèn tuỳ chọn dữ liệu

  • OVERWRITE:
  • INSERT_ROWS:

Dữ liệu từ

Nguồn dữ liệu để cập nhật bảng tính, mặc định là bảng

  • Bảng: lấy dữ liệu đã được chèn vào bảng
    • Ghi key vào hàng đầu: Sử dụng các cột làm hàng đầu tiên trên bảng tính.
  • Tuỳ chỉnh: dữ liệu được nhập phải là một mảng thuộc kiểu dữ liệu mảng với cú pháp JSON hợp lệ.
json
["1","2","3"]
["1","2","3"]

Xoá giá trị ô bảng tính

Xoá giá trị của bảng tính theo phạm vi đã chọn

Truy cập dữ liệu trang tính

Để truy cập các giá trị bảng tính từ đầu vào của node, bạn có thể sử dụng các biểu thức như cú pháp {{ googleSheets.referenceKey.path }}.

  • Ví dụ trường hợp lấy dữ liệu từ node Google Sheet với khoá tham chiếu là data và dữ liệu trong google sheet như bảng sau
nameage
An18
Manh23

Để lấy giá trị name của hàng đầu tiên chúng ta dùng cú pháp {{googleSheets.data.0.name}}

Đọc thêm : Biểu thức