Chào các anh em, dạo này mình đang mày mò dùng Python để tự động hóa mấy tác vụ với Excel. Thấy bên mình có nhiều bài hay về Python trong Excel quá, mình cũng mạnh dạn chia sẻ một chút kinh nghiệm nhỏ mà mình vừa làm được.
Công việc của mình thỉnh thoảng cần tạo biểu đồ từ dữ liệu có sẵn trong file Excel, nhưng yêu cầu về biểu đồ thì lại thay đổi liên tục. Làm thủ công mất thời gian mà dễ sai sót. Mình đã thử dùng Python với thư viện openpyxl để giải quyết vấn đề này.
Về cơ bản, mình viết một script Python để:
- Đọc dữ liệu từ file Excel.
- Xác định các cột cần vẽ biểu đồ (ví dụ: cột doanh thu, cột thời gian).
- Tạo đối tượng biểu đồ (ví dụ: biểu đồ đường, biểu đồ cột) với các tùy chỉnh cần thiết (tiêu đề, trục, màu sắc).
- Thêm biểu đồ vào một sheet mới hoặc một vị trí cụ thể trong file Excel.
Ví dụ, để tạo một biểu đồ đường đơn giản:
from openpyxl import Workbook
from openpyxl.chart import LineChart, Reference
wb = Workbook()
ws = wb.active
# Giả sử dữ liệu đã có trong ws
c1 = LineChart()
c1.title = "Biểu đồ Doanh thu"
c1.style = 10
c1.y_axis.title = 'Doanh thu'
c1.x_axis.title = 'Tháng'
data = Reference(ws, min_col=2, min_row=1, max_row=10, max_col=2)
cats = Reference(ws, min_col=1, min_row=1, max_row=10)
c1.add_data(data, titles_from_data=True)
c1.set_categories(cats)
ws.add_chart(c1, "E5")
wb.save("biểu_đồ_doanh_thu.xlsx")Cách này giúp mình tiết kiệm được kha khá thời gian, đặc biệt khi cần tạo nhiều biểu đồ với các cấu hình khác nhau. Anh em nào có kinh nghiệm hay thủ thuật gì hay ho với Python và Excel thì chia sẻ thêm nhé!