32-битный активный Perl, генерирующий поврежденный файл Excel

Мой код генерирует файл Excel 2007 (.xlsx) из структуры данных. Я использую модуль Excel :: Writer :: XLSX для создания файла Excel и заполнения книги.

Хотя код работает нормально с 32-битным активным Perl, при открытии Excel 2007 выдает ошибку «Значение атрибута не должно содержать '‹' ».

Хотя тот же код при выполнении с использованием 64-битного активного Perl производит превосходство без каких-либо проблем.

Любой указатель на то, что может быть причиной, поможет?


person Kallol    schedule 07.12.2013    source источник
comment
Сравните файлы, создаваемые двумя версиями Perl.   -  person Borodin    schedule 07.12.2013


Ответы (1)


Хотя тот же код при выполнении с использованием 64-битного активного Perl производит превосходство без каких-либо проблем.

Основываясь на ошибке, я предполагаю, что вы не используете одну и ту же версию Excel :: Writer :: XLSX с 32- и 64-битными ActivePerls.

На уровне предупреждения возникает код на чистом Perl, поэтому нет проблем с двоичными или 32/64-битными кодами, которые могли бы вызвать это.

Я бы посоветовал убедиться, что вы обновились до последней версии Excel :: Writer :: XLSX и снова протестируете.

Кроме того, это похоже на репозиторий ActiveState для Excel :: Writer :: XLSX значительно отстают от CPAN, поэтому убедитесь, что вы обновляете модуль из исходного кода, а не через PPM.

Если проблема все еще возникает, сократите программу до минимального количества рабочего кода, который ее демонстрирует, и отправить отчет об ошибке.

person jmcnamara    schedule 07.12.2013
comment
Да, ты прав. Версия, которую я использовал, была 0,53, а последняя - 0,75. У активного Perl нет последней версии в ppm. Итак, установил его из исходников. Это устранило проблему. Спасибо - person Kallol; 08.12.2013