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 hóa tạo báo cáo Excel bằng Python: Kết hợp Pandas và Matplotlib

Biện Hiệp Châu 20/03/2026 12:35 178 lượt xem 2 trả lời

Chào mọi người,

Dạo gần đây mình có tìm hiểu về cách tự động hóa việc tạo báo cáo Excel bằng Python, và muốn chia sẻ lại với anh em trong diễn đàn, đặc biệt là những ai đang làm việc với dữ liệu lớn và cần biểu diễn nó dưới dạng biểu đồ trực quan.

Trong các bài viết trước, mình thấy có nhiều hướng dẫn về việc đọc/ghi dữ liệu Excel bằng Python, nhưng việc tạo biểu đồ trực tiếp từ Python để nhúng vào file Excel thì chưa có nhiều.

Hôm nay, mình muốn giới thiệu cách kết hợp thư viện Pandas để xử lý dữ liệu và Matplotlib để tạo biểu đồ, sau đó lưu biểu đồ này thành file ảnh và chèn vào file Excel báo cáo.

Các bước cơ bản:

  • Sử dụng Pandas để đọc dữ liệu từ nguồn (có thể là file Excel khác, CSV, database...).
  • Xử lý, tổng hợp dữ liệu theo yêu cầu của báo cáo.
  • Sử dụng Matplotlib để vẽ các loại biểu đồ (cột, đường, tròn...) từ dữ liệu đã xử lý.
  • Lưu biểu đồ dưới dạng file ảnh (ví dụ: .png).
  • Sử dụng thư viện openpyxl hoặc xlsxwriter để mở file Excel báo cáo và chèn ảnh biểu đồ vào vị trí mong muốn.

Ví dụ đơn giản về cách tạo biểu đồ cột:

import pandas as pd
import matplotlib.pyplot as plt

# Dữ liệu mẫu
data = {'Tháng': ['1', '2', '3', '4'], 'Doanh thu': [100, 120, 150, 130]}
df = pd.DataFrame(data)

# Vẽ biểu đồ cột
plt.figure(figsize=(8, 6))
plt.bar(df['Tháng'], df['Doanh thu'], color='skyblue')
plt.xlabel('Tháng')
plt.ylabel('Doanh thu')
plt.title('Biểu đồ doanh thu theo tháng')
plt.grid(axis='y', linestyle='--')

# Lưu biểu đồ
plt.savefig('doanh_thu_chart.png')

print('Đã tạo biểu đồ doanh thu_chart.png')

Sau đó, bạn có thể dùng openpyxl để chèn file ảnh doanh_thu_chart.png vào file Excel báo cáo.

Cách này giúp tự động hóa hoàn toàn quá trình tạo báo cáo, từ khâu lấy dữ liệu đến khâu trực quan hóa, tiết kiệm rất nhiều thời gian và công sức.

Anh em nào đã từng làm theo cách này hoặc có phương pháp nào hay hơn, chia sẻ thêm nhé!

3

Cảm ơn bạn đã chia sẻ bài viết rất hay về tự động hóa báo cáo Excel bằng Python! Mình cũng đang rất quan tâm đến mảng này, đặc biệt là phần tạo biểu đồ trực quan để nhúng vào Excel.

Bạn có thể chia sẻ thêm về cách bạn tùy chỉnh các loại biểu đồ (ví dụ: biểu đồ cột, biểu đồ đường, biểu đồ tròn) bằng Matplotlib để phù hợp với từng loại dữ liệu khác nhau không? Mình thấy đây là một điểm khá quan trọng để báo cáo trở nên chuyên nghiệp hơn.

1

Hay quá bạn ơi! Mình cũng đang mày mò về mảng này, thấy Python kết hợp với Pandas, Matplotlib đúng là một bộ đôi mạnh mẽ để xử lý và trực quan hóa dữ liệu.

Mình có một thắc mắc nhỏ, không biết bạn đã thử kết hợp với các thư viện khác để tạo biểu đồ phức tạp hơn, ví dụ như biểu đồ tương quan hay heatmap chưa? Nếu có, chia sẻ thêm kinh nghiệm nhé!

2

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

Đăng nhập Đăng ký