2017-10-04 3 views
0

Ich möchte ein Programm erstellen, das Excel-Reporting einschließlich verschiedener Grafiken in Farben automatisiert. Das Programm muss in der Lage sein, einen Excel-Datensatz zu lesen. Basierend auf diesem Datensatz muss das Programm dann Berichtsseiten und -diagramme erstellen und dann in eine Excel-Datei sowie eine PDF-Datei exportieren.Automatisierung von Excel-Berichten und Grafiken - Python xlsxWriter/xlswings oder Ruby axlsx/win32ole

Ich habe einige Nachforschungen gemacht und es scheint, dass dies mit Python mit Pandas - xlsxWriter oder xlswings sowie Ruby Gems - axlsx oder win32ole möglich ist.

Welche ist die benutzerfreundlichere und einfach zu lernende Alternative? Was sind die Vor- und Nachteile? Gibt es andere Möglichkeiten, die ich in Betracht ziehen sollte (ich möchte VBA vermeiden - so werden die Berichte derzeit produziert)?

Alle Antworten und Kommentare sind willkommen. Vielen Dank!

+0

Ich denke, Sie könnten beide Sprachen verwenden. Wenn du Ruby verwendest, benutze definitiv [axlsx] (https://github.com/randym/axlsx), es ist super einfach (viel einfacher als win32ole). –

Antwort

0

Wenn Sie bereits über VBA verfügen, dass für Ihr Projekt funktioniert, dann ist die Übersetzung in Ruby + WIN32OLE wahrscheinlich der schnellste Weg zu funktionierendem Code. Alles, was Sie in VBA tun können, ist in Ruby machbar (wenn Sie etwas finden, was Sie nicht tun können, schreiben Sie hier, um nach Hilfe zu fragen).

Ich arbeite lieber mit Excel über OLE, da ich weiß, dass die von Excel erzeugte Datei funktioniert, wo immer ich sie öffne. Ich habe Axlsx nicht benutzt, aber ich bin mir sicher, dass es ein gutes Projekt ist; Ich würde einfach nicht darauf vertrauen, dass es jedes Mal funktionierende Excel-Dateien erzeugen würde.

+0

Danke Chuck für Ihre Antwort. Bedeutet das, dass OLE das Diagramm in Excel ausführt? Das möchte ich vermeiden - weil die Datensätze zu groß sind und die Makros ewig dauern. Ich möchte nicht, dass Excel die Daten verarbeitet, ich möchte nur, dass die Ergebnisse in Excel dargestellt werden. – SueGunther

+0

Mein Vorschlag war, Ihre vorhandene VBA zu Ruby "portieren". Wenn der aktuelle Code "für immer" zu laufen braucht, wird Ruby + WIN32OLE nicht besser sein. Sie könnten jedoch Ihren Code ändern, um Ihre Datasetberechnungen in Ruby auszuführen, und dann mithilfe von OLE ein Diagramm aus den Ergebnissen erstellen. Kein Grund, das kann nicht funktionieren. –