2009-11-02 5 views
5

Gibt es eine Möglichkeit, Excel-Tabellen mit Perl unter Linux zu erstellen, damit ich die Tabelle unter Windows öffnen kann und native Excel-Grafiken erstellt werden? Ich weiß, dass es Libs gibt, um Grafiken zu zeichnen, aber alle Bibliotheken, die ich kenne, fügen einfach ein Bild in das Excel ein, das merkwürdig aussieht, wenn ich die Tabelle unter Windows öffne. Also frage ich mich, gibt es einen Weg, es besser zu machen? Möglicherweise könnte ich ein VB-Skript einbetten oder so, dass es automatisch eine Grafik erstellt, wenn ich die Tabelle unter Windows öffne? Die ursprüngliche Tabelle muss unter Linux erstellt werden, sodass es keine Möglichkeiten gibt, OLE oder eine andere Nur-Windows-Technologie zu verwenden.Kann ich Excel-Dateien mit nativen Excel-Diagrammen unter Linux generieren?


Danke Jungs! Spreadsheet :: WriteExcel scheint eine gute Lösung zu sein. Ich habe auf den ersten Blick nicht verstanden, ob es erlaubt, die Dimensionen von Daten zu ändern, oder es ist in einer Vorlagendatei fest codiert (10 Punkte zum Beispiel, nicht mehr und nicht weniger). Weiß jemand?

Wenn jemand einen anderen Weg kennt, meine Aufgabe zu erledigen, bitte poste es hier. Ich bin daran interessiert, verschiedene Lösungen zu vergleichen und das Beste auszuwählen.

+0

Wie wäre es mit der Erstellung der Tabelle im Open Document Format und deren Umwandlung in ein Excel-Dokument mit http://sourceforge.net/projects/odf-converter/? – Makis

+0

Das wäre okay. Aber wird die Grafik in Excel nativ aussehen? –

Antwort

9

Ja, Spreadsheet :: WriteExcel hat eine Funktion embed_chart ($ row, $ col, $ filename, $ x, $ y, $ scale_x, $ scale_y), mit der Sie dies tun können.

8

Tabellenkalkulation :: WriteExcel ermöglicht das Einfügen von Diagrammen aus vorhandenen Dateien (mit einigen Vorbehalten).

Siehe das folgende Unterdokument auf Spreadsheet::WriteExcel Charts und die Beispiele Dateien in der Distribution, wie this one.

P.S. Ich bin der Autor dieses Moduls.

+1

Hey, danke dann. Ich habe dieses Modul in meinem früheren Job verwendet und es funktionierte einwandfrei. –

+1

Ja, Prost, was für ein tolles Modul :-) – Benj