# Excel

<figure><img src="https://61021313-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn95B81pvGqTgcoWfRAtb%2Fuploads%2FqO0DImn7a2HvjcuONcvk%2Fimage.png?alt=media&#x26;token=25b0a23b-7c27-4e83-91b2-a81e4b2446ed" alt=""><figcaption></figcaption></figure>

### File[​](https://docs.omnilog.in/blocks/spreadsheet.html#file) <a href="#file" id="file"></a>

Chọn đường dẫn file excel trong máy tính

### Phạm vi[​](https://docs.omnilog.in/blocks/spreadsheet.html#pham-vi) <a href="#pham-vi" id="pham-vi"></a>

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 `A1` (viết ngắn gọn của `A1:A1`)

### Lấy giá trị ô bảng tính[​](https://docs.omnilog.in/blocks/spreadsheet.html#lay-gia-tri-o-bang-tinh) <a href="#lay-gia-tri-o-bang-tinh" id="lay-gia-tri-o-bang-tinh"></a>

Lấy giá trị các ô của bảng tính của 1 file excel

* **Khoá Tham chiếu**\
  Dùng để định danh dữ liệu đọc được. Tham chiếu từ các khối sử dụng như Lặp dữ liệu, Xuất dữ liệu, ...
* **Sử dụng hàng đầu tiên làm từ khoá**\
  Sử dụng hàng đầu tiên của bảng tính làm khoá đối tượng.&#x20;

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

```json
// Khi tắt
[["name", "age"], ["foo", 22], ["bar", 23]]

// Khi bật
[{ "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.

<table><thead><tr><th width="100" align="center">profileId</th><th width="100" align="center">name</th><th width="100" align="center">age</th></tr></thead><tbody><tr><td align="center">2</td><td align="center">foo</td><td align="center"> 22</td></tr><tr><td align="center">3</td><td align="center">  bar</td><td align="center">  23</td></tr></tbody></table>

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`

### Lấy phạm vi bảng tính[​](https://docs.omnilog.in/blocks/google-sheets.html#lay-pham-vi-bang-tinh) <a href="#lay-pham-vi-bang-tinh" id="lay-pham-vi-bang-tinh"></a>

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[​](https://docs.omnilog.in/blocks/google-sheets.html#cap-nhap-gia-tri-o-bang-tinh) <a href="#cap-nhap-gia-tri-o-bang-tinh" id="cap-nhap-gia-tri-o-bang-tinh"></a>

#### Tuỳ chọn nhập giá trị[​](https://docs.omnilog.in/blocks/google-sheets.html#tuy-chon-nhap-gia-tri) <a href="#tuy-chon-nhap-gia-tri" id="tuy-chon-nhap-gia-tri"></a>

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ừ[​](https://docs.omnilog.in/blocks/google-sheets.html#du-lieu-tu) <a href="#du-lieu-tu" id="du-lieu-tu"></a>

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 2 chiều/ma trận            tương ứng với dữ liệu cần nhập trong file excel.<br>

```json
[
   ["1","2","3"]
]
```

## Chèn hoặc thêm các giá trị ô bảng tính[​](https://docs.omnilog.in/blocks/google-sheets.html#chen-hoac-them-cac-gia-tri-o-bang-tinh) <a href="#chen-hoac-them-cac-gia-tri-o-bang-tinh" id="chen-hoac-them-cac-gia-tri-o-bang-tinh"></a>

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ị[​](https://docs.omnilog.in/blocks/google-sheets.html#tuy-chon-nhap-gia-tri-1) <a href="#tuy-chon-nhap-gia-tri-1" id="tuy-chon-nhap-gia-tri-1"></a>

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[​](https://docs.omnilog.in/blocks/google-sheets.html#chen-tuy-chon-du-lieu) <a href="#chen-tuy-chon-du-lieu" id="chen-tuy-chon-du-lieu"></a>

* **OVERWRITE**:
* **INSERT\_ROWS**:

#### Dữ liệu từ[​](https://docs.omnilog.in/blocks/google-sheets.html#du-lieu-tu-1) <a href="#du-lieu-tu-1" id="du-lieu-tu-1"></a>

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 2 chiều/ma trận            tương ứng với dữ liệu cần nhập trong file excel.

json

```
[
    ["1","2","3"]
]
```

## Xoá giá trị ô bảng tính[​](https://docs.omnilog.in/blocks/google-sheets.html#xoa-gia-tri-o-bang-tinh) <a href="#xoa-gia-tri-o-bang-tinh" id="xoa-gia-tri-o-bang-tinh"></a>

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

### Truy cập dữ liệu trang tính[​](https://docs.omnilog.in/blocks/google-sheets.html#truy-cap-du-lieu-trang-tinh) <a href="#truy-cap-du-lieu-trang-tinh" id="truy-cap-du-lieu-trang-tinh"></a>

Để 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

<table><thead><tr><th width="100" align="center">name</th><th width="100" align="center">age</th></tr></thead><tbody><tr><td align="center">An</td><td align="center">18</td></tr><tr><td align="center">Manh</td><td align="center">23</td></tr></tbody></table>

Để lấy giá trị `name` của hàng đầu tiên (tương  ứng phần tử đầu tiên thuộc mảng dữ liệu kết quả trả về)húng ta dùng cú pháp `{{googleSheets.data.`<mark style="color:blue;">`0`</mark>`.name}}`
