Skip Menu |

This queue is for tickets about the Spreadsheet-WriteExcel CPAN distribution.

Maintainer(s)' notes

If you are reporting a bug in Spreadsheet::WriteExcel here are some pointers

1) State the issues as clearly and as concisely as possible. A simple program or Excel test file (see below) will often explain the issue better than a lot of text.

2) Provide information on your system, version of perl and module versions. The following program will generate everything that is required. Put this information in your bug report.

    #!/usr/bin/perl -w

    print "\n    Perl version   : $]";
    print "\n    OS name        : $^O";
    print "\n    Module versions: (not all are required)\n";

    my @modules = qw(
                      Spreadsheet::WriteExcel
                      Parse::RecDescent
                      File::Temp
                      OLE::Storage_Lite
                      IO::Stringy
                      Spreadsheet::ParseExcel
                      Scalar::Util
                      Unicode::Map
                    );

    for my $module (@modules) {
        my $version;
        eval "require $module";

        if (not $@) {
            $version = $module->VERSION;
            $version = '(unknown)' if not defined $version;
        }
        else {
            $version = '(not installed)';
        }

        printf "%21s%-24s\t%s\n", "", $module, $version;
    }

    __END__

3) Upgrade to the latest version of Spreadsheet::WriteExcel (or at least test on a system with an upgraded version). The issue you are reporting may already have been fixed.

4) Create a small but complete example program that demonstrates your problem. The program should be as small as possible. At the same time it should be a complete program that generates an Excel file. If the Spreadsheet::WriteExcel section is part of a much larger program then simplify it down to the essentials. Simulate any DB reads with an array.

5) Say if you tested with Excel, OpenOffice, Gnumeric or something else. Say which version of that application you used.

6) If you are submitting a patch you should check with the author whether the issue has already been patched or if a fix is in the works. Patches should be accompanied by test cases.

Asking a question

If you would like to ask a more general question there is the Spreadsheet::WriteExcel Google Group.

Report information
The Basics
Id: 75452
Status: resolved
Priority: 0/
Queue: Spreadsheet-WriteExcel

People
Owner: Nobody in particular
Requestors: ftl [...] dnv.com
Cc:
AdminCc:

Bug Information
Severity: Unimportant
Broken in: 2.37
Fixed in: (no value)



Subject: Rare digest error on image insert
Again, thanks a lot for a very versatile module!!! On perl 5.8.3 with Digest::MD4 v1.1, inserting an image gives the following error: Can't locate auto/Digest/MD4/md4_hex.al in @INC (@INC contains: D:\inetpub\www\site03\root\easyrisk\DNV\33q\develop\DNVModule\EN D:\inetpub\www\site03\root\easyrisk\DNV\33q\develop\DNVModule C:/Perl/lib C:/Perl/site/lib .) at D:\inetpub\www\site03 \root\easyrisk\DNV\33q\develop\DNVModule/Spreadsheet/WriteExcel/Workbook .pm line 1696 Running C:\Perl_proj\bin>perl doc_version.pl Perl version : 5.008003 OS name : MSWin32 Module versions: (not all are required) Spreadsheet::WriteExcel 2.37 Parse::RecDescent 1.80 File::Temp 0.14 OLE::Storage_Lite 0.13 IO::Stringy 2.109 Spreadsheet::ParseExcel 0.58 Scalar::Util 1.13 Unicode::Map (not installed) Digest::MD4 1.1 Digest::Perl::MD4 (not installed) Digest::MD5 2.33 Works fine on Perl version : 5.012002 where md4 is not installed. I guess this is a digest:md4 issue, and md4 is not much in use, but the following fixes it in workbook.pm the following fixes it (ie add an actual call to a function to verify). maybe even call this only on demand (ie if needed and _checksum_method not defied ): eval "use Digest::MD4; Digest::MD4::md4_hex('xyz')"; if (not $@) { $self->{_checksum_method} = 1; return; } eval "use Digest::Perl::MD4; Digest::Perl::MD4::md4_hex('xyz')"; if (not $@) { $self->{_checksum_method} = 2; return; } eval "use Digest::MD5;Digest::MD5::md5_hex('xyz')"; if (not $@) { $self->{_checksum_method} = 3; return; } The following
On Thu Mar 01 10:12:18 2012, ftl wrote: Show quoted text
> Again, thanks a lot for a very versatile module!!! > > > On perl 5.8.3 with Digest::MD4 v1.1, inserting an image gives the > following error: > > Can't locate auto/Digest/MD4/md4_hex.al in @INC (@INC contains: > D:\inetpub\www\site03\root\easyrisk\DNV\33q\develop\DNVModule\EN > D:\inetpub\www\site03\root\easyrisk\DNV\33q\develop\DNVModule > C:/Perl/lib C:/Perl/site/lib .) at D:\inetpub\www\site03 > \root\easyrisk\DNV\33q\develop\DNVModule/Spreadsheet/WriteExcel/Workbook > .pm line 1696
Hi, Thanks for the detailed report. If you get a chance could you verify that this could also be fixed by adding an explicit call to Digest::MD4 the following to the client program: use Digest::MD4 qw(md4_hex); use Spreadsheet::WriteExcel; ... Regards, John. --
Subject: RE: [rt.cpan.org #75452] Rare digest error on image insert
Date: Sun, 4 Mar 2012 20:43:23 +0100
To: <bug-Spreadsheet-WriteExcel [...] rt.cpan.org>
From: <Frode.Thue.Lie [...] dnv.com>
Hi Thank you for responding! The form you suggested works fine! use Digest::MD4 qw(md4_hex) fails if the function is there, but loading xs or similar fails! e.g. as below: thanks Frode eval "use Digest::MD4 qw(md4_hex);"; if (not $@) { $self->{_checksum_method} = 1; return; } eval "use Digest::Perl::MD4 qw(md4_hex);"; if (not $@) { $self->{_checksum_method} = 2; return; } eval "use Digest::MD5 qw(md5_hex);"; if (not $@) { $self->{_checksum_method} = 3; return; } Show quoted text
-----Original Message----- From: John McNamara via RT [mailto:bug-Spreadsheet-WriteExcel@rt.cpan.org] Sent: 2. mars 2012 02:19 To: Lie, Frode Thue Subject: [rt.cpan.org #75452] Rare digest error on image insert <URL: https://rt.cpan.org/Ticket/Display.html?id=75452 > On Thu Mar 01 10:12:18 2012, ftl wrote:
> Again, thanks a lot for a very versatile module!!! > > > On perl 5.8.3 with Digest::MD4 v1.1, inserting an image gives the > following error: > > Can't locate auto/Digest/MD4/md4_hex.al in @INC (@INC contains: > D:\inetpub\www\site03\root\easyrisk\DNV\33q\develop\DNVModule\EN > D:\inetpub\www\site03\root\easyrisk\DNV\33q\develop\DNVModule > C:/Perl/lib C:/Perl/site/lib .) at D:\inetpub\www\site03 > \root\easyrisk\DNV\33q\develop\DNVModule/Spreadsheet/WriteExcel/Workbo > ok > .pm line 1696
Hi, Thanks for the detailed report. If you get a chance could you verify that this could also be fixed by adding an explicit call to Digest::MD4 the following to the client program: use Digest::MD4 qw(md4_hex); use Spreadsheet::WriteExcel; ... Regards, John. -- ************************************************************************************** The contents of this e-mail message and any attachments are confidential and are intended solely for the addressee. If you have received this transmission in error, please immediately notify the sender by return e-mail and delete this message and its attachments. Any unauthorized use, copying or dissemination of this transmission is prohibited. Neither the confidentiality nor the integrity of this message can be vouched for following transmission on the Internet. **************************************************************************************