Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re^2: Excel Text parsing problem

by reaper9187 (Scribe)
on Nov 08, 2012 at 09:52 UTC ( #1002857=note: print w/ replies, xml ) Need Help??


in reply to Re: Excel Text parsing problem
in thread Excel Text parsing problem

What do you suggest ??


Comment on Re^2: Excel Text parsing problem
Replies are listed 'Best First'.
Re^3: Excel Text parsing problem
by reaper9187 (Scribe) on Nov 08, 2012 at 09:58 UTC
    no i think you didnt understand the problem .. When i use the print command , it only displays the text in the command prompt window ( i have absolutely no problem in doing that evn now)... What i'm looking for is a way to print this text on a text area in a GUI window using perl Tk... I have defined the main widnow , text areas, alignment etc.. i have to display this text on the main GUI window..I use the $txt ->insert command to print it in the text area... but somehow it prints only some of the values(rather than all) ...
      Here is the entire code
      #!/usr/local/bin/perl use Tk; # Main Window my $mw = new MainWindow; $mw->Frame(-background => 'red')->pack(-ipadx =>50, -side => "left", - +fill => "y"); #Making a text area my $txt = $mw -> Scrolled('Text',-width => 150, height => 40, -scrollb +ars=>'e', -font => "fixed 8 bold" ) -> pack (); $txt->insert('end', ""); #Declare that there is a menu my $mbar = $mw -> Menu(); $mw -> configure(-menu => $mbar); #The Main Buttons my $file = $mbar -> cascade(-label=>"File", -underline=>0, -tearoff => + 0); my $open = $mbar -> cascade(-label=>"Open", -underline=>0, -tearoff => + 0); my $tool= $mbar -> cascade(-label =>"Tools", -underline=>0, -tearoff = +> 0); my $parser = $mbar -> cascade(-label =>"RL ", -underline=>0, -tearoff +=> 0); my $help = $mbar -> cascade(-label =>"Help", -underline=>0, -tearoff = +> 0); ## File Menu ## $file -> command(-label => "Home", -underline=>0, -command=> \&home ); $file -> command(-label => "Check ", -underline=>0, -command=> \&define ); $file -> checkbutton(-label =>"faults", -underline => 0, -command => \&faults); $file -> separator(); $file -> command(-label =>"Exit", -underline => 1, -command => sub { exit } ); ##Open Menu## $open->command( -label => 'Open', -underline => 0, -command => \&f_ope +n ); $open->command( -label => 'Save', -underline => 0, -command => \&f_sav +e ); $open->separator; $open->command( -label => 'Exit', -underline => 1, -command => sub{ +exit} ); ## Tools Menu ## $tool -> command(-label => "Ne", -underline=>0, -command=> \&nwplan ); $tool -> command(-label => " ", -underline=>0, -command=> \&optimize ); $tool -> separator(); ## Parse Menu ## $parser -> command(-label => "P", -underline=>0, -command=> \&parse ); ## Help Menu ## $help -> command(-label => "About", -underline=>0, -command=> \&help ); MainLoop; sub help { my ($opt) = @_; $mw->messageBox(-message=>"This function is not available yet"); } Mainloop; sub f_open { my $filename = $mw->getOpenFile( -title => 'Open File:', -defaultextension => '.xls', -initialdir => '.' ); warn "Opened $filename\n"; open(MYFILE,$filename); # Text::Iconv is not really required. # This can be any object with the convert method. Or nothing. use Spreadsheet::ParseExcel; my $parser = Spreadsheet::ParseExcel->new(); my $workbook = $parser->parse($filename); if ( !defined $workbook ) { die $parser->error(), ".\n"; } for my $worksheet ( $workbook->worksheet(1) ) { my ( $row_min, $row_max ) = $worksheet->row_range(); my ( $col_min, $col_max ) = $worksheet->col_range(); for my $row ( $row_min .. 20 ) { for my $col ( $col_min .. $col_max ) { my $cell = $worksheet->get_cell( $row, $col ); next unless $cell; print "Row, Col = ($row, $col)\n"; print "Value = ", $cell->value(), "\n"; print "\n"; $txt->insert('end',"$row:$col----$worksheet->{Cells +}[$row][$col]->{Val}\n"); } } } }
      Another thing i noticed is that this script seems to run fine on smaller files (worksheets with less rows) .... It displays all data in text area as i expect but acts weirdly for larger files

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1002857]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (11)
As of 2015-07-29 08:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (261 votes), past polls