Cách sử dụng Google Sheets làm cơ sở dữ liệu

Hãy cùng n8n Academy sử dụng Google Sheets cho việc quản lý cơ sở dữ liệu của doanh nghiệp, mặc dù đây chưa phải giải pháp toàn diện nhất với các doanh nghiệp lớn, tuy nhiên, nó rất phù hợp cho các dự án nhỏ và POC, nơi sự đơn giản và khả năng truy cập quan trọng hơn so với việc truy vấn nâng cao và khả năng mở rộng mà các cơ sở dữ liệu SQL cung cấp.
Trong bài viết này, chúng ta sẽ đi sâu hơn vào Google Sheets, xem xét khả năng và hạn chế của nó như một cơ sở dữ liệu thông qua góc nhìn sử dụng Google API so với n8n, một công cụ tự động hóa quy trình công việc nguồn mở.
Thêm vào đó, chúng tôi sẽ trình bày 7 mẫu workflow trong đó Google Sheets, được hỗ trợ bởi n8n, có thể đóng vai trò như một giải pháp cơ sở dữ liệu phi truyền thống nhưng hiệu quả. Bạn sẽ học cách biến đổi dữ liệu, đồng bộ hóa thông tin trong Google Sheets, sử dụng GPT của OpenAI để thao tác dữ liệu và khám phá thêm các tính năng tự động hóa Google Sheets cùng n8n.
Không để bạn đợi lâu nữa, chúng ta bắt đầu nhé!
Sử dụng Google Sheets như một cơ sở dữ liệu: Google Sheets API so với n8n
Về phần bắt đầu, hãy cân nhắc ưu nhược điểm của việc sử dụng Google Sheets như một cơ sở dữ liệu, bằng cách tương tác trực tiếp qua API của Google hoặc sử dụng n8n.
Google Sheets API: Tích hợp chính xác so với thiết lập phức tạp
Google Sheets API phù hợp cho những ai thích tiếp cận thủ công và tương tác trực tiếp với dữ liệu.
- Tích hợp chính xác: Với API, bạn có thể quản lý và thao tác dữ liệu trong bảng tính một cách chính xác. Hầu hết các thao tác thủ công từ giao diện Google Sheets đều có thể được tái tạo và tự động hóa qua quyền truy cập API trực tiếp.
- Tích hợp liền mạch với dự án của bạn: Các thư viện dành cho làm việc với Google Sheets API có sẵn trên nhiều ngôn ngữ lập trình như Python, JavaScript, Go và các ngôn ngữ khác. Điều này đảm bảo sự tích hợp chặt chẽ của các phần dự án khác nhau, được tạo ra trong cùng một framework lập trình.
- Phức tạp: Sử dụng API trực tiếp đòi hỏi phải đào sâu vào mã lập trình, bao gồm xác thực, xử lý lỗi và định dạng dữ liệu.
- Khó khăn về hosting: Khi làm việc với API của Google một cách lập trình, bạn cần tải lên mã, thiết lập lịch trình và duy trì máy chủ hoàn toàn do chính bạn làm.
n8n: Quy trình tự động hóa so với phụ thuộc bổ sung
Đối với các kỹ sư muốn tối ưu hóa và tự động hóa quản lý dữ liệu, n8n là một phương án hấp dẫn.
- Quy trình làm việc tự động: n8n vượt trội trong việc thiết lập các quy trình làm việc tự động có thể tích hợp tốt với hàng trăm ứng dụng và dịch vụ khác, giúp biến mất những công việc lặp đi lặp lại.
- Cài đặt đơn giản: Phiên bản đám mây của n8n hoạt động ngay sau khi mở ra, và phiên bản tự lưu trữ dễ dàng cấu hình, cung cấp môi trường tiện lợi cho các dự án tự động hóa của bạn.
- Tiếp cận dễ dàng cho tất cả mọi người: giao diện người dùng trực quan của nó cho phép cả những lập trình viên kỳ cựu lẫn những người có kỹ năng lập trình ít hơn dễ dàng tạo ra các quy trình phức tạp.
- Phụ thuộc bổ sung: Việc giới thiệu n8n thêm một lớp nữa vào ngăn xếp công nghệ của bạn, có thể bị ảnh hưởng bởi các sự cố hoặc thay đổi của dịch vụ.
- Kiểm soát chi tiết ít hơn: trong khi n8n giúp đơn giản hóa mọi thứ, nó có thể che giấu một số chi tiết nhất định so với việc gọi API trực tiếp.
Cách sử dụng Google Sheets làm cơ sở dữ liệu với API của Google?
Để bắt đầu, trước tiên chúng ta hãy viết một đoạn script Python sẽ tạo ra một tài liệu Google Sheet thông qua API của Google.
Bước 1. Lấy thông tin xác thực của Tài khoản Dịch vụ Google
Chúng tôi đã mô tả quá trình lấy thông tin xác thực cho script Python của bạn trong bài viết trước về cách nhập dữ liệu CSV vào Google Sheets.
Bước 2. Sử dụng script Python này để tạo mới tài liệu Google Sheet
Chúng ta sẽ tạo mới hoàn toàn một tài liệu Google Sheets, điền dữ liệu demo và áp dụng định dạng tài liệu:
##### 0 #####
# Nhập các phụ thuộc
import gspread
from gspread_formatting import *
from oauth2client.service_account import ServiceAccountCredentials
from random import choice, randint, randrange
from datetime import date, timedelta
# Hàm hỗ trợ: sinh ngày ngẫu nhiên trong vòng một năm gần đây
def get_random_date():
start_date = date.today() - timedelta(days=365)
end_date = date.today()
random_number_of_days = randrange((end_date - start_date).days)
random_date = start_date + timedelta(days=random_number_of_days)
return random_date.isoformat() # Định dạng ngày theo 'YYYY-MM-DD'
##### 1 #####
# Đặt phạm vi và thông tin xác thực
scope = [
"https://spreadsheets.google.com/feeds",
"https://www.googleapis.com/auth/spreadsheets",
"https://www.googleapis.com/auth/drive.file",
"https://www.googleapis.com/auth/drive"
]
credentials = ServiceAccountCredentials.from_json_keyfile_name(
'gsheet-python-demo-43cd7ecdce5f.json', scope
) # Cập nhật tên file với Tài khoản Dịch vụ của bạn!
# Ủy quyền cho client
client = gspread.authorize(credentials)
# Tạo và chia sẻ bảng tính mới
spreadsheet = client.create('Bảng dữ liệu khách hàng mới')
spreadsheet.share('teds.tech.talks@gmail.com', perm_type='user', role='writer') # Thêm email của bạn vào đây!
##### 2 #####
# Các ví dụ từ điển cho tên khách hàng và nhà cung cấp email
client_names = ['John', 'Bob', 'Julia', 'Roger']
email_providers = ['example.com', 'mail.com', 'service.org', 'inbox.net']
# Tạo dữ liệu ngẫu nhiên
data = [["Tên khách hàng", "Email", "Ngày mua hàng", "Số tiền"]]
for _ in range(100):
name = choice(client_names)
email = f"{name.lower()}.{randint(10, 99)}@{choice(email_providers)}"
date_of_purchase = get_random_date()
amount = randint(10, 200) # Số tiền ngẫu nhiên từ 10 đến 200
data.append([name, email, date_of_purchase, amount])
# Chọn worksheet đầu tiên
worksheet = spreadsheet.sheet1
# Điền dữ liệu ngẫu nhiên vào sheet
worksheet.update('A1', data)
##### 3 #####
# Định nghĩa quy tắc định dạng có điều kiện cho các số lớn hơn và nhỏ hơn 50
newrules = [
ConditionalFormatRule(
ranges=[GridRange.from_a1_range('D2:D101', worksheet)],
booleanRule=BooleanRule(
condition=BooleanCondition('NUMBER_GREATER', ['50']),
format=cellFormat(backgroundColor=Color(0.698, 0.898, 0.698))
)
),
ConditionalFormatRule(
ranges=[GridRange.from_a1_range('D2:D101', worksheet)],
booleanRule=BooleanRule(
condition=BooleanCondition('NUMBER_LESS_THAN_EQ', ['50']),
format=cellFormat(backgroundColor=Color(0.949, 0.906, 0.898))
)
)
]
# Thêm các quy tắc định dạng có điều kiện vào file worksheet
rules = get_conditional_format_rules(worksheet)
rules.append(newrules[0])
rules.append(newrules[1])
rules.save()
# Khóa dòng đầu tiên
set_frozen(worksheet, rows=1)
print("Tệp sheet đã được tạo và dữ liệu đã điền thành công.")
Đoạn mã Python này gồm 4 phần chính:
- Phần 0 – tải tất cả các thư viện cần thiết và định nghĩa hàm phụ trợ để gán ngày ngẫu nhiên
- Phần 1 – sử dụng tệp thông tin xác thực API để tạo một tài liệu Google Sheet mới và chia sẻ với tài khoản Google chính của bạn
- Phần 2 – điền dữ liệu ngẫu nhiên vào một tài liệu spreadsheet mới. Chúng tôi mô phỏng một trang đơn đặt hàng của khách hàng
- Phần 3 – áp dụng định dạng và khóa dòng đầu tiên qua API. Phần này giúp cải thiện trực quan cho bảng tính.
Đoạn mã không quá phức tạp cho một trường hợp đơn giản, nhưng đòi hỏi kiến thức về Python (hoặc ngôn ngữ lập trình phổ biến khác có thư viện sẵn cho API của Google). Tuy nhiên, độ phức tạp của đoạn mã có thể tăng lên khá nhanh đối với các dự án thực tế.
Bước 3. Kiểm tra kết quả cuối cùng
Nếu mọi thứ diễn ra suôn sẻ, bạn sẽ thấy một tài liệu Google Sheets mới trong mục Chia sẻ với tôi của Google Drive:

Bạn có thể phân tích dữ liệu doanh số, nhận diện khách hàng mới, và tạo các bảng tổng hợp hoặc biểu đồ.
Cách sử dụng Google Sheets làm cơ sở dữ liệu với n8n?
Nếu bạn muốn sử dụng n8n với Google Sheets, bạn cần tạo cùng một tài khoản dịch vụ như mô tả trong phần trước.
Tại sao lại sử dụng n8n thay vì truy cập trực tiếp API Google Sheets?
Trước tiên, n8n giúp dễ dàng truy cập Google Sheets. Hãy xem qua quy trình làm việc đơn giản này:

Chỉ với 2 nút, bạn có thể tạo một điểm Webhook phục vụ nội dung Google Sheet. Công sức hosting là tối thiểu và bạn không phải lo lắng về thông tin đăng nhập vì chúng được lưu trữ an toàn trong n8n.
Thứ hai, n8n cung cấp phương pháp trực quan để tích hợp các dịch vụ khác nhau, nghĩa là bạn có thể xem luồng dữ liệu và logic của mình theo thời gian thực. Điều này hoàn toàn khác biệt so với quy trình thường phức tạp và đòi hỏi mã code khi làm việc trực tiếp với API Google Sheets.
Hơn nữa, xử lý lỗi tích hợp sẵn của n8n có thể giúp bạn tránh những rắc rối thường gặp khi gỡ lỗi các lệnh API.
Đây là hướng dẫn rất nhanh về cách tạo cơ sở dữ liệu trong Google Sheets bằng n8n:
Bước một: Tạo tài khoản n8n
Bắt đầu bằng cách tạo một tài khoản trên n8n – nó có sẵn dưới dạng dịch vụ đám mây, module npm và hình ảnh Docker. Đối với bước bắt đầu nhanh này, n8n đề xuất sử dụng Cloud. Dịch vụ thử nghiệm miễn phí dành cho người dùng mới.
Bước hai: Mở mẫu quy trình làm việc
Sau khi đăng nhập, hãy khám phá thư viện mẫu để tìm một quy trình phù hợp với nhu cầu của bạn. Các mẫu này có thể giúp bạn bắt đầu nhanh hơn bằng cách cung cấp cấu trúc đã xây dựng sẵn mà bạn có thể tùy chỉnh theo yêu cầu.
Bước ba: Chạy quy trình làm việc mẫu
Sau khi chọn mẫu, nhấn Sao chép quy trình làm việc trên trang mẫu và dán vào khung làm việc của n8n.
Để thiết lập nút Google Sheets, bạn cần kết nối nó với tài khoản Google của mình bằng cách tạo thông tin xác thực. Khi các thông tin xác thực đã có, bạn có thể cấu hình nút và cung cấp URL của tài liệu Sheets của bạn.
Bây giờ bạn có thể thực thi quy trình làm việc để xem nó hoạt động. Bước này giúp bạn hiểu cách dữ liệu chảy và xử lý trong n8n.
Bước bốn: Xây dựng quy trình của bạn từ đầu
Khi bạn đã quen với các quy trình mẫu, đã đến lúc xây dựng quy trình tùy chỉnh của mình và tích hợp Google Sheets. Kéo thả một nút Google Sheets vào quy trình của bạn. Nút này sẽ cho phép bạn thực hiện các thao tác như đọc, ghi, cập nhật hoặc xóa dữ liệu trong bảng tính của mình.
Bạn có thể tái sử dụng các thông tin xác thực đã tạo trong bước trước để tiết kiệm thời gian.
Và thế là xong!
Với các bước căn bản này, bạn đã sẵn sàng tận dụng Google Sheets như một cơ sở dữ liệu linh hoạt cùng với khả năng tự động hóa mạnh mẽ của n8n.
Cơ sở dữ liệu Google Sheets: 7 mẫu quy trình làm việc
Hãy cùng xem các ví dụ thực tế và học cách làm việc với Google Sheets trong n8n.
1. Tự động xác định các hàng mới trong Google Sheets
Quy trình này được thiết kế để kiểm tra định kỳ trang tính Google và xử lý bất kỳ hàng mới nào.

Quy trình này, được kích hoạt thủ công hoặc cứ mỗi 5 phút, quét qua tài liệu Google Sheets để tìm các hàng chưa xử lý, cập nhật chúng với dấu thời gian hiện tại trong cột “Processed”. Phù hợp cho các tình huống cơ sở dữ liệu nhẹ sử dụng Google Sheets, quy trình này đảm bảo việc kiểm tra định kỳ hiệu quả cho các bản ghi mới.
- Đăng ký sự kiện: Nếu Google Sheet được sử dụng để thu thập đăng ký sự kiện thông qua Google Forms, quy trình này có thể giúp gửi email chào mừng và tài liệu cá nhân hóa đến từng người tham gia ngay khi họ đăng ký.
- Xử lý đơn hàng: Đối với các doanh nghiệp nhỏ sử dụng Google Sheets để theo dõi đơn hàng, quy trình này có thể thiết lập để xác định các đơn hàng mới và bắt đầu quá trình hoàn tất, như tạo hóa đơn, cập nhật tồn kho hoặc thông báo cho bộ phận giao hàng.
- Theo dõi khách hàng tiềm năng: Trong các trường hợp ghi nhận khách hàng tiềm năng trong Google Sheets, quy trình này có thể khởi động một chuỗi để thêm khách hàng vào hệ thống CRM, phân bổ cho các đại diện bán hàng hoặc gửi email liên hệ ban đầu.
2. Chuyển đổi dữ liệu trong Google Sheets
Quy trình n8n này thể hiện cách Google Sheets có thể được sử dụng như một cơ sở dữ liệu linh hoạt và tiện lợi để thực hiện các thao tác như thêm bản ghi mới, tra cứu dữ liệu hiện có, cập nhật bản ghi và đọc dữ liệu.

Quy trình được kích hoạt thủ công và thực hiện một số thao tác. Đầu tiên, nó thêm một bản ghi mới vào bảng tính hiện có với ID ngẫu nhiên, tên xác định, giá thuê và thành phố. Sau đó, nó tìm kiếm các bản ghi trong cùng bảng tính và cập nhật giá thuê bằng cách tăng giá trị đó lên. Cuối cùng, quy trình đọc dữ liệu từ bảng tính, có thể sử dụng cho các xử lý bổ sung hoặc để xem dữ liệu đã được cập nhật.
- Quản lý thuê nhà: Theo dõi và cập nhật giá thuê cho các bất động sản ở các thành phố khác nhau và dễ dàng thêm danh sách thuê mới với ID duy nhất.
- Theo dõi tồn kho: Thêm mới các mặt hàng tồn kho, tìm kiếm các mặt hàng cụ thể theo vị trí hoặc danh mục và cập nhật số lượng hoặc giá cả theo nhu cầu.
- Lập lịch công việc: Thêm nhiệm vụ mới, cập nhật trạng thái các nhiệm vụ hiện có và lấy danh sách nhiệm vụ cho ngày hoặc dự án cụ thể.
3. Đồng bộ dữ liệu mới giữa hai ứng dụng
Quy trình này tạo điều kiện cho việc đồng bộ dữ liệu mới giữa hai ứng dụng. Cụ thể, nó được kích hoạt khi cơ sở dữ liệu Postgres được cập nhật và sau đó thực hiện chuyển đổi dữ liệu trước khi thêm mới hoặc cập nhật các mục trong Google Sheet.
Quy trình làm việc bắt đầu bằng việc lắng nghe các cập nhật trong bảng dữ liệu Postgres. Sau đó, nó sử dụng một nút Filter để loại trừ tất cả các mục dữ liệu chứa domain ‘n8n.io’ trong địa chỉ email. Điều này đảm bảo rằng chỉ những dữ liệu người dùng đủ điều kiện mới được xử lý. Khi dữ liệu đã được lọc, quy trình làm việc thêm hoặc cập nhật các mục này vào bảng Google Sheet, sử dụng nó như một cơ sở dữ liệu đơn giản.

Người dùng có thể thay thế các nút trigger và action để phù hợp với nhu cầu của họ. Việc sử dụng các ghi chú sticky trong quy trình giúp người dùng hướng dẫn cách sử dụng mẫu và cách tùy chỉnh nó theo nhu cầu của họ.
- Đồng bộ người dùng vừa đăng ký từ ứng dụng web đến Google Sheet để thực hiện các chiến dịch marketing.
- Cập nhật thông tin liên hệ trong CRM khi phát hiện các thay đổi trong cơ sở dữ liệu khách hàng Postgres.
- Đồng bộ thông tin nhân viên giữa các nền tảng Quản lý nhân sự và bảng Google tổ chức.
4. Chuyển đổi dữ liệu để gửi đến dịch vụ
Quy trình làm việc này minh họa một tình huống rất phổ biến khi dữ liệu từ hệ thống nguồn cần phải được xử lý tiền trước khi gửi đến dịch vụ đích.

Khi kích hoạt, quy trình lấy dữ liệu khách hàng, mô phỏng việc truy xuất các bản ghi từ một cơ sở dữ liệu hoặc nguồn dữ liệu khác. Một nút tiếp theo chuyển đổi dữ liệu này sang định dạng phù hợp mà Google Sheets kỳ vọng. Ở bước cuối cùng, dữ liệu đã được chuyển đổi sẽ được gửi đến Google Sheet ở chế độ upsert. Chế độ này đảm bảo rằng các bản ghi mới được thêm vào và các bản ghi cũ được cập nhật dựa trên một định danh duy nhất, duy trì tính toàn vẹn của dữ liệu trong bảng.
- Duy trì cơ sở dữ liệu khách hàng trung tâm cho một doanh nghiệp nhỏ với khả năng cập nhật dễ dàng các bản ghi khách hàng.
- Quản lý tồn kho cho một cửa hàng nhỏ hoặc trực tuyến nơi mà mức tồn kho có thể được cập nhật khi bán hàng hoặc hàng mới đến.
- Tổng hợp phản hồi hoặc kết quả khảo sát vào một nơi thuận tiện để phân tích và theo dõi.
5. Đồng bộ dữ liệu Google Sheets với MySQL
Quy trình n8n này tự động hóa việc đồng bộ dữ liệu giữa Google Sheets và cơ sở dữ liệu MySQL, sử dụng Google Sheets như một biểu mẫu để thu thập dữ liệu và phản ánh vào một cơ sở dữ liệu SQL mạnh mẽ hơn.

Cốt lõi của quy trình là nút “Compare Datasets”, giúp xác định các bản ghi mới và đã cập nhật bằng cách so sánh dữ liệu từ Google Sheet với các bản ghi trong cơ sở dữ liệu MySQL. Tùy vào kết quả so sánh, quy trình có thể chèn hoặc cập nhật các bản ghi trong MySQL, cập nhật trạng thái trong Google Sheets để phản ánh các thay đổi và đảm bảo các nguồn dữ liệu của MySQL đồng bộ.
- Quản lý sự kiện: Theo dõi các yêu cầu đăng ký sự kiện gửi qua Google Form, đồng bộ với MySQL để phối hợp nhóm và báo cáo.
- Quản lý khách hàng tiềm năng bán hàng: Thu thập thông tin khách hàng tiềm năng trên Google Sheets và đồng bộ với CRM MySQL để phân bổ đội ngũ bán hàng và theo dõi tương tác.
- Tuyển dụng nhân sự HR: Quản lý các ứng tuyển nhận được qua Google Form, đồng bộ dữ liệu ứng viên với cơ sở dữ liệu MySQL để xem xét và xử lý bởi nhóm tuyển dụng HR.
6. Tạo tài khoản Salesforce dựa trên dữ liệu từ Google Sheets
Quy trình n8n này tự động hóa quá trình tích hợp dữ liệu giữa Google Sheets và Salesforce, sử dụng Google Sheets làm nguồn dữ liệu tài khoản để sử dụng trong Salesforce.
Quy trình bắt đầu bằng việc đọc dữ liệu từ Google Sheet và kiểm tra với Salesforce để xác định các tài khoản đã tồn tại. Nó lọc bỏ các trùng lặp, tạo tài khoản mới khi cần thiết, và cập nhật thông tin liên hệ. Tự động này giúp các tài khoản và liên hệ trong Salesforce luôn cập nhật theo dữ liệu từ Google Sheets.
- Đồng bộ thông tin khách hàng mới từ chiến dịch marketing quản lý trong Google Sheets trực tiếp vào Salesforce dưới dạng các tài khoản và liên hệ mới.
- Cập nhật định kỳ hồ sơ Salesforce với dữ liệu mới nhất từ Google Sheets dùng để theo dõi tương tác khách hàng hoặc hoạt động bán hàng.
- Tự động hóa quá trình đánh giá tiềm năng khách hàng dùng Google Sheets để thu thập dữ liệu thô của khách hàng tiềm năng và tạo các tài khoản cũng như liên hệ tương ứng trong Salesforce sau khi đã được xác nhận.
7. Bổ sung dữ liệu công ty bằng nội dung trang web sử dụng OpenAI’s GPT và Google Sheets
Quy trình n8n nâng cao này thể hiện một quá trình toàn diện để tự động bổ sung dữ liệu công ty bằng nội dung trang web sử dụng Mô hình ngôn ngữ lớn GPT của OpenAI và Google Sheets.

Quy trình này kích hoạt thủ công để đọc tên miền từ Google Sheets và xử lý theo lô. Nó lấy nội dung trang web qua yêu cầu HTTP, sau đó một mô hình AI phân tích nội dung này để trích xuất chi tiết về công ty. Cuối cùng, dữ liệu được định dạng và cập nhật trở lại vào Google Sheets, quy trình lặp lại cho đến khi hoàn tất tất cả các lô.

- Nhóm nghiên cứu thị trường có thể sử dụng quy trình làm việc này để nhanh chóng thu thập thông tin về khách hàng tiềm năng hoặc đối thủ cạnh tranh, cập nhật dữ liệu của họ với các thông tin chính về công ty.
- Chuyên gia bán hàng và marketing có thể sử dụng nó để làm phong phú các liên hệ tiềm năng với bối cảnh bổ sung trước khi tiếp cận, giúp chiến lược liên hệ trở nên cá nhân hóa và hiệu quả hơn.
- Các phòng nhân sự có thể tự động hóa quá trình thu thập thông tin về các nhà tuyển dụng hoặc đối tác tiềm năng để hỗ trợ quá trình ra quyết định hoặc chuẩn bị cuộc họp.
- Các công ty đầu tư có thể sử dụng quy trình làm việc này để tiến hành thẩm định các cơ hội đầu tư tiềm năng, nhanh chóng có được cái nhìn về vị trí thị trường và khách hàng của công ty đó.
- Các nhà phát triển web hoặc các agency kỹ thuật số có thể dùng để phân loại và sắp xếp các trang web của khách hàng dựa trên ngành nghề và dịch vụ cung cấp.
- Người sáng tạo nội dung và nhà chiến lược có thể tận dụng quy trình làm việc này để phân tích xu hướng về đề xuất giá trị và thông điệp trong các ngành công nghiệp khác nhau.
Kết luận
Hy vọng các bạn đã nắm đước các bước cơ bản trong việc sử dụng google sheet làm một cơ sở dữ liệu tạm. Để tham khảo thêm về các template n8n, hãy truy cập vào đây