perllee has asked for the wisdom of the Perl Monks concerning the following question:
I need to be from an excel object(50000 rows) that contains all of "0000" line,use WIN32::OLE,but error:
##########################################################Uncaught exception from user code: Win32::OLE(0.1709) error 0x800a03ec in METHOD/PROPERTYGET "Cells" at C:\Documents and Settings\Adminis +trator\My Documents\script.pl line 2. at C:\strawberry\perl\vendor\lib/Win32/OLE/Lite.pm line 15. at C:\Documents and Settings\Administrator\My Documents\script.pl lin +e 2.
The following complete code:
WHY? Thank you very much.use strict; use warnings; use Win32::OLE qw(in with); use Win32::OLE::Const 'Microsoft Excel'; $Win32::OLE::Warn = 3; # die on errors. +.. # get already active Excel application or open new my $Excel = Win32::OLE->GetActiveObject('Excel.Application') || Win32::OLE->new('Excel.Application', 'Quit'); # open Excel file my $Book = $Excel->Workbooks->Open("E:/OLE2.xls"); my $Sheet = $Book->Worksheets(1); foreach my $row (1..300) { foreach my $col (1..300) { # skip empty cells next unless defined $Sheet->Cells($row,$col)->{'Value'}; if ($Sheet->Cells($row,$col)->{'Value'}=~/0000/){ print $Sheet->Cells($row,$col)->{'Value'}; } } } # clean up after ourselves $Book->Close;
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Help,WIN32::OLE parse EXCEL ,run error
by Just in (Sexton) on Jan 25, 2011 at 05:21 UTC | |
by perllee (Novice) on Jan 25, 2011 at 07:28 UTC | |
|
Re: Help,WIN32::OLE parse EXCEL ,run error
by Ratazong (Monsignor) on Jan 25, 2011 at 07:18 UTC | |
|
Re: Help,WIN32::OLE parse EXCEL ,run error
by perllee (Novice) on Jan 25, 2011 at 07:22 UTC | |
by Sinistral (Monsignor) on Jan 25, 2011 at 15:30 UTC | |
by Anonymous Monk on Jan 26, 2011 at 05:25 UTC |