use Spreadsheet::ParseExcel; use Data::Dumper; $filename="Book2.xls"; $e=new Spreadsheet::ParseExcel; $eBook=$e->Parse($filename); $sheets = $eBook->{SheetCount}; ($eSheet, $sheetName); foreach $sheet (0 .. $sheets - 1) { $eSheet = $eBook->{Worksheet}[$sheet]; $sheetName = $eSheet->{Name}; print "Worksheet $sheet: $sheetName\n"; %set =(); %data =(); foreach $row( 1 .. $eSheet->{MaxRow} ) { if (defined ($eSheet->{Cells}[$row][0] )) { $master_key=($eSheet->{Cells}[$row][0]->Value); $r=$row; } else { $master_key=$master_key; } foreach $col(1 .. $eSheet->{MaxCol}) { my $key=$eSheet->{Cells}[0][$col]->Value; if (defined $eSheet->{Cells}[$row][$col]) { $val=($eSheet->{Cells}[$row][$col]->Value); } else { $val=$eSheet->{Cells}[$r][$col]->Value; } $set{$key}=$val; } if ($row>0) { } push @{ $data{$master_key}}, \%set; } print Dumper \%data; }C:\perlpractice>c.pl Worksheet 0: Sheet1 $VAR1 = { '1' => [ { + 'clz' => 'iir', + ' degree' => 'b.tch 'name' => 'ravi' }, . + $VAR1->{'1'}[0] ], '2' => [ $VAR1->{'1'}[0] ] };
Iam getting output in the above fashion.Please help .I want to store the data in a Hash
.In reply to Re^8: Converting Excel to Hash
by ravi179
in thread Converting Excel to Hash
by ravi179
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |