2013-03-17 5 views
6

In meiner Firma verwenden wir Linux in Entwicklungs- und Produktionsumgebung. Aber wir haben eine Maschine, auf der Windows und Excel laufen, weil wir eine Drittanbieter-Anwendung verwenden, um die Finanzmarktdaten auf die Maschine zu bringen. Das Add-In stellt einige Funktionen zur Verfügung (genau wie die Excel-Funktion), um diese Daten in den lokalen Rechner zu übertragen und dann an eine MySql-Datenbank zurückzusenden. Wir haben auch ein VBA-Skript entwickelt, um die Aufgabe zu automatisieren, aber immer noch nicht mit dem Ergebnis zufrieden. Ich erwäge Python all diese Aufgaben zu erledigen, aber vor dem Sprung, ich brauche ein Python-Paket zu finden, dieAutomation Excel von Python

  1. Verwenden Python Excel zu manipulieren tun kann (mit seinem Add-In) und seine Funktionen nutzen ohne Excel zu öffnen?
  2. Wenn ich Excel öffnen müssen, muss ich der Ausführung des Skripts, diese Aufgabe automatisieren, jeden Tag, oder in bestimmten Moment des Tages (die Marktdaten benötigen eine bestimmte Zeit zu füttern)

Vielen Dank für Vorschlag

Antwort

8

Hier finden Sie die Python-Win32-Erweiterungen benötigen - http://sourceforge.net/projects/pywin32/

Dann können Sie COM verwenden.

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() 

Sie können Ihr Skript auf Windows Taskplaner für die Zeiten ausführen, die Sie benötigen.

+0

Können Sie einen Blick auf meine neue Frage nehmen? http://stackoverflow.com/questions/15929676/access-data-in-excel-reuter-from-python – nam

0

Als Alternative könnten Sie openpyxl in Betracht ziehen.

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

Hier ist ein Kapitel aus dem Buch, das ich gerade durcharbeite.

https://automatetheboringstuff.com/chapter12/

Luck