【发布时间】:2011-10-17 10:30:58
【问题描述】:
我想使用这里的“autofit_columns”函数:CPAN
这是我目前的程序(我跳过了数据库连接和查询部分)
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 文件中没有自动调整我的列...知道为什么吗?
我不明白代码:
for my $width (@{$worksheet->{__col_widths}}) {
$worksheet->set_column($col, $col, $width) if $width;
$col++;
}
【问题讨论】: