Perl 将 xlsx 工作簿中的命名工作转换为 csv 文件



我有一个脚本可以将 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;
}

binmodewhile 之间添加$ss2->setCurrentSheetNum(num)。 这应该对你有用。

呵!
小丑1977

最新更新