#!/usr/bin/perl #https://stackoverflow.com/questions/19782080/how-to-read-data-from-xlsx-in-perl use strict; use warnings; use 5.010; use Spreadsheet::Read; #my $workbook; # try a global array ref to excel structure -failed ############################################################################ # function input : file in xlsx format with absolute path # function output : prints 1st worksheet content if exist ############################################################################ sub print_xlsx_file{ print ">>print_xlsx_file\n"; my $REFworkbook = shift; my $PageNum; for $PageNum (1..7) { my $worksheet = $REFworkbook->sheet($PageNum); my $max_rows = $worksheet->{'maxrow'}; my $max_cols = $worksheet->{'maxcol'}; print "Stats Page $PageNum ". "$max_rows x $max_cols\n"; } } #===================== MAIN # call above function my $file_path = shift; # passed full path my $workbook = ReadData($file_path,cells => 0 ); my $PageNum=1; if(defined $workbook->[0]{'error'}){ print "Error occurred while processing $file_path:". $workbook->[0]{'error'}."\n"; exit(-1); } print_xlsx_file ($workbook);