Menu

Tự động hóa tạo báo cáo Excel hàng tháng từ nhiều nguồn dữ liệu với Python

Dư Quân Công 09/06/2026 11:14 539 lượt xem 2 trả lời

Chào các anh chị em trong diễn đàn,

Dạo này công việc của mình liên quan đến việc tổng hợp dữ liệu từ nhiều file Excel khác nhau để tạo báo cáo hàng tháng. Việc này khá tốn thời gian và dễ sai sót nếu làm thủ công. Mình đã tìm hiểu và áp dụng Python để tự động hóa quy trình này, thấy hiệu quả nên muốn chia sẻ lại cho mọi người tham khảo.

Vấn đề: Cần tổng hợp dữ liệu từ nhiều file Excel (ví dụ: file doanh thu theo từng chi nhánh, file chi phí theo từng phòng ban) vào một file báo cáo tổng hợp duy nhất hàng tháng.

Giải pháp với Python:

  • Sử dụng thư viện pandas để đọc dữ liệu từ các file Excel.
  • Kết hợp dữ liệu từ các file lại với nhau (ví dụ: dùng pd.concat hoặc pd.merge tùy theo cấu trúc dữ liệu).
  • Thực hiện các phép tính tổng hợp, lọc, nhóm dữ liệu theo yêu cầu báo cáo.
  • Xuất kết quả ra một file Excel mới.

Ví dụ code cơ bản:

import pandas as pd
import glob

# Lấy danh sách tất cả các file Excel trong một thư mục
all_files = glob.glob("duong_dan_den_thu_muc/*.xlsx")

df_list = []
for filename in all_files:
    df = pd.read_excel(filename)
    df_list.append(df)

# Kết hợp các DataFrame lại
combined_df = pd.concat(df_list, ignore_index=True)

# Thực hiện các phép xử lý, tổng hợp dữ liệu ở đây
# Ví dụ: Tính tổng doanh thu theo tháng
combined_df['Thang'] = pd.to_datetime(combined_df['Ngay']).dt.month
report_df = combined_df.groupby('Thang')['DoanhThu'].sum().reset_index()

# Xuất báo cáo ra file Excel
report_df.to_excel("bao_cao_hang_thang.xlsx", index=False)

print("Đã tạo báo cáo hàng tháng thành công!")

Lợi ích:

  • Tiết kiệm thời gian đáng kể.
  • Giảm thiểu sai sót do nhập liệu thủ công.
  • Dễ dàng cập nhật báo cáo khi có dữ liệu mới.

Đây chỉ là một ví dụ đơn giản, tùy thuộc vào cấu trúc dữ liệu và yêu cầu báo cáo cụ thể mà chúng ta có thể tùy chỉnh code cho phù hợp. Nếu có anh chị nào gặp khó khăn hoặc có cách làm hay hơn, rất mong được chia sẻ thêm ạ.

4

Cái này hay quá bạn ơi! Mình cũng đang đau đầu với việc tổng hợp báo cáo hàng tháng đây. Bạn có thể chia sẻ cụ thể hơn về cách bạn dùng Python để đọc và gộp các file Excel không? Có thư viện nào hỗ trợ tốt không, ví dụ như Pandas chẳng hạn?

0

Hay quá bạn ơi! Mình cũng đang vật lộn với việc tổng hợp báo cáo hàng tháng từ nhiều file Excel đây.

Đúng là Python với thư viện Pandas có thể "cân" ngon lành vụ này. Mình thường dùng pd.read_excel() để đọc từng file, sau đó dùng pd.concat() để gộp chúng lại. Nếu các file có cấu trúc cột giống nhau thì quá đơn giản.

Bạn có gặp khó khăn gì trong quá trình đọc hoặc xử lý dữ liệu không? Chia sẻ thêm để anh em cùng học hỏi nhé!

5

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

Đăng nhập Đăng ký