Menu

Tự động hóa cập nhật dữ liệu Excel từ SQLite bằng Python

Triệu Đoan Kế 06/06/2026 17:12 422 lượt xem 1 trả lời

Chào các anh em trong diễn đàn Sheet & Excel,

Dạo gần đây mình có làm việc với một dự án nhỏ cần lưu trữ dữ liệu cấu trúc và quyết định sử dụng SQLite vì tính nhẹ nhàng, không cần cài đặt server phức tạp. Tuy nhiên, việc thủ công copy-paste dữ liệu từ SQLite sang Excel để làm báo cáo khá tốn thời gian.

Mình đã tìm hiểu và áp dụng một cách để tự động hóa việc này bằng Python. Mục đích là để khi có dữ liệu mới trong bảng SQLite, mình có thể chạy một script nhỏ để cập nhật toàn bộ vào file Excel có sẵn.

Cách làm của mình như sau:

  • Sử dụng thư viện sqlite3 của Python để kết nối và truy vấn dữ liệu từ file .db của SQLite.
  • Sử dụng thư viện pandas để đọc dữ liệu từ SQLite vào DataFrame.
  • Sử dụng pandas để ghi DataFrame đó vào một file Excel (.xlsx). Nếu file Excel đã tồn tại, có thể ghi đè hoặc cập nhật sheet cụ thể.

Code mẫu tham khảo:

import sqlite3
import pandas as pd

# Thông tin kết nối SQLite
sqlite_db_path = 'du_lieu_cua_ban.db'

# Chuỗi truy vấn SQL
sql_query = "SELECT * FROM ten_bang_du_lieu"

# Kết nối và lấy dữ liệu
conn = sqlite3.connect(sqlite_db_path)
df = pd.read_sql_query(sql_query, conn)
conn.close()

# Đường dẫn file Excel đích
excel_file_path = 'bao_cao_tu_dong.xlsx'

# Ghi dữ liệu vào Excel
# Nếu muốn ghi đè toàn bộ file:
# df.to_excel(excel_file_path, index=False)

# Nếu muốn ghi vào một sheet cụ thể và có thể cập nhật:
with pd.ExcelWriter(excel_file_path, engine='openpyxl', mode='a', if_sheet_exists='replace') as writer:
    df.to_excel(writer, sheet_name='DuLieuGoc', index=False)

print(f"Dữ liệu đã được cập nhật vào {excel_file_path} thành công!")

Lưu ý: Bạn cần cài đặt các thư viện cần thiết: pip install pandas openpyxl.

Cách này giúp mình tiết kiệm kha khá thời gian và giảm thiểu sai sót khi nhập liệu thủ công. Hy vọng chia sẻ này hữu ích cho các bạn nào đang làm việc với SQLite và Excel.

Có anh em nào có cách khác hay hơn hoặc có kinh nghiệm xử lý với các hệ CSDL khác thì chia sẻ thêm nhé!

2
Tuyệt vời! Mình cũng đang vật lộn với việc cập nhật dữ liệu thủ công từ nhiều nguồn khác nhau sang Excel. Bạn có thể chia sẻ cụ thể hơn về đoạn script Python bạn dùng để kết nối với SQLite và xuất dữ liệu sang Excel không? Mình đang dùng pandas để đọc dữ liệu từ SQL nhưng việc ghi đè hoặc cập nhật vào file Excel hiện có hơi lằng nhằng. Cảm ơn bạn nhiều nhé!
3

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký