http://qs321.pair.com?node_id=1211157

Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

I want to read an XLSX file on Windows 10 which is saved in a folder with not Latin characters. Even if I tried different ways and modules, it fails. In my example the folder+filename contains Russian characters. With Latin alphabets everything works fine. The problems seems related to the module Zip::Archive. Any suggestions?

use Spreadsheet::XLSX; use Win32::LongPath; use Win32; use utf8; my $path="Ршзефф\\faoü.xlsx"; #my $path="Ршзефф.xlsx"; #my $path="faoü.xlsx"; #my $MYPath = Win32::GetANSIPathName ($path); my $MYPath = shortpathL ($path); print "$MYPath \n\n"; my $excel = Spreadsheet::XLSX -> new ($MYPath); my $counter=0; foreach my $sheet (@{$excel -> {Worksheet}}) { if ($counter eq 0){#work only on first sheet now $sheet -> {MaxRow} ||= $sheet -> {MinRow}; foreach my $row ($sheet -> {MinRow} .. $sheet +-> {MaxRow}) { $sheet -> {MaxCol} ||= $sheet -> {MinCol}; + foreach my $col ($sheet -> {MinCol} .. $s +heet -> {MaxCol}) { my $cell = $sheet -> {Cells} [$row] [$ +col]; if ($cell) { my $cell_value = ($cell -> {Va +l}); $cell_value =~ s/\n//g; print $cell_value; } print "\t"; } print "\n"; } $counter=1; } }