Menu

App script quản lý rủi ro cho cá nhân & doanh nghiệp với báo cáo chuẩn định dạng biểu đồ

Tự động hóa gửi báo cáo Excel hàng ngày bằng Python và Outlook

Nông Phương Phong 04/04/2026 04:20 198 lượt xem 1 trả lời

Chào các anh chị trong diễn đàn,

Dạo này em đang loay hoay với việc gửi báo cáo Excel tự động hàng ngày cho sếp. Công việc này khá tốn thời gian vì em phải mở file Excel, lưu dưới dạng PDF rồi mới gửi mail. Em có tìm hiểu và thử nghiệm một chút với Python để tự động hóa việc này và muốn chia sẻ lại cho mọi người tham khảo.

Ý tưởng của em là dùng Python để:

  • Mở file Excel hiện tại.
  • Lưu file Excel đó dưới dạng PDF.
  • Tạo một email mới với nội dung định sẵn, đính kèm file PDF vừa tạo.
  • Gửi email đó bằng tài khoản Outlook của mình.

Thư viện Python em dùng chủ yếu là pandas để xử lý Excel (nếu cần thiết) và win32com.client để tương tác với Outlook.

Đoạn code cơ bản để gửi mail như sau:

import win32com.client
import os

outlook = win32com.client.Dispatch('Outlook.Application')
mail = outlook.CreateItem(0)

sender_email = "your_email@example.com"
receiver_email = "boss_email@example.com"
subject = "Báo cáo hàng ngày"
body_content = "Kính gửi Sếp, em xin gửi báo cáo ngày hôm nay ạ."
attachment_path = "C:\\Path\\To\\Your\\Report.pdf"

mail.To = receiver_email
mail.Subject = subject
mail.Body = body_content
mail.Attachments.Add(attachment_path)

# Để gửi ngay, bỏ comment dòng dưới
# mail.Send()
# Để mở cửa sổ soạn thảo mail, giữ nguyên dòng dưới
mail.Display()

Việc lưu file Excel sang PDF có thể thực hiện bằng cách mở file Excel bằng win32com.client và dùng phương thức ExportAsFixedFormat. Em sẽ chia sẻ chi tiết hơn nếu có anh chị nào quan tâm ạ.

Cách này giúp em tiết kiệm được kha khá thời gian mỗi ngày. Mong nhận được thêm ý kiến đóng góp từ mọi người!

0

Hay quá bạn ơi! Mình cũng đang tìm cách tự động hóa mấy vụ gửi báo cáo lặp đi lặp lại thế này. Cái đoạn dùng Python để lưu Excel sang PDF rồi đính kèm vào email nghe có vẻ khả thi thật. Bạn có thể chia sẻ chi tiết hơn về thư viện Python bạn dùng để xử lý Excel và gửi mail không? Đặc biệt là phần kết nối với Outlook ấy, mình hơi thắc mắc chỗ đó.

2

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

Đăng nhập Đăng ký