2016-11-02 5 views
1

Ich entwerfe ein Handelsmanagementsystem. Ich möchte in der Lage sein, Werte in Excel einzugeben und Python etwas rechnen zu lassen (anstatt zu übertreffen). Ist das überhaupt möglich?Wie man ein Excel-Arbeitsblatt live aktualisiert, ohne das Python zu schließen und wieder zu öffnen

Mit openpyxl muss ich den Wert eingeben, Excel zu speichern, zu schließen, Skript ausführen, Excel erneut öffnen. Dies ist in Bezug auf die Designkriterien inakzeptabel.

Kann jemand einen besseren Weg empfehlen, eine Live-Schnittstelle zu haben, die aktualisiert wird, wenn sich Werte in den Zellen ändern? Idealerweise würde ich gerne mit Excel bleiben

+0

Können Sie zu VBA wechseln? Siehe http://stackoverflow.com/q/409434/2877364 – cxw

+0

Sie können ein VBA-Add-In erstellen, das einen Hook oder eine Schnittstelle zu einer Python-EXE bereitstellt. Auf diese Weise ruft der Excel-Prozess den Python-Prozess über COM auf. –

+0

Siehe [diese Antwort] (http://stackoverflow.com/a/1322962/1467082) –

Antwort

0

Ich weiß nicht, ob das überhaupt möglich ist, aber es wird mindestens schwer zu tun sein. Da Excel die Blattdatei beim Lesen sperrt, kann sie beim Öffnen nicht durch andere Prozesse geändert werden. So lassen Sie nur die Möglichkeit, den Excel-Prozess ändern Sie die Datei. Und Scripting in Excel kann meines Wissens nur in VB durchgeführt werden (aber ich weiß nicht viel darüber).

Verwandte Themen