我有一个脚本可以将 xlsx 文件转换为 csv 文件。 但是我怎样才能将特定(命名)工作表从 XLSX 工作簿(具有多个工作表)转换为 CSV 文件。
#!/usr/bin/perl
use strict;
use warnings;
use Spreadsheet::BasicRead;
use Excel::Writer::XLSX;
use Spreadsheet::ParseExcel;
my $xlsx = ("c:\acb.xlsx"),,1;
my $csv = ("c:\acb.csv"),,1;
if (-e $xlsx) {
my $ss2 = new Spreadsheet::BasicRead($xlsx) or die;
my $name2 = '';
my $row2 = 0;
open(FILE2, ">$csv") or die ;
binmode(FILE2, ":utf8"); # Wide character in print warnings
while (my $data2 = $ss2->getNextRow()){
$row2++;
$name2 = join(',', @$data2);
print FILE2 $name2."n" if ($name2 ne "");
}
close FILE2;
}
在 binmode
和 while
之间添加$ss2->setCurrentSheetNum(num)
。 这应该对你有用。
呵!
小丑1977