Thread Spaltenbreite mit Spreadsheet::ParseExcel::SaveParser (2 answers)
Opened by roli at 2011-03-07 17:05

roli
 2011-03-07 17:05
#146287 #146287
User since
2004-12-31
424 Artikel
BenutzerIn
[default_avatar]
Hi,

irgendwie habe ich vermutlich ein Brett vor dem Kopf, aber ich finde die Ursache einfach nicht.
Ich möchte gerne die Spaltenbreite in einer Excel Datei einstellen, erhalte aber immer die Meldung:
Code: (dl )
Can't locate object method "set_column" via package "Spreadsheet::ParseExcel::SaveParser::Worksheet" at dummy.pl line 25.

Hier des Script dummy.pl
Code (perl): (dl )
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);

Warum kann ich in Zeile 16 die Spaltenbreite setzen, aber nicht mehr in Zeile 25? Ok, einmal ist's Spreadsheet::WriteExcel, einmal Spreadsheet::ParseExcel::SaveParser, aber SaveParser kann das ja in anderen Beispielen die ich gefunden habe ja auch.

Danke
Roland
--
"Steh vorn, während du fragst;
sitzen soll, wer antwortet."
Aus "Die Edda des Snorri Sturluson" "Gylfis Täuschung" Strophe 2

View full thread Spaltenbreite mit Spreadsheet::ParseExcel::SaveParser