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: 6975
Status: resolved
Priority: 0/
Queue: Spreadsheet-WriteExcel

People
Owner: jmcnamara [...] cpan.org
Requestors: francois.claveau [...] equant.com
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 2.03
Fixed in: (no value)



Subject: WriteExcel: incorrect file created with ::big
Hi John First off, many thanks for this great module i use every day... I have a problem when trying to generate a file with the ::big module. Like described in a previous report i saw this morning, when the size of the data exceedes a certain value, the file produced is unusable (Excel complains "file cannot be accessed. The file may be read-only ...etc"). In that report, it concerned very large files >200Mo, and the solution was to update the Storage_Lite module. But i my case, the limit is quite small (around 3Mo) and i use the last version of the Storage-Lite module. Below are some details : Perl version : 5.006001 OS name : MSWin32 Module versions: (not all are required) Spreadsheet::WriteExcel 2.03 Parse::RecDescent 1.80 File::Temp 0.12 OLE::Storage_Lite 0.11 IO::Stringy 2.108 (Storage_Lite report 0.11, but it's a problem of version number in the last version, which is 0.11 in some parts of the script, and 0.12 in others. I'm sure i use the last one avalaible at Cpan, from may 2004.). My problem occurs even if i use the simple bigfile.pl : use strict; use Spreadsheet::WriteExcel::Big; # Note the name my $workbook = Spreadsheet::WriteExcel::Big->new("big.xls"); my $worksheet = $workbook->add_worksheet(); $worksheet->set_column(0, 50, 18); for my $col (0 .. 50) { for my $row (0 .. 6000) { $worksheet->write($row, $col, "Row: $row Col: $col"); } } $workbook->close(); ==> It works if i replace 6000 with 1850, but above 1900, the file produced is unusable (between 1850 and 1900 i didn't test all cases, but i could do it if it's of some use...). Thanks in advance for your help Best regards Francois
Hi John 5 minutes after having submitted this report, i got a "disk full" message... After some cleaning, all works fine !!! I hope you haven't already spent time on this report ;-) However, it's an occasion for me to express my admiration for your work. Best regards François [guest - Thu Jul 15 10:17:57 2004]: Show quoted text
> Hi John > > First off, many thanks for this great module i use every day... > > I have a problem when trying to generate a file with the ::big module. > Like described in a previous report i saw this morning, when the size > of the data exceedes a certain value, the file produced is unusable > (Excel complains "file cannot be accessed. The file may be read- > only ...etc"). > In that report, it concerned very large files >200Mo, and the solution > was to update the Storage_Lite module. But i my case, the limit is > quite small (around 3Mo) and i use the last version of the Storage- > Lite module. > > Below are some details : > > Perl version : 5.006001 > OS name : MSWin32 > Module versions: (not all are required) > Spreadsheet::WriteExcel 2.03 > Parse::RecDescent 1.80 > File::Temp 0.12 > OLE::Storage_Lite 0.11 > IO::Stringy 2.108 > > (Storage_Lite report 0.11, but it's a problem of version number in the > last version, which is 0.11 in some parts of the script, and 0.12 > in others. I'm sure i use the last one avalaible at Cpan, from may > 2004.). > > My problem occurs even if i use the simple bigfile.pl : > > use strict; > use Spreadsheet::WriteExcel::Big; # Note the name > > > my $workbook = Spreadsheet::WriteExcel::Big->new("big.xls"); > my $worksheet = $workbook->add_worksheet(); > > $worksheet->set_column(0, 50, 18); > > for my $col (0 .. 50) { > for my $row (0 .. 6000) { > $worksheet->write($row, $col, "Row: $row Col: $col"); > } > } > > $workbook->close(); > > > ==> It works if i replace 6000 with 1850, but above 1900, the file > produced is unusable (between 1850 and 1900 i didn't test all > cases, but i could do it if it's of some use...). > > Thanks in advance for your help > > Best regards > Francois
[guest - Thu Jul 15 10:48:03 2004]: Show quoted text
> 5 minutes after having submitted this report, i got a "disk full" > message... > After some cleaning, all works fine !!! > I hope you haven't already spent time on this report ;-) >
Hi Francois, I'm glad that you fixed the problem. If you are using S::WE::Big I'd recommend that you upgrade to version 0.12 of OLE::Storage_Lite. It has some important bug fixes for large files. John. --
[Previous reply posted without logging in] Show quoted text
> 5 minutes after having submitted this report, i got a "disk full" > message... > After some cleaning, all works fine !!! > I hope you haven't already spent time on this report ;-) >
Hi Francois, I'm glad that you fixed the problem. If you are using S::WE::Big I'd recommend that you upgrade to version 0.12 of OLE::Storage_Lite. It has some important bug fixes for large files. John. --