Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

Re: Reading excel file using PERL

by graff (Chancellor)
on Aug 15, 2009 at 00:58 UTC ( #788796=note: print w/replies, xml ) Need Help??

in reply to Reading excel file using PERL

Are you using Spreadsheet::ParseExcel? If so, how are you using it? (In other words: show us some relevant perl code.) If you're not using that, what are you using? (That is, show us some code.)

Replies are listed 'Best First'.
Re^2: Reading excel file using PERL
by Anonymous Monk on Aug 17, 2009 at 20:16 UTC

    I am using Win32::OLE to read from the excel file.
    printf "At ($row, $col) the value is %s\n", $Sheet->Cells($row,$col)->{'Value'};
      I don't know about Win32::OLE, but with Spreadsheet::ParseExcel, you have your choice of getting the (unformatted) "Val" or the (formatted) Value for each cell (and you'll want to choose the latter, though the date format you get will depend on how the spreadsheet was set up). Using the module's OO-style interface, it's a difference between a hash value and a method call:
      #!/usr/bin/perl use strict; use warnings; use Spreadsheet::ParseExcel; my $Usage = "Usage: $0 filename.xls\n"; die $Usage unless ( @ARGV == 1 and -f $ARGV[0] ); my $xcl = Spreadsheet::ParseExcel::Workbook->Parse( $ARGV[0] ); for my $sheet ( @{$xcl->{Worksheet}} ) { printf( "Sheet: %s\n", $sheet->{Name} ); for my $row ( $sheet->{MinRow} .. $sheet->{MaxRow} ) { for my $col ( $sheet->{MinCol} .. $sheet->{MaxCol} ) { my $cell = $sheet->{Cells}[$row][$col]; printf( " row %s, col %s: unformatted= %s, formatted= %s\n +", $row, $col, $cell->{Val}, $cell->Value ); } } }

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://788796]
[Discipulus]: get them all printed on screen
Discipulus ;=)
[shmem]: silly question, silly answer:
[Discipulus]: i know, i know..
[shmem]: man perlfunc |perl -nle '$ok++ if /Alphabetical Listing of Perl Functions/;if($ok ){$s{$1}++if /^ (\w+)/}}{for(keys %s){$f="prototype \\\&CORE::$_"; eval"$f"||delete $CORE::{$_}}print for sort keys%CORE::'
[shmem]: well, there are some builtins which don't have a prototype...
[Discipulus]: eh eh.. i was looking in toke.c but dunno if is already used
[shmem]: oh the whitespace in the regex got condensed, meh
[shmem]: should be /^ {7}(\w+)/ or such

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (9)
As of 2017-05-23 10:06 GMT
Find Nodes?
    Voting Booth?