I'll bet there is a clever perl (ie 6 characters) way to do this, but I've done it like this...
sub toLetter { my $leftLetter = int($_[0]/26); my $rightLetter = ($_[0] % 26) + 64; if ($leftLetter>0) { $leftLetter += 64; return chr($leftLetter).chr($rightLetter); } else { return chr($rightLetter); } } On Thu, 26 Aug 2004 08:46:13 -0400, DiGregorio, Dave <[EMAIL PROTECTED]> wrote: > So that gives me the ASCII Value. But I am looking for the 1-for-1 value. > A = 1 > B = 2 > C = 3 > ..... > AA = 27 > AB = 28 > > As the columns in Excel is are labeled > > So I have a Value at max row AN which is 40 Columns in the Excel Worksheet. > Using the below method gives me decimal value 104 which is 'H' and I do pull > this value. Any Ideas?? > > Thanks > > d > > > > -----Original Message----- > From: Colm Gallagher [mailto:[EMAIL PROTECTED] > Sent: Thursday, August 26, 2004 2:55 AM > To: DiGregorio, Dave > Cc: perl_help > Subject: Re: Help With OLE > > Hi David, > > First post to this list, so hi folks, pleasure to meet you all. > > To get the text (i..e showing currency symbols etc.) out of a field > instead of the numeric value, use the Text property instead of Value > property. > > sub toLetter { > return chr(64+$_[0]); > } > $ReadData = $ReadSheet->Range(&toLetter($LastCol).'1')->{Value}; > print "$ReadData\n"; > my $ReadData = $ReadSheet->Range(&toLetter($LastCol).'1')->{Text}; > print "$ReadData\n"; > > On another note, I couldn't get your sample code to work because > $LastCol was returning as a number, not a column letter reference, so > I knocked together a quick and dirty converter - you may need to > expand this slightly to handle AA etc, or post back to let me know how > you do cell referencing. > > I learned from your code how to use named parameters with OLE, so thanks! > i.e. SearchDirection=>xlPrevious, > > -- > Colm Gallagher > > On Wed, 25 Aug 2004 15:41:00 -0400, DiGregorio, Dave > <[EMAIL PROTECTED]> wrote: > > Hey All, > > > > So I am building this app that parses and Excel spreadsheet for > > a value based on the last column in the file. But, I seam to return the > > Numeric value as opposed to the Alpha Value. Is there an easy way to get > > around this?? > > > > $LastCol = $ReadSheet->UsedRange->Find({What=>"*", > > > > SearchDirection=>xlPrevious, > > > > SearchOrder=>xlByColumns})->{Column}; > > > > print "$LastCol\n" ; > > > > $ReadData = $ReadSheet->Range($LastCol.'4')->{Value} ; > > > > Thanks > > > > David R. DiGregorio > > > > 703 Rodi Road > > > > Pittsburgh, PA 15235 > > > > p. 412-349-2440 > > > > [EMAIL PROTECTED] > > > > > > -- > Colm > -- Colm -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>