Menu

Tự động hóa tạo biểu đồ Excel bằng Python và Matplotlib

Kha Đông Thịnh 07/06/2026 03:09 256 lượt xem 3 trả lời

Chào mọi người,

Dạo gần đây mình có làm việc nhiều với Python để tự động hóa các tác vụ Excel, và mình nhận thấy việc tạo biểu đồ cũng có thể làm rất hiệu quả bằng code. Hôm nay mình muốn chia sẻ với mọi người một cách đơn giản để tự động hóa việc tạo biểu đồ trong Excel bằng thư viện Matplotlib của Python.

Thông thường, khi cần tạo biểu đồ từ dữ liệu Excel, chúng ta sẽ phải mở file, chọn dữ liệu, rồi vào Insert để chọn loại biểu đồ mong muốn. Với các file có cấu trúc dữ liệu giống nhau và cần tạo nhiều biểu đồ tương tự, việc này khá tốn thời gian. Sử dụng Python, chúng ta có thể giải quyết vấn đề này.

Cách thực hiện:

  • Đầu tiên, bạn cần cài đặt các thư viện cần thiết: pandas để đọc file Excel và matplotlib để vẽ biểu đồ. Nếu chưa có, bạn có thể cài đặt bằng pip:
pip install pandas matplotlib openpyxl
  • Tiếp theo, sử dụng Pandas để đọc dữ liệu từ file Excel của bạn.
  • Sau đó, dùng Matplotlib để tạo các loại biểu đồ bạn cần (ví dụ: biểu đồ cột, biểu đồ đường, biểu đồ tròn...).
  • Cuối cùng, bạn có thể lưu biểu đồ này thành file ảnh (PNG, JPG...) hoặc sử dụng các thư viện khác để chèn trực tiếp biểu đồ vào một file Excel mới hoặc file Excel có sẵn.

Ví dụ đơn giản để vẽ biểu đồ cột từ dữ liệu Excel:

import pandas as pd
import matplotlib.pyplot as plt

# Đọc dữ liệu từ file Excel
df = pd.read_excel('du_lieu_cua_ban.xlsx')

# Giả sử bạn có cột 'Thang' và cột 'DoanhThu'
plt.figure(figsize=(10, 6))
plt.bar(df['Thang'], df['DoanhThu'])
plt.xlabel('Tháng')
plt.ylabel('Doanh Thu')
plt.title('Biểu đồ doanh thu hàng tháng')
plt.xticks(rotation=45)
plt.tight_layout()

# Lưu biểu đồ thành file ảnh
plt.savefig('bieu_do_doanh_thu.png')

# Nếu muốn chèn vào file Excel khác (cần thêm thư viện xlwings hoặc openpyxl)
# Ví dụ với xlwings:
# import xlwings as xw
# wb = xw.Book('file_excel_moi.xlsx')
# sheet = wb.sheets['Sheet1']
# sheet.pictures.add(plt.gcf(), name='BieuDoDoanhThu', left=100, top=50)
# wb.save()
# wb.close()

print("Đã tạo và lưu biểu đồ thành công!")

Cách này rất hữu ích khi bạn cần cập nhật biểu đồ thường xuyên với dữ liệu mới mà không cần thao tác thủ công. Hy vọng chia sẻ này giúp ích cho mọi người!

5

Hay quá bạn ơi! Mình cũng đang mày mò vụ này với Python đây. Thấy bảo Matplotlib mạnh mẽ lắm, nhưng thú thật là cái phần tùy chỉnh biểu đồ sao cho đẹp và đúng ý đồ cũng hơi "nhức đầu".

Cho mình hỏi thêm chút nhé: ngoài Matplotlib, bạn có từng thử qua các thư viện khác như openpyxl hay xlwings để tương tác với biểu đồ Excel trực tiếp không? Mình đang phân vân không biết nên tập trung vào cái nào.

Cảm ơn bạn đã mở ra hướng đi mới!

5

Chào bạn,

Bài viết của bạn rất hay và hữu ích! Mình cũng đang tìm hiểu về Python để tự động hóa Excel, đặc biệt là mảng biểu đồ. Bạn có thể chia sẻ thêm về cách bạn xử lý các định dạng biểu đồ khác nhau (ví dụ: cột, đường, tròn) hay cách tùy chỉnh màu sắc, nhãn trục bằng Matplotlib không? Mình rất tò mò muốn biết thêm chi tiết.

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

0

Hay quá bạn ơi! Mình cũng đang mày mò vụ này với Python đây. Thấy bảo Matplotlib mạnh mẽ lắm, nhưng thú thật là cái phần tùy chỉnh biểu đồ sao cho đẹp và đúng ý đồ cũng hơi "nhức đầu".

Cho mình hỏi thêm chút nhé: ngoài Matplotlib, bạn có từng thử qua các thư viện khác như openpyxl hay xlwings để tương tác với biểu đồ Excel trực tiếp không? Mình đang phân vân không biết nên tập trung vào cái nào.

Cảm ơn bạn đã mở ra hướng đi mới!

2

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

Đăng nhập Đăng ký