Perl Excel无法打开用电子表格::WriteExcel创建的.xlsx文件
我一直在使用以下脚本将.csv文件转换为.xlsx格式,但Excel显示:Perl Excel无法打开用电子表格::WriteExcel创建的.xlsx文件,perl,Perl,我一直在使用以下脚本将.csv文件转换为.xlsx格式,但Excel显示: 无法打开文件,因为文件格式或文件扩展名无效,请确认文件未损坏,并且扩展名与格式文件匹配。 这是我的密码: #!/usr/bin/perl use strict; use Spreadsheet::WriteExcel; use Text::CSV_XS; open( CSVFILE,">", "C:\\Book1.csv") or die "$!"; my $workbook = Spreadsheet::Wr
无法打开文件,因为文件格式或文件扩展名无效,请确认文件未损坏,并且扩展名与格式文件匹配。
这是我的密码:
#!/usr/bin/perl
use strict;
use Spreadsheet::WriteExcel;
use Text::CSV_XS;
open( CSVFILE,">", "C:\\Book1.csv") or die "$!";
my $workbook = Spreadsheet::WriteExcel->new("C:\\Book1.xlsx");
my $worksheet = $workbook->add_worksheet();
my $csv = Text::CSV_XS->new;
my $row = 0;
while (<CSVFILE>) {
if ( $csv->parse($_) ) {
my @Fld = $csv->fields;
my $col = 0;
foreach my $token (@Fld) {
$worksheet->write( $row, $col, $token );
$col++;
}
$row++;
} else {
my $err = $csv->error_input;
print "Text::CSV_XS parse() failed on argument: ", $err, "\n";
}
}
#/usr/bin/perl
严格使用;
使用电子表格::WriteExcel;
使用Text::csvxs;
打开(CSVFILE,“>”,“C:\\Book1.csv”)或死“$!”;
my$工作簿=电子表格::WriteExcel->new(“C:\\Book1.xlsx”);
我的$工作表=$工作簿->添加工作表();
my$csv=Text::csv_XS->new;
我的$row=0;
而(){
如果($csv->parse($u2;)){
my@Fld=$csv->字段;
我的$col=0;
foreach my$代币(@Fld){
$worksheet->write($row,$col,$token);
$col++;
}
$row++;
}否则{
my$err=$csv->error\u输入;
打印“Text::CSV_XS parse()在参数“,$err,”\n”上失败;
}
}
用作替代品
这实际上是
电子表格::WriteExcel
文档的建议,该文档表明它已被取代:模块电子表格::WriteExcel仅支持较旧的.xls格式;考虑升级到Excel::
请参阅CPAN上明确说明这一点的注释