I imagine that the "explicit package name" issue is something the PerlMonks understand well, but I have to confess I don't know what it means or what to do about it. Here is my latest script:Global symbol "$siteid" requires explicit package name at ./excel.syr. +extract3.pl line 48. Global symbol "$name" requires explicit package name at ./excel.syr.ex +tract3.pl line 49. Global symbol "$address" requires explicit package name at ./excel.syr +.extract3.pl line 50. Global symbol "$city" requires explicit package name at ./excel.syr.ex +tract3.pl line 51. Global symbol "$state" requires explicit package name at ./excel.syr.e +xtract3.pl line 52. Global symbol "$zip" requires explicit package name at ./excel.syr.ext +ract3.pl line 53. Execution of ./excel.syr.extract3.pl aborted due to compilation errors +.
Thanks again for everyone's kind assistance! Hagen#!/usr/bin/perl use strict; use warnings; use Spreadsheet::ParseExcel; my $file = "SAMReport.xls"; my $workbook = Spreadsheet::ParseExcel::Workbook->Parse($file)or die " +Unable to open $file\n"; #locate columns in the spreadsheet from which we want to extract data foreach my $sheet (@{$workbook->{Worksheet}}) { print "Sheet number $sheet\n"; foreach my $col ($sheet->{MinCol} .. $sheet->{MaxCol}) { if ($sheet->{Cells}[0][$col]->{Val} eq "Site Number") { my $siteid = $col; } if ($sheet->{Cells}[0][$col]->{Val} eq "Site Name") { my $name = $col; } if ($sheet->{Cells}[0][$col]->{Val} eq "Address") { my $address = $col; } if ($sheet->{Cells}[0][$col]->{Val} eq "City") { my $city = $col; } if ($sheet->{Cells}[0][$col]->{Val} eq "State") { my $state = $col; } if ($sheet->{Cells}[0][$col]->{Val} eq "Zip Code") { my $zip = $col; } } #iterate through spreadsheet rows and extract site.siteid, site.name, +site.address, site.city, site.state, site.zip foreach my $row ($sheet->{MinRow}+1 .. $sheet->{MaxRow}) { my $site_number = $sheet->{Cells}[$row][$siteid]; my $site_name = $sheet->{Cells}[$row][$name]; my $site_address = $sheet->{Cells}[$row][$address]; my $site_city = $sheet->{Cells}[$row][$city]; my $site_state = $sheet->{Cells}[$row][$state]; my $site_zip = $sheet->{Cells}[$row][$zip]; #print captured output print "$site_number\n"; print "$site_name\n"; print "$site_address\n"; print "$site_city\n"; print "$site_state\n"; print "$site_zip\n"; } } exit;
In reply to Re^4: Spreadsheet::ParseExcel Script Fails to Parse (access) Excel Spreadsheet
by finhagen
in thread Spreadsheet::ParseExcel Script Fails to Parse (access) Excel Spreadsheet
by finhagen
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |