Chào mọi người,
Dạo gần đây mình có tìm hiểu sâu hơn về việc tự động hóa với Python và openpyxl để xử lý file Excel. Hôm nay mình muốn chia sẻ một chút kinh nghiệm về cách mình đã tự động hóa việc tạo báo cáo Excel hàng tuần, hy vọng có thể giúp ích cho các bạn.
Công việc trước đây của mình là tổng hợp số liệu từ nhiều file Excel nhỏ, sau đó copy-paste thủ công vào một file báo cáo chính. Việc này tốn rất nhiều thời gian và dễ sai sót, đặc biệt là khi số lượng file tăng lên.
Sau khi tìm hiểu, mình quyết định sử dụng Python và thư viện openpyxl. Về cơ bản, quy trình của mình như sau:
- Đọc dữ liệu từ các file nguồn: Sử dụng
openpyxlđể mở từng file Excel, đọc các sheet và trích xuất dữ liệu cần thiết. - Xử lý và tổng hợp dữ liệu: Dùng các cấu trúc dữ liệu của Python (như list, dictionary) để gom nhóm và tính toán các chỉ số.
- Tạo file báo cáo mới: Tạo một workbook mới bằng
openpyxl. - Ghi dữ liệu vào báo cáo: Viết dữ liệu đã xử lý vào các sheet tương ứng trong file báo cáo. Mình cũng thêm định dạng cơ bản (màu sắc, font chữ) để báo cáo dễ nhìn hơn.
- Lưu file báo cáo: Lưu file báo cáo với tên có chứa ngày tháng để dễ quản lý.
Ví dụ đoạn code đơn giản để đọc dữ liệu từ một cell:
from openpyxl import load_workbook
workbook = load_workbook(filename="du_lieu_nguon.xlsx")
sheet = workbook.active
value = sheet['A1'].value
print(value)Việc tự động hóa này giúp mình tiết kiệm được vài tiếng mỗi tuần, đồng thời giảm thiểu sai sót đáng kể. Nếu bạn nào đang gặp vấn đề tương tự hoặc muốn tìm hiểu sâu hơn về openpyxl, đừng ngần ngại đặt câu hỏi nhé. Chúng ta cùng trao đổi!