|
Posted by Mick on November 17, 2006, 12:12 am
Please log in for more thread options
Hey Mumia
Thanks a lot for your help!!
Regards
Karan
Mumia W. (reading news) wrote:
> On 11/16/2006 05:55 AM, Karan Arora wrote:
> > Hi
> >
> > I am not able to use the functions RowRange() and ColRange() available
> > with the package Spreadsheet::ParseExcel::Worksheet. They return value
> > 0 and -1 indicating that the worksheet is empty (which is definitely
> > not the case) and not the correct values for the range. Has anyone
> > faced this problem before. Please help.
> >
> >
> > --------------------------------------------------------------------
> > use OLE;
> > use Win32::OLE qw(in with);
> > use Win32::OLE::Const 'Microsoft Excel';
> > use Spreadsheet::WriteExcel;
> > use Spreadsheet::ParseExcel;
> >
> > $xlfile ="c:\sample.xls";
> >
> > if (-e "$xlfile")
> > {
> > ##### OLE - Excel Connection
> >
> > # Create OLE object - Excel Application Pointer
> > $xl_app = CreateObject OLE 'Excel.Application' || die $!;
> > print "Excel launched successfully \n";
> > # Set Application Visibility
> > $xl_app-> = 0;
> >
> > # Open Excel File
> > $workbook = $xl_app->Workbooks->Open($xlfile);
> > print 'Opening ', $xlfile, "....\n";
> > # setup active worksheet
> > $worksheet = $workbook->Worksheets('Test History');
> >
> > #Print the SheetName
> > my $sheetName = $worksheet->Name;
> > print $sheetName," is the sheet name\n";
> >
> > #Find the size of the defined cells on the sheet
> > my ($rowMin,$rowMax) =
> > $worksheet->Spreadsheet::ParseExcel::Worksheet::RowRange();
> > my ($columnMin,$columnMax) =
> > $worksheet->Spreadsheet::ParseExcel::Worksheet::ColRange();
> >
> > print "Row Min = ", $rowMin, " Row Max = ", $rowMax, " Column Min = ",
> > $columnMin, " Column Min = ", $columnMax;
> > --------------------------------------------------------------------
> >
>
> Spreadsheet::ParseExcel's RowRange() method only works on objects
> created by Spreadsheet::ParseExcel->new().
>
> Since $worksheet was created by Win32::OLE, $worksheet is the wrong kind
> of object on which to invoke RowRange().
>
> Win32::OLE and Spreadsheet::ParseExcel have nothing to do with one
> another and have completely different ways if interacting with an Excel
> file. If you use one in a script, it's unlikely you'll need the other.
>
> I advise you to find the Win32::OLE (Excel ?) equivalent of RowRange().
>
>
> --
> paduille.4060.mumia.w@earthlink.net
|