Hi Sudha,

Thanks for the help and detailed information, now I can automate my program
to meet the whole reporting process.

Thanks again, Preethi


----- Original Message -----
From: "Sudha Natarajan" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, May 17, 2000 1:46 PM
Subject: [perl-win32-gui] File conversion


> Hi Preethi,
>
> I don't know if this is of any help to you. Just found this in the
> documentation.
>
> Regards
> Sudha
>
>
> How do I extract a series of cells from Microsoft Excel?
> If you have a sheet object you can extract the values of a series of cells
> through $Sheet->Range->{'Value'}, for example:
>
> my $array = $Sheet->Range("A8:B9")->{'Value'};
>
> Now $array[0][0] contains the value of cell A8, $array[0][1] the value of
> cell B8, $array[1][0] the value of cell A9 and $array[1][1] the value of
> cell B9.
>
> What is returned is an two-dimensional array (OK, an array with references
> to arrays) that contains the values of the requested cells.
>
> A complete example is here:
>
>
>
> use strict;
> use Win32::OLE qw(in with);
> use Win32::OLE::Const 'Microsoft Excel';
> $Win32::OLE::Warn = 3;                                # die on errors...
> my $Excel = Win32::OLE->GetActiveObject('Excel.Application')
>     || Win32::OLE->new('Excel.Application', 'Quit');  # get already active
> Excel
>                                                       # application or
open
> new
> my $Book = $Excel->Workbooks->Open("C:\\DOCUMENTS\\test.xls"); # open
Excel
> file
> my $Sheet = $Book->Worksheets(1);                     # select worksheet
> number 1
> my $array = $Sheet->Range("A8:B9")->{'Value'};        # get the contents
> $Book->Close;
> foreach my $ref_array (@$array) {                     # loop through the
array
>                                                       # referenced by
$array
>     foreach my $scalar (@$ref_array) {
>         print "$scalar\t";
>     }
>     print "\n";
> }
> To retrieve the formatted value of a cell you should use the {'Text'}
> property instead of the {'Value'} property. This returns exactly what is
> being displayed on the screen though! If the column is not wide enough,
you
> get a value of '######':
>
> my $array = $Sheet->Range("A8:B9")->{'Text'};
>
>
> --------------------------------------------------------------------------
--
> ----
>


Reply via email to