2013-03-17 29 views
6

Trong công ty của tôi, chúng tôi sử dụng Linux trong môi trường phát triển và sản xuất. Nhưng chúng tôi có một máy chạy Windows và Excel vì chúng tôi sử dụng ứng dụng bên thứ ba để bổ sung dữ liệu thị trường tài chính vào máy. Bổ trợ này cung cấp một số hàm (giống như hàm Excel) để nhận các dữ liệu này vào máy cục bộ và sau đó gửi trở lại Cơ sở dữ liệu MySql. Chúng tôi cũng đã phát triển một số tập lệnh VBA để tự động hóa tác vụ nhưng vẫn không thỏa mãn với kết quả. Tôi đang xem xét sử dụng Python để làm tất cả những công việc này, nhưng trước khi nhảy vào, tôi cần phải tìm một gói python có thể làmTự động hóa Excel từ Python

  1. Sử dụng python để thao tác Excel (với add-ins của nó) và sử dụng các chức năng của nó mà không cần mở Excel?
  2. Nếu tôi cần phải mở Excel, tôi cần phải tự động hóa nhiệm vụ thực thi kịch bản mỗi ngày, hoặc trong thời điểm cụ thể trong ngày (các dữ liệu thị trường cần phải được nuôi dưỡng trong một thời gian cụ thể)

Cám ơn gợi ý

Trả lời

8

Bạn sẽ cần phần mở rộng Python Win32 - http://sourceforge.net/projects/pywin32/

Sau đó, bạn có thể sử dụng COM.

from win32com.client import Dispatch 
excel = Dispatch('Excel.Application') 
wb = excel.Workbooks.Open(r'c:\path\to\file.xlsx') 
ws = wb.Sheets('My Sheet') 
# do other stuff, just like VBA 
wb.Close() 
excel.Quit() 

Bạn có thể đặt tập lệnh của mình trên Windows Task Scheduler để chạy cho những lần bạn cần.

+0

Bạn có thể phải xem xét câu hỏi mới của tôi? http://stackoverflow.com/questions/15929676/access-data-in-excel-reuter-from-python – nam

0

Thay vào đó, bạn có thể xem xét openpyxl.

import openpyxl 
wb= openpyxl.Workbook() 
ws = wb.get_active_sheet() 
ws.title = 'My Title' 
wb.save('C:\\Development\\Python\\alpha.xlsx') 

Đây là một chương trong sách tôi đang làm việc.

https://automatetheboringstuff.com/chapter12/

Luck

Các vấn đề liên quan