我想使用的功能「autofit_columns」爲在這裏找到:CPAN的Perl - 表格:: WriteExcel功能說明
這是我的計劃至今(我跳過了DB連接和查詢部分)
my $workbook = Spreadsheet::WriteExcel->new("TEST.xls");
my $bold = $workbook->add_format();
$bold->set_bold();
my $number = $workbook->add_format();
$number->set_num_format(0x01);
$worksheet = $workbook->add_worksheet('Sheet1');
my @headings = ('Blabla...');
foreach $i (@headings){
$worksheet->write(0, $col++, $i, $bold);
};
$col=0;
$lrow=1;
while (@row = $sth->fetchrow_array()) {
$worksheet->write($lrow,$col,\@row);
$lrow++;
};
$sth->finish;
$dbh->disconnect;
autofit_columns($worksheet);
$workbook->close();
sub autofit_columns {
my $worksheet = shift;
my $col = 0;
for my $width (@{$worksheet->{__col_widths}}) {
$worksheet->set_column($col, $col, $width) if $width;
$col++;
}
}
問題:我的列沒有自動安裝在xls文件中......任何想法爲什麼?
我不明白的代碼peice的:
for my $width (@{$worksheet->{__col_widths}}) {
$worksheet->set_column($col, $col, $width) if $width;
$col++;
}
+1 for Excel :: Writer :: XLSX。我喜歡你投入的工作,請保持它。 – Joel
嗨,是的,謝謝你......後來我發現我錯過了一半的代碼。這是一個非常有趣的一天,我掙扎了很多,但最終出來了一個很好的報告。 我認爲先開始使用Spreadsheet :: Excel會更安全,但我會看看XLSX模塊。 有些客戶仍在使用舊版本的Excel,因此它仍然是目前的最佳選擇。 謝謝。 – Rgonomike