Thank you :) I changed the code to as you mentioned but the CSV file is empty and I am getting an error as below.
#error
Sheet: sheet1
Uncaught exception from user code:
Expected fields to be an array ref at test_csv_1.pl line 38.
Text::CSV_PP::print('Text::CSV=HASH(0x348e558)', 'S.no') calle
+d at
test_csv_1.pl line 38
use strict;
use warnings;
use diagnostics;
use Spreadsheet::XLSX;
use Text::CSV;
my $excel = Spreadsheet::XLSX -> new ('Sample.xlsx',);
my $csv = Text::CSV->new ({eol => "\n"});
foreach my $sheet (@{$excel -> {Worksheet}})
{
printf("Sheet: %s\n", $sheet->{Name});
#my @worksheet = qw(sheet1 sheet2);
my $maxrow = $sheet -> {MaxRow};
my $Minrow = 1;
my @wanted_cols = (8, 9, 10, 20);
$maxrow ||= $Minrow;
open FH, ">new.csv" or die "new.csv: $!";
foreach my $row ($Minrow .. $maxrow)
{
foreach my $wanted_cols (@wanted_cols)
{
my $wanted_cells =$sheet->{Cells}[$row][$want
+ed_cols];
$csv -> print ( $wanted_cells -> {Val} );
}
$csv -> print ("\n");
}
close FH or die "new.csv: $!";
}