Das Skript erzeugt eine Excel-Datei mit vier Arbeitsmappen: Je eine für Schriften, Farben, Füllmuster und Textausrichtung. Es basiert auf Material des Modulentwicklers John McNamara.
#!/usr/bin/perl use strict; use Spreadsheet::WriteExcel; # ----- Exceldatei anlegen ----- # my $excel = new Spreadsheet::WriteExcel( "test.xls" ); # ----- Formate ----- # my $center = $excel ->addformat(); my $head = $excel ->addformat(); $center ->set_align( "center" ); $head ->set_align( "center" ); $head ->set_bold(); # ----- Unterroutinen aufrufen ----- # * Jede Unterroutine erzeugt eine eigene Excel-Arbeitsmappe. # fonts(); # Mappe 'Fonts' farben(); # Mappe 'Farben' muster(); # Mappe 'Muster' align(); # Mappe 'Ausrichtung' # ----- Ausgabe beenden ----- # $excel ->close(); # ----- fonts() ----- # * Darstellung einiger ausgewählter Fonts. # sub fonts { my $sheet = $excel ->addworksheet( "Fonts" ); $sheet ->set_column( 0, 0, 30 ); $sheet ->set_column( 1, 1, 10 ); $sheet ->write( 0, 0, "Font", $head ); $sheet ->write( 0, 1, "Größe", $head ); my @fonts = ( [ 10, "Arial" ], [ 12, "Arial" ], [ 14, "Arial" ], [ 12, "Arial Black" ], [ 12, "Arial Narrow" ], [ 12, "Century Schoolbook" ], [ 12, "Courier" ], [ 12, "Courier New" ], [ 12, "Garamond" ], [ 12, "Impact" ], [ 12, "Lucida Handwriting" ], [ 12, "Times New Roman" ], [ 12, "Symbol" ], [ 12, "Wingdings" ], [ 12, "Ein nichtexistenter Font" ], ); for (my $i=0; $i<=$#fonts; $i++) { my $format = $excel ->addformat(); $format ->set_size( @fonts->[$i]->[0] ); $format ->set_font( @fonts->[$i]->[1] ); $sheet ->write( $i+1, 0, @fonts->[$i]->[1], $format ); $sheet ->write( $i+1, 1, @fonts->[$i]->[0], $format ); } } # ----- farben() ----- # * Erzeugung der Farbtafeln auf Namens- und Indexbasis. # sub farben { my $sheet = $excel ->addworksheet( "Farben" ); $sheet ->write( 0, 0, "Name", $head ); $sheet ->write( 0, 1, "Farbe", $head ); $sheet ->write( 0, 3, "Index", $head ); $sheet ->write( 0, 4, "Farbe", $head ); my @colors = qw( aqua black blü fuchsia gray green lime navy orange purple red silver white yellow ); foreach (0..$#colors) { my $format = $excel ->addformat(); $format ->set_color( $colors[$_] ); $format ->set_align( "center" ); $format ->set_bold(); $sheet ->write( $_+1, 0, $colors[$_], $center ); $sheet ->write( $_+1, 1, $colors[$_], $format ); } foreach (8..63) { my $format = $excel ->addformat(); $format ->set_color( $_ ); $format ->set_align( "center" ); $format ->set_bold(); $sheet ->write( $_-7, 3, $_, $center ); $sheet ->write( $_-7, 4, "Farbe", $format ); } } # ----- muster() ----- # * Darstellung der möglichen Muster mit grünem Vorder- # und silbrigem Hintergrund. # sub muster { ... } # ----- align() ----- # * Vertikale und horizontale Ausrichtung von Zelleninhalten. # * Darstellung gedrehter Schrift. # sub align { ... }
Dieser Text ist der Zeitschriften-Ausgabe 06/2001 von iX entnommen.
Parallelprogrammierung - die Kunst der Multi-Core-Nutzung
Agile ALM - agile Praktiken im Application Lifecycle Management
Webentwicklung - Applikationen für mobile Clients