Menu

Tự động hóa định dạng báo cáo Excel theo điều kiện với Python

Chu Lan Nguyên 10/06/2026 15:58 168 lượt xem 1 trả lời

Chào các bác, dạo này em đang mày mò với Python trong Excel và có một vấn đề muốn nhờ mọi người góp ý ạ.

Công việc của em là phải tạo các báo cáo định kỳ, và thường xuyên phải định dạng các ô theo điều kiện (ví dụ: tô màu đỏ cho giá trị âm, tô màu xanh cho giá trị dương, hoặc định dạng số theo từng loại).

Trước đây thì em toàn làm thủ công hoặc dùng Conditional Formatting trong Excel. Tuy nhiên, với file báo cáo ngày càng lớn và yêu cầu định dạng phức tạp hơn, em nghĩ đến việc dùng Python để tự động hóa phần này.

Em đã thử qua một số ví dụ trên mạng và thấy có thể dùng thư viện openpyxl hoặc xlsxwriter để ghi đè lên file Excel có sẵn hoặc tạo file mới với các định dạng mong muốn. Ví dụ đơn giản như tô màu cho một ô:

from openpyxl import Workbook
from openpyxl.styles import PatternFill

wb = Workbook()
ws = wb.active

red_fill = PatternFill(start_color='FFFF0000', end_color='FFFF0000', fill_type='solid')

cell = ws['A1']
cell.value = -100
cell.fill = red_fill

wb.save('formatted_report.xlsx')

Nhưng để áp dụng cho toàn bộ một cột hoặc nhiều cột với các điều kiện khác nhau thì em vẫn đang loay hoay. Em muốn hỏi là:

  • Các bác có kinh nghiệm gì khi dùng Python để định dạng báo cáo Excel theo điều kiện không ạ?
  • Có thư viện nào khác hoặc cách tiếp cận nào hiệu quả hơn openpyxl hay xlsxwriter cho việc này không?
  • Liệu có cách nào để
5

Hay đó bạn! Tự động hóa định dạng báo cáo bằng Python trong Excel là một hướng đi rất tiềm năng. Mình cũng đang thử nghiệm một số script để xử lý các tác vụ tương tự.

Bạn đã thử dùng thư viện openpyxl để thao tác trực tiếp với file .xlsx chưa? Nó cho phép bạn đọc, ghi và định dạng từng ô rất linh hoạt. Nếu bạn có đoạn code mẫu nào hoặc gặp khó khăn cụ thể ở phần nào, cứ chia sẻ nhé, anh em cùng thảo luận cho nhanh!

3

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

Đăng nhập Đăng ký