in reply to Re^6: Create CSV file from xlsx file
in thread Create CSV file from xlsx file
You either did not read the docs, or they are still unclear to you. To me even the error message is clear. Text::CSV's print () needs completely different arguments then what you pass.
PLEASE, do us all a favor and read the manuals before you post questions here that appear rather silly.
use warnings; use diagnostics; use Spreadsheet::XLSX; use Text::CSV; my $excel = Spreadsheet::XLSX->new ("Sample.xlsx"); my $csv = Text::CSV->new ({ binary => 1, auto_diag => 1, eol => "\n" + }); foreach my $sheet (@{$excel->{Worksheet}}) { printf ("Sheet: %s\n", $sheet->{Name}); #my @worksheet = qw(sheet1 sheet2); my $Minrow = 1; my $maxrow = $sheet->{MaxRow} || $Minrow; my @wanted_cols = (8, 9, 10, 20); open my $fh, ">", "new.csv" or die "new.csv: $!"; foreach my $row ($Minrow .. $maxrow) { $csv->print ($fh, [ map { $sheet->{Cells}[$row][$_]{Val} } @wanted_cols ]}; } close my $fh or die "new.csv: $!"; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^8: Create CSV file from xlsx file
by viji234 (Initiate) on Oct 28, 2013 at 12:27 UTC |