in reply to Re^2: Error while reading .xls file
in thread Error while reading .xls file

You're welcome! *tips hat*

Replies are listed 'Best First'.
Re^4: Error while reading .xls file
by a.alandkar (Novice) on Aug 31, 2014 at 10:15 UTC

    Hi, is it necessary to close the file after reading it too..? i have updated the code,i.e. added some function and finding the same error when i run it. I have added following function

    &extract_data(); sub extract_data() { my $parsedata = Spreadsheet::ParseExcel->new(); my $workbook_data = $parsedata->parse('test.xls'); for my $worksheet1 ( $workbook_data->worksheet(0) ) { for my $col ($col_min .. $col_max) { my $cell = $worksheet1->get_cell( 0, $col ); if($p_name eq $cell) { print("Done"); } } } }

    when i run the code it give me (

    Can't call method "worksheet" on an undefined value at D:\Perl\Xls_han +dling.pl line 110, <STDIN> line 6.
    ) error. And if i try to close parser i.e. $parser -> close() it says (
    Can't call method "worksheet" on an undefined value at D:\Perl\Xls_han +dling.pl line 110, <STDIN> line 6.
    )

      Hi, is it necessary to close the file after reading it too..?

      Have you tried it, to see if it makes a difference? You're also still not using error checking, as the module's documentation strongly recommends you do and as I suggested in my reply above. Please do so!

      On a side note, could you use <code> or <tt> tags for the error messages? It'll make your post much more readable to future readers. Thanks!

      Hi, I assume line 110 of your script is
      for my $worksheet1 ( $workbook_data->worksheet(0) )
      and the error message tells you that $workbook_data is undefined at that point. Which in turn means that
      my $workbook_data = $parsedata->parse('test.xls');

      did encounter some problem...

      AppleFritter already told you how to find this out.