use strict;
use warnings;
use OLE;
use Win32::OLE::Const "Microsoft Excel";
my $MY_EXCEL="E:\\readexcel.xlsx";
my $excel = CreateObject OLE "Excel.Application";
my $workbook = $excel -> Workbooks -> Open("$MY_EXCEL");
my $Sheet -> Range ("A1") -> {Value};
print "S H E E T : $Sheet\n";
$excel-> Quit;
####
Useless use of hash element in void context at E:\readexcel.pl line 8.
Can't call method "Range" on an undefined value at E:\readexcel.pl line 8.
####
use strict;
use Win32::OLE qw(in with);
use Win32::OLE::Const 'Microsoft Excel';
$Win32::OLE::Warn = 3;
my $Excel = Win32::OLE->GetActiveObject('Excel.Application')
|| Win32::OLE->new('Excel.Application', 'Quit');
my $Book = $Excel->Workbooks->Open("E:\\readexcel.xlsx");
my $Sheet = $Book->Worksheets(1);
my $array = $Sheet->Range("A1:C3")->{'Value'};
$Book->Close;
foreach my $ref_array (@$array) {
foreach my $scalar (@$ref_array) {
print "$scalar\t";
}
print "\n";
}