Skip Menu |
 
Update: The rt.cpan.org bug tracker service is no longer shutting down.

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

Report information
The Basics
Id: 50211
Status: patched
Priority: 0/
Queue: Spreadsheet-XLSX

People
Owner: Nobody in particular
Requestors: information [...] kentpharm.co.uk
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 0.1
Fixed in: (no value)



Subject: chartsheets not handled correctly
MIME-Version: 1.0
X-Mailer: MIME-tools 5.427 (Entity 5.427)
Content-Type: text/plain
Charset: utf8
Content-Disposition: inline
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
Content-Length: 763
Download (untitled) / with headers
text/plain 763b
If the xlsx file being processed has a chartsheet as the first sheet, this causes Spreadsheet::XLSX to map the wrong contents to each worksheet object. This seems to be because it presumes that every entry in the workbook.xml will contain a corresponding sheet in the file and that it can be referenced by using the 'r:id', this doesn't appear to be the case. However the sheetID reference in each element does seem to contain the correct reference. Therefore I changed the code as follows: line 108 - 111 of XLSX.pm remove: elsif ($k eq 'r:id') { ($sheet -> {Id}) = $v =~ m{rId(\d+)}; add: elsif ($k eq 'sheetId') { ($sheet -> {Id}) = $v; }; This then results in the correct worksheet file being set up for the correct worksheet object.
MIME-Version: 1.0
Subject: Re: chartsheets not handled correctly
X-Mailer: MIME-tools 5.427 (Entity 5.427)
Content-Disposition: inline
Charset: utf8
Content-Type: text/plain
Message-ID: <rt-3.6.HEAD-2295-1254755412-23.50211-0-0 [...] rt.cpan.org>
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
Content-Length: 71
Thank you very much for your commitment. I applied it in version 0.11.


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

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