Menu

App script quản lý rủi ro cho cá nhân & doanh nghiệp với báo cáo chuẩn định dạng biểu đồ

Tự động cập nhật dữ liệu Excel từ SQL Server bằng Python - Hướng dẫn cơ bản

Lâm Phượng Thắm 01/04/2026 00:47 201 lượt xem 3 trả lời

Chào mọi người,

Mình là dân văn phòng, công việc hàng ngày của mình là xử lý báo cáo từ nhiều nguồn dữ liệu khác nhau, trong đó có cả cơ sở dữ liệu SQL Server. Trước đây, mình thường xuyên phải xuất dữ liệu thủ công ra file Excel, rất tốn thời gian và dễ sai sót. Gần đây, mình có tìm hiểu và áp dụng Python để tự động hóa việc này, thấy khá hiệu quả nên muốn chia sẻ với anh em trong diễn đàn.

Mục tiêu là làm sao để khi có dữ liệu mới trong SQL Server, file Excel của mình sẽ tự động cập nhật mà không cần thao tác thủ công.

Mình sẽ tập trung vào việc kết nối Excel với SQL Server và trích xuất dữ liệu bằng Python. Các thư viện mình dùng chủ yếu là:

  • pyodbc: Để kết nối tới SQL Server.
  • pandas: Để xử lý và thao tác dữ liệu dễ dàng hơn.

Các bước thực hiện cơ bản:

  1. Cài đặt thư viện: Nếu chưa có, bạn có thể cài đặt bằng pip:pip install pyodbc pandas openpyxl
  2. Thiết lập kết nối: Cần có thông tin kết nối SQL Server (tên server, database, username, password - nếu có). Dưới đây là một ví dụ kết nối bằng pyodbc:conn_str = (r'DRIVER={ODBC Driver 17 for SQL Server};' r'SERVER=your_server_name;' r'DATABASE=your_database_name;' r'UID=your_username;' r'PWD=your_password')
    cnxn = pyodbc.connect(conn_str)
  3. Truy vấn dữ liệu: Viết câu lệnh SQL để lấy dữ liệu bạn cần. Ví dụ:sql_query = "SELECT column1, column2 FROM your_table WHERE condition"
  4. Đưa vào DataFrame: Sử dụng pandas để đọc dữ liệu từ SQL Server vào DataFrame:df = pd.read_sql(sql_query, cnxn)
  5. Xuất ra Excel: Lưu DataFrame thành file Excel:df.to_excel("output_file.xlsx", index=False)

Lưu ý là bạn cần cài đặt đúng driver ODBC cho SQL Server trên máy tính của mình.

Đây chỉ là những bước cơ bản để trích xuất dữ liệu. Nếu muốn tự động hóa hoàn toàn (ví dụ: chạy script định kỳ), bạn có thể tìm hiểu thêm về schedule hoặc các công cụ lên lịch tác vụ của hệ điều hành.

Có anh em nào đã từng làm tương tự hoặc có cách nào tối ưu hơn không, chia sẻ thêm cho mình học hỏi với ạ!

0

Hay quá bạn ơi! Mình cũng đang đau đầu với việc xuất dữ liệu thủ công từ SQL ra Excel đây. Phương pháp dùng Python này nghe rất khả thi.

Bạn có thể chia sẻ thêm về các thư viện Python mà bạn đã sử dụng không? Ví dụ như pyodbc hay sqlalchemy chẳng hạn? Và bước kết nối với SQL Server có phức tạp không?

Cảm ơn bạn đã chia sẻ nhé!

3

Chào bạn,

Cảm ơn bạn đã quan tâm đến bài viết! Đúng là việc xuất dữ liệu thủ công tốn nhiều công sức thật. Với Python, mình thường dùng thư viện pyodbc để kết nối và truy vấn dữ liệu từ SQL Server.

Bước kết nối ban đầu có thể hơi "nhảy múa" một chút nếu bạn chưa quen với cú pháp connection string, nhưng sau khi thiết lập được một lần thì mọi thứ sẽ chạy rất mượt.

Nếu bạn gặp khó khăn ở bước nào hoặc muốn thử với sqlalchemy, cứ mạnh dạn hỏi thêm nhé!

4

Hay quá bạn ơi! Mình cũng đang đau đầu với việc xuất dữ liệu thủ công từ SQL ra Excel đây. Phương pháp dùng Python này nghe rất khả thi.

Bạn có thể chia sẻ thêm về các thư viện Python mà bạn đã sử dụng không? Ví dụ như pyodbc hay sqlalchemy chẳng hạn? Và bước kết nối với SQL Server có phức tạp không?

Cảm ơn bạn đã chia sẻ nhé!

5

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

Đăng nhập Đăng ký