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:
90061
Status:
resolved
Priority:
Low/Low

People
Owner:
Nobody in particular
Requestors:
admin [...] cailleaux.org
Cc:
AdminCc:

BugTracker
Severity:
(no value)
Broken in:
(no value)
Fixed in:
(no value)



Subject: Can't call method "isa" on an undefined value at /usr/local/share/perl5/Math/BigInt.pm line 1128
Date: Tue, 5 Nov 2013 11:25:03 +0100 (CET)
To: bug-Spreadsheet-WriteExcel@rt.cpan.org
From: "Admin Cailleaux.org" <admin@cailleaux.org>
Hello,

We've upgraded to the lastest version of WriteExcel (2.39) and we have an issue when closing workbook :

Can't call method "isa" on an undefined value at /usr/local/share/perl5/Math/BigInt.pm line 1128, <F_WORK> line 3.
 at /usr/local/share/perl5/Math/BigInt.pm line 1128
        Math::BigInt::badd('Math::BigInt=HASH(0x356e120)', undef) called at /usr/local/share/perl5/Math/BigInt.pm line 107
        Math::BigInt::__ANON__[/usr/local/share/perl5/Math/BigInt.pm:107]('Math::BigInt=HASH(0x356e048)', undef, 1) called at /usr/local/share/perl5/Spreadsheet/WriteExcel/Workbook.pm line 1469
        Spreadsheet::WriteExcel::Workbook::_calc_mso_sizes('Spreadsheet::WriteExcel=HASH(0x3516828)') called at /usr/local/share/perl5/Spreadsheet/WriteExcel/Workbook.pm line 1211
        Spreadsheet::WriteExcel::Workbook::_store_workbook('Spreadsheet::WriteExcel=HASH(0x3516828)') called at /usr/local/share/perl5/Spreadsheet/WriteExcel/Workbook.pm line 358
        Spreadsheet::WriteExcel::Workbook::close('Spreadsheet::WriteExcel=HASH(0x3516828)') called at check-xml_Excel.pl line 1357


    Perl version   : 5.010001
    OS name        : linux
    Module versions: (not all are required)
                     Spreadsheet::WriteExcel    2.39
                     Parse::RecDescent          1.967009
                     File::Temp                 0.22
                     OLE::Storage_Lite          0.19
                     IO::Stringy                (not installed)
                     Spreadsheet::ParseExcel    (not installed)
                     Scalar::Util               1.21
                     Unicode::Map               (not installed)

Issue can be solved by editing Workbook.pm and changing line 1469 from :

my $num_shapes   += 1 + $num_images

to :

my $num_shapes    = 1 + $num_images

In previous version we used (2.37), we had no issue, even this part of the code hasn't changed... strange. Anyway, I think using "+=" on an undefined value is not good :)

FYI, we haven't upgraded Math:BigInt...

Thanks
Best regards
On Tue Nov 05 05:25:18 2013, admin@cailleaux.org wrote:
Show quoted text
> my $num_shapes + = 1 + $num_images > > to : > > my $num_shapes = 1 + $num_images
Hi, Thanks for that. Definitely a bug/typo. John
Subject: Re: [rt.cpan.org #90061] Can't call method "isa" on an undefined value at /usr/local/share/perl5/Math/BigInt.pm line 1128
Date: Wed, 6 Nov 2013 14:39:39 +0100 (CET)
To: bug-Spreadsheet-WriteExcel@rt.cpan.org
From: "Admin Cailleaux.org" <admin@cailleaux.org>
Hi, Thanks. I have to say I use this module for 8 years now and it's a wonderful module ! I have 2 more questions : When do you think this fix will be rolled out ? Does Spreadsheet::WriteExcel will eventually disappear to be replaced by Excel::Writer::XLSX ? Thanks Regards Nicolas
Show quoted text
----- Mail original ----- De: "John McNamara via RT" <bug-Spreadsheet-WriteExcel@rt.cpan.org> À: admin@cailleaux.org Envoyé: Mardi 5 Novembre 2013 11:37:39 Objet: [rt.cpan.org #90061] Can't call method "isa" on an undefined value at /usr/local/share/perl5/Math/BigInt.pm line 1128 <URL: https://rt.cpan.org/Ticket/Display.html?id=90061 > On Tue Nov 05 05:25:18 2013, admin@cailleaux.org wrote:
> my $num_shapes + = 1 + $num_images > > to : > > my $num_shapes = 1 + $num_images
Hi, Thanks for that. Definitely a bug/typo. John
On Wed Nov 06 08:39:54 2013, admin@cailleaux.org wrote:
Show quoted text
> I have 2 more questions : > > When do you think this fix will be rolled out ?
It is on it's way to CPAN now as version 2.40.
Show quoted text
> Does Spreadsheet::WriteExcel will eventually disappear to be replaced > by Excel::Writer::XLSX ?
It won't disappear but I won't be making any more updates apart from bug fixes. In the new version of the docs there is a section on "Migrating to Excel::Writer::XLSS" that lays out the pros and cons if you are interested. Thanks for the bug report. Regards, John


This service runs on Request Tracker, is sponsored by The Perl Foundation, and maintained by Best Practical Solutions.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.