Leser: 18
Can't locate object method "set_column" via package "Spreadsheet::ParseExcel::SaveParser::Worksheet" at dummy.pl line 25.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
use strict; use warnings; use Spreadsheet::WriteExcel; use Spreadsheet::ParseExcel; use Spreadsheet::ParseExcel::SaveParser; my $xls_file = "./kaese.xls"; my $max_zeile_zusammenfassung = 0; my $workbook; my $ws_zusammenfassung; #Wenn die Datei noch nicht existiert, wird sie hier angelegt if ( !-f $xls_file ) { $workbook = Spreadsheet::WriteExcel->new($xls_file); $ws_zusammenfassung = $workbook->add_worksheet('Zusammenfassung'); $ws_zusammenfassung->set_column( 'A:A', 45 ); $ws_zusammenfassung->set_column( 'B:B', 90 ); $workbook->close() or die "Error closing file: $!"; } undef $workbook; undef $ws_zusammenfassung; $workbook = new Spreadsheet::ParseExcel::SaveParser->Parse($xls_file); $ws_zusammenfassung = $workbook->worksheet('Zusammenfassung'); $ws_zusammenfassung->set_column( 'A:A', 10 ); $workbook->SaveAs($xls_file);
2011-03-07T16:51:16 TaulmarillDas Spreadsheet::WriteExcel::Worksheet Objekt, an dessen Funktion du ran willst, wird erst beim Speichern angelegt, da kommst du also nicht ran.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
use strict; use warnings; use Spreadsheet::WriteExcel; use Spreadsheet::ParseExcel; use Spreadsheet::ParseExcel::SaveParser; my $xls_file = "./kaese.xls"; my $max_zeile_zusammenfassung = 0; my $workbook; my $ws_zusammenfassung; #Wenn die Datei noch nicht existiert, wird sie hier angelegt if ( !-f $xls_file ) { $workbook = Spreadsheet::WriteExcel->new("./template.xls"); $ws_zusammenfassung = $workbook->add_worksheet('Zusammenfassung'); $ws_zusammenfassung->set_column( 'A:A', 45 ); $ws_zusammenfassung->set_column( 'B:B', 90 ); $workbook->close() or die "Error closing file: $!"; } undef $workbook; undef $ws_zusammenfassung; my $parser = Spreadsheet::ParseExcel::SaveParser->new(); my $template = $parser->Parse('./template.xls'); $workbook = $template->SaveAs($xls_file); # Get the first worksheet (it already exists and doesn't need to be created). my $worksheet = $workbook->sheets(0); $worksheet->set_column( 'A:A', 10 ); $worksheet->set_column( 'B:B', 20 ); $worksheet->write( 'B1', 'This column is wider' );