in reply to Opening bad Excel files

Hello Arik123,

I download your excel file 'aveidotvalues-3.xlsx' for testing purposes and this is what I found using Spreadsheet::XLSX:

#!/usr/bin/perl use strict; use warnings; use Data::Dumper; use Text::Iconv; my $converter = Text::Iconv -> new ("utf-8", "windows-1251"); # Text::Iconv is not really required. # This can be any object with the convert method. Or nothing. use Spreadsheet::XLSX; my $excel = Spreadsheet::XLSX -> new ('aveidotvalues-3.xlsx', $convert +er); print Dumper $excel; __END__ $ perl test.pl $VAR1 = bless( { 'SheetCount' => 0, 'FmtClass' => bless( {}, 'Spreadsheet::XLSX::Fmt2007' + ), 'Flg1904' => 0, 'Worksheet' => [] }, 'Spreadsheet::XLSX' );

I also test your excel file with Spreadsheet::Read and this is the output:

#!/usr/bin/perl use strict; use warnings; use Data::Dumper; use Spreadsheet::Read qw(ReadData); my $book = ReadData ('aveidotvalues-3.xlsx'); print Dumper $book; __END__ $ perl test.pl $VAR1 = [ { 'parsers' => [ { 'version' => '0.15', 'type' => 'xlsx', 'parser' => 'Spreadsheet::XLSX' } ], 'error' => undef, 'sheet' => {}, 'version' => '0.15', 'sheets' => 0, 'type' => 'xlsx', 'parser' => 'Spreadsheet::XLSX' } ];

I can not test any Windows spreadsheet modules because I am running a LinuxOS, but what I can see so far both modules they can not see your sheets. This is the reason that the data can not be populated. So what I would recommend, is either use a Perl module to produce your files or download Apache OpenOffice to create your spreadsheets. Remember openoffice is compatible with WindowsOS and also LinuxOS and so far all the files that I have populated it worked correctly with all the Perl modules.

Hope this helps, BR.

Seeking for Perl wisdom...on the process of learning...not there...yet!