Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister

Re^4: Reading Excel file in perl

by Pauler (Initiate)
on Nov 09, 2012 at 04:07 UTC ( #1003056=note: print w/replies, xml ) Need Help??

in reply to Re^3: Reading Excel file in perl
in thread Reading Excel file in perl

Hey thanks... I tried as per ur suggestion. But i tried 2 prgs, one for write to excel and another for read excel. I have the below code for write to excel:
#!/sbcimp/run/pd/csm/32-bit/perl/5.14.2/bin/perl use lib qw(/sbcimp/run/pd/csm/32-bit/cpan/5.14.2-2012.03/lib); use strict; use Spreadsheet::WriteExcel; # Create a new Excel file my $FileName = "/home/dujne/ptice/port.xls"; my $workbook = Spreadsheet::WriteExcel->new($FileName); # Add a worksheet my $worksheet1 = $workbook->add_worksheet('PERL'); # Define the format and add it to the worksheet my $format = $workbook->add_format( center_across => 1, bold => 1, size => 10, border => 4, color => 'black', bg_color => 'cyan', border_color => 'black', align => 'vcenter', ); # Change width for only first column $worksheet1->set_column(0,0,20); # Write a formatted and unformatted string, row and column # notation. $worksheet1->write(0,0, "PERL FLAVOURS", "Modules",$format); $worksheet1->write(1,0,"Active State PERL"); $worksheet1->write(2,0,"Strawberry PERL"); $worksheet1->write(3,0,"Vennila PERL" );
The above code runs fine. I m trying to update the next column and add the details next to the column. I have the below code,
$worksheet1->write(0,1,"Modules", $format); $worksheet1->write(1,1,"Excel"); $worksheet1->write(2,1, "Dumper");
bt this code adds 3 different columns, i wanted as Column B as Modules, and below this column i need 2 rows as 1)Excel & 2) Dumper Something like below is needed::
MODULES Excel Dumper
But with my code i see the below
MODULES Excel Dumper
Can someone let me know whats wrong in the avove code??? Or how can i add 3 by 3 cells?

Replies are listed 'Best First'.
Re^5: Reading Excel file in perl
by bitingduck (Chaplain) on Nov 10, 2012 at 08:01 UTC

    When I try this:

    $worksheet1->write(0,1,"Modules", $format); $worksheet1->write(0,2,"Excel"); $worksheet1->write(0,3, "Dumper");

    It gives me this:

    Modules Excel Dumper

    and when I do this (which is your code)

    $worksheet1->write(0,1,"Modules", $format); $worksheet1->write(1,1,"Excel"); $worksheet1->write(2,1, "Dumper");

    I get this:

    Modules Excel Dumper

    I think you just need to watch which index is for row and which is for column.

    (EDITED because I misread and got backward what was desired vs. what you were getting)

    Another EDIT:
    and if I do this:

    $worksheet1->write(0,0,"A1"); $worksheet1->write(0,1,"B1"); $worksheet1->write(0,2, "C1"); $worksheet1->write(1,0,"A2"); $worksheet1->write(1,1,"B2"); $worksheet1->write(1,2, "C2"); $worksheet1->write(2,0,"A3"); $worksheet1->write(2,1,"B3"); $worksheet1->write(2,2, "C3");

    I get:

    A1 B1 C1 A2 B2 C2 A3 B3 C3

    Where each of the contents is also the name of the cell. Normally you'd do something like that with a nested loop

      Thanks a lott.. It really worked. Thanks for helping. Can u please help me in reading specific row or column value. If i wanna read the column B and its values from excel. Or a certain row. Can u please let me know where i can read these examples or modules.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1003056]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (6)
As of 2018-05-26 11:16 GMT
Find Nodes?
    Voting Booth?