http://qs321.pair.com?node_id=188949


in reply to Re: Re: Re: Reading from Excel
in thread Reading from Excel

OK, here's the thing:
my $Excel = Win32::OLE->GetActiveObject('Excel.Application') || Win32: +:OLE->new('Excel.Application', sub {$_[0]->Quit;}); my $Book = $Excel->Workbooks->Open(MYFILE, 1, 1); my $Sheet = $Book->Worksheets("WORKSHEETNAME"); $Sheet->Activate(); my $value = $Sheet->Range("SOMECELL")->{Value};

I can't give you the spreadsheet, it's not mine, sorry (company policy)...
When I print out the $value, I get the same result over and over (that is "-2146826259", and the expected result should be a positive number not bigger than 100,000). If I use:
my $value = $Sheet->Range("SOMECELL")->Text();

to retrieve cell data then I get #NAME!.
I even tried debugging like this:
if (ref($value)) { print $value->Type(); }

and it returns "10", which is VT_ERROR. I repeat, when you look at it in Excel application, it displays the correct results.