Chào mọi người,
Dạo này mình thấy nhiều anh em trong forum hay chia sẻ các bài viết về tự động hóa bằng Python, thấy hay quá nên mình cũng thử mày mò và có một chút kinh nghiệm muốn chia sẻ lại. Hôm nay, mình xin phép chia sẻ cách tự động hóa việc tạo file Excel mới dựa trên một file mẫu có sẵn bằng Python. Cái này cực kỳ hữu ích khi các bạn cần tạo ra nhiều báo cáo có cấu trúc giống nhau, chỉ khác nhau về dữ liệu.
Giả sử chúng ta có một file Excel mẫu tên là BaoCaoMau.xlsx với các tiêu đề cột và định dạng sẵn. Chúng ta muốn tạo ra các file báo cáo mới cho từng phòng ban, ví dụ: 'BaoCao_KinhDoanh.xlsx', 'BaoCao_NhanSu.xlsx', v.v.
Chúng ta có thể sử dụng thư viện openpyxl trong Python để làm việc này. Nếu chưa cài, các bạn có thể cài đặt bằng lệnh:
pip install openpyxl
Đây là đoạn code ví dụ:
from openpyxl import load_workbook
# Tên file mẫu
file_mau = "BaoCaoMau.xlsx"
# Danh sách các phòng ban cần tạo báo cáo
phong_ban = ["Kinh Doanh", "Nhan Su", "Ke Toan", "Marketing"]
# Lặp qua từng phòng ban để tạo file mới
for pb in phong_ban:
# Tên file mới sẽ được tạo
ten_file_moi = f"BaoCao_{pb.replace(' ', '_')}.xlsx"
# Tải workbook mẫu
wb_mau = load_workbook(file_mau)
# Lưu workbook mới với tên khác
wb_mau.save(ten_file_moi)
print(f"Đã tạo file: {ten_file_moi}")
print("Hoàn tất!")Với đoạn code trên, chương trình sẽ mở file BaoCaoMau.xlsx và lưu lại thành các file mới với tên tương ứng cho từng phòng ban. Cách này giúp tiết kiệm kha khá thời gian và tránh sai sót khi làm thủ công.
Các bạn có thể phát triển thêm bằng cách đọc dữ liệu từ một nguồn khác (ví dụ: database, file CSV) và ghi vào các file Excel mới này.
Chúc mọi người thành công!