patelpradeep has asked for the wisdom of the Perl Monks concerning the following question:

Hi,
I am trying to read the values using Range Function.

Range function need ranges in format like "A3:B6".

But my problem is that i have count of columns and i want to retrieve the values into an array but i don't know how can i convert the Column Count to its equivalent for (A, B, AB etc).

this is my code:
use strict; use warnings; use Win32::OLE qw(in with); use Win32::OLE::Const 'Microsoft Excel'; $Win32::OLE::Warn = 3; # die on errors... my $Excel = Win32::OLE->new('Excel.Application'); $Excel->{DisplayAlerts}=0; my $Book = $Excel->Workbooks->Open("input.xls"); my $Sheet = $Book->Worksheets(1); my $LastCol = $Sheet->UsedRange->Find({What=>"*", SearchDirection=>xlPrevious, SearchOrder=>xlByColumns})->{Column}; #I am getting values for range my $firstcolum = $Sheet->Range("A1:P1")->{'Value'}; #but how can i use $LastCol after ':' in range values #my $firstcolum = $Sheet->Range("A1:$LastCol1")->{'Value'};

------------------

can someone please help me?
thank you

Replies are listed 'Best First'.
Re: Getting the Column Header name in Excel using Win32 OLE
by wfsp (Abbot) on Jun 04, 2009 at 14:38 UTC
    This seems to work ok.
    my $firstcolum = $Sheet->Range( $Sheet->Cells(1,1), $Sheet->Cells(1,$LastCol) )->{'Value'};
    I find your variable names a bit confusing. ymmv. :-)