Я пытаюсь разобрать файл .xlsx используя Spreadsheet::Read же код работает для .xls файлов, но выдает ошибку .xlsx ниже процедура:не смог разобрать XLSX с Spreadsheet :: Read
- Мы создаем кнопку файл для загрузки (просмотра) в .cgi файл с именем "csv_path".
- , когда пользователь отправляет форму (конечно, его многочастному/форма-данные)
код на следующей странице
use CGI; use Spreadsheet::Read; use Spreadsheet::ParseExcel; use Data::Dumper qw(Dumper); #will catch uploaded file. my $fname = $query->param("csv_path"); print Dumper($fname); #just for confirmation we printed variable $fname #when .xls is uploaded $fname contains: #$VAR1 = bless(\*{'Fh::fh00001308_4_template.xls'}, 'Fh'); #when .xlsx is uploaded $fname contains: #$VAR1 = bless(\*{'Fh::fh00001308_4_template.xlsx'}, 'Fh'); #now read the file with "Spreadsheet::Read" my $data_xls = ReadData ($fname, "strip"=>3, "dtfmt" => "mm/dd/yyyy");#here if we pass .xlsx file name(stored on server) to ReadData() it works properly. #print out of Spreadsheet::Read print "<pre>"; print Dumper($data_xls); #when .xls is uploaded $data_xls comes up with all required data #when .xlsx is uploaded below error occurs # XLSX parser cannot parse data: Undefined subroutine Fh::opened
Просьба предложить, если какие-либо изменения, требуется или любая вещь отсутствует.
use [Spreadsheet :: XLSX] (http://search.cpan.org/~dmow/Spreadsheet-XLSX-0.13-withoutworldwriteables/lib/Spreadsheet/XLSX.pm) для синтаксического анализа файлов xlsx – Jens
уже есть код, написанный для синтаксического анализа .xls с использованием «Spreadsheet :: Read», я просто хочу улучшить то же самое для файлов .xlsx, если использовать Spreadsheet :: XLSX не потребует каких-либо изменений кода, тогда это нормально для меня. [также у меня нет таблицы: XLSX установлен и нет доступа для установок] – Ganesh
ok, но если мы передадим файл .xlsx, хранящийся на сервере, в ту же функцию, он вернет надлежащий выход. Я предполагаю, что есть некоторая проблема с данными потока (благословить (\ * {'Fh :: fh00001308_4_template.xls'}, 'Fh')) здесь. – Ganesh