--- trunk/bin/BackupPC_xls_report 2005/08/19 22:07:01 42 +++ trunk/bin/BackupPC_xls_report 2005/09/01 18:38:48 110 @@ -1,4 +1,4 @@ -#!/usr/local/bin/perl +#!/usr/bin/perl use strict; use lib "__INSTALLDIR__/lib"; @@ -13,11 +13,12 @@ my $workbook = Spreadsheet::WriteExcel->new($xls_file) || die "can't write to $xls_file: $!"; my @cols = qw( +hostname type num startTime endTime -=D##-C##,duration +=E##-D##,duration level noFill fillFromNum @@ -39,16 +40,16 @@ compress sizeNewComp -=V##/S##,sizeNewRatio +=W##/T##,sizeNewRatio sizeExistComp -=X##/T##,sizeExistRatio +=Y##/U##,sizeExistRatio ); my $date_format = $workbook->add_format(num_format => 'yyyy-mm-dd hh:mm:ss'); my $duration_format = $workbook->add_format(num_format => 'hh:mm:ss'); my $header_format = $workbook->add_format(color => 'gray'); my $pcnt_format = $workbook->add_format(num_format => '0.0%'); -my $size_format = $workbook->add_format(num_format => '0'); +my $size_format = $workbook->add_format(num_format => '#0'); my $formats = { duration => $duration_format, @@ -67,31 +68,33 @@ my $hosts = $bpc->HostInfoRead(); -foreach my $host_key (keys %{$hosts}) { +my $worksheet = $workbook->add_worksheet('BackupPC'); +my $row = 0; + +my $i = 0; +# insert sheet header (with formatting) +foreach my $c (@cols) { + if ($c =~ m/^=.*,(.+)/) { + $worksheet->write($row, $i++, $1, $header_format); + } else { + $worksheet->write($row, $i++, $c, $header_format); + } +} +$row++; + +foreach my $host_key (sort keys %{$hosts}) { my $hostname = $hosts->{$host_key}->{'host'} || die "can't find host for $host_key"; print $hostname, " "; - my $worksheet = $workbook->add_worksheet($hostname); - # get backups for a host my @backups = $bpc->BackupInfoRead($hostname); print scalar @backups, " increments\n"; - my $row = 0; - my $i = 0; - - foreach my $c (@cols) { - if ($c =~ m/^=.*,(.+)/) { - $worksheet->write($row, $i++, $1, $header_format); - } else { - $worksheet->write($row, $i++, $c, $header_format); - } - } - $row++; - foreach my $backup (@backups) { + $worksheet->write($row, 0, $hostname); + for (my $i = 0; $i <= $#cols; $i++) { my $col = $cols[$i]; if ($col =~ m/Time/) {