ExelPerl von Martin Fabiani (strat) kann via Win32::OLE Excel-Dateien direkt editieren (lesen und schreiben).
Das Tool ist somit zwar auf Windows-Betriebssysteme mit installiertem Excel beschränkt, allerdings steht der volle Funktionsumfang von Excel zur Verfügung.
Beispiele
Wie bei perl -ane, wird eine while-Schleife um das Kommando gelegt. Das Kommando wird für jede Zeile ausgeführt, wobei die einzelnen Werte der Zeile im Array @F zur Verfügung gestellt werden. Da es sich dabei um ein tied Array handelt, werden Änderungen an einem Element von @F auch direkt in der Excel-Datei geändert, z.B. die Spalte A in Großbuchstaben ändern:
excelPerl -ane "$F[0] = uc $F[0]" -f datei.xls
Zusätzlich steht das Array @C zur Verfügung, das die Win32::OLE-Objekte der einzelnen Zellen enthält und worüber der Zugriff auf die gesamte Funktionalität von Excel möglich ist, z.B. die Spalte B auf die Schriftart "Courier New" setzen:
excelPerl -ane "$C[1]->{Font}->{Name} = 'Courier New'" -f datei.xls
Siehe auch
- ExelPerl
- XLSperl
- Win32::OLE
- Spreadsheet::ParseExcel
- Spreadsheet::WriteExcel
- Cultured Perl: Reading and writing Excel files with Perl
- Generating Native Excel Files in Perl | Linux Journal
- Reading Native Excel Files in Perl | Linux Journal
- Excel on the Command Line
- xlsmerge - Merge worksheets from different Excel files into one Workbook
Hallo,
der Link zu ExcelPerl funktioniert nicht mehr.
Richtig ist (Stand: 12.Juni 2013): http://www.fabiani.net/downloads.html#excelPerl
VG
M.L.