Thread Möglichkeiten von Perl (Excel-Tabellen auswerten) (26 answers)
Opened by black_perl at 2014-11-17 15:38

payx
 2014-11-18 10:20
#178420 #178420
User since
2006-05-04
564 Artikel
BenutzerIn

user image
Hallo black_perl,

die Antwort lautet: Ja!

Perl ist das Werkzeug für diese Art Aufgaben: Daten aus irgendeiner Quelle auslesen, die Daten irgendwie verarbeiten und die Daten wieder in irgendeinem Format ausgeben.

Das (Excel-)Spreadsheet-Format wird zwar oft gescholten (es wird auch oft zu Zwecken missbraucht, zu denen es nicht taugt), aber es hat doch auch viele Vorteile. Anders als eine csv oder xml-Datei ist ein Spreadsheet z.B. sehr bequem zu lesen und ggf. auch zu editieren. Und es ist nunmal ein sehr verbreitetes Standardformat, mit dem sehr viele Leute (Kunden) vertraut sind, sodass sie froh sind, wenn Sie Daten als Excel liefern dürfen und/oder ein Excel zurückbekommen.

Ich arbeite sehr viel mit Excel-Dateien (die ich meist geliefert bekomme oder exportiere usw.) und verwende wenn immer möglich Perl, um sie auszuwerten, Inhalte zu konvertieren oder zu bereinigen usw. Im Großen und Ganzen klappt das sehr gut.

Wenn Du noch gar kein Perl kannst, wirst Du Dich einarbeiten müssen, keine Frage, aber das lohnt sich, schließlich hast Du dann ein Universalwerkzeug für alle möglichen Anforderungen.

Zur Umsetzung:

  • Ich würde die Daten nicht in csv umwandeln. Erstens ist das ein zusätzlicher Arbeitsgang, der zur Belastung werden kann, wenn der Vorgang öfter wiederholt werden soll, zweitens ist das unter Umständen fehleranfällig, wenn die Excel-Daten etwa Trenn- oder Begrenzungszeichen oder Zeilenumbrüche o.ä. enthalten. Beim Auslesen aus Excel macht all das keine Probleme, und Dein Zielformat ist ja auch wieder Excel.
  • Unter Windows kannst Du, wie von rosti vorgeschlagen, Active-State-Perl nehmen, oder Strawberry Perl. Ich empfehle eher zweiteres, weil Module direkt von CPAN installiert werden können; damit steht Dir theoretisch das ganze Perl-Universum zur Verfügung.
  • Ich benutze meistens noch xls-Dateien (altes Excel-Format bis MS-Office 2003). Zum Auslesen benutze ich CPAN:Spreadsheet::WriteExcel, zum Erzeugen neuer xls-Dateien CPAN:Spreadsheet::WriteExcel. Diese beiden Module wirst Du installieren müssen – oder eben die entsprechenden Module für xlsx (CPAN:Spreadsheet::XLSX und CPAN:Excel::Writer::XLSX – es gibt diverse Konkurrenz-Module, aber ich vermute, dass diese beiden für Deine Aufgabenstellungen gut gehen sollten).
  • Hier msg #161304 habe ich mal ein einfaches Code-Beispiel zum Auslesen einer Excel-Datei (xls) gepostet, vielleicht hilft Dir das als Einstieg.


Fazit: Sei herzlich ermutigt, die Sache in Perl anzugehen, auch wenn die ersten Schritte vielleicht mühsam sind. Wenn Du (trotz redlichen Bemühens) nicht weiterkommst, wird Dir hier sicher freundlich geholfen.

HTH
Grüße
payx

Editiert von payx: Typo (xslx statt xlsx)
Last edited: 2014-11-18 11:47:21 +0100 (CET)

View full thread Möglichkeiten von Perl (Excel-Tabellen auswerten)