This is an old revision of the document!
Spreadsheet Excel Writer
This package is a port of a perl package.
It is unmaintained (and nigh on unmaintainable), and out of sync with the original perl package, so results in a significant amount of bugs.
Who uses it?
It's pretty darned widely used, because it's unique and mostly works.
We see a fair number of relatively inexperienced developers who make use of it (rather than simple alternatives, like a CSV), and a smattering of more determined developers who contribute back fixes.
The original lives at CPAN.
The PEAR code is translated from a really old version of the original, about 12 releases have since taken place. There is no version control of the original, so it's hard to even see the small changes and just apply those.
Not scared yet?
Hi John, Is there a public CVS or SVN that Spreadsheet::WriteExcel lives in ? Basically, PEAR has a port of Spreadsheet::WriteExcel, and it's not exactly been "keeping up with the joneses". What would be pretty awesome would be a CVS or SVN changelog of sorts; or otherwise a list of bugs you've stomped. http://search.cpan.org/src/JMCNAMARA/Spreadsheet-WriteExcel-2.21/Changes is all I've found so far - which gets me started, but...
On Mon, Mar 24, 2008 at 8:31 AM, Daniel O'Connor wrote:
Hi John, Is there a public CVS or SVN that Spreadsheet::WriteExcel lives in ? Hi Daniel, There isn't any public CVS or SVN archive. All of the previous versions are available here as tar balls: http://backpan.perl.org/authors/id/J/JM/JMCNAMARA/ Most of the PHP ports that I have seen are based on the Excel 5 version of Spreadsheet::WriteExcel, i.e. versions <= 1.01. There was a significant change in the code base for the Excel 97 versions, i.e. >= 2.01, and there has been 13 not insignificant revisions since then. In short, getting the PHP versions up to the Perl version is probably a non trivial task. :-) - John.
How would we go about testing
One idea to catch regressions is to install a copy of the PERL version, and write tests against both.
Expect the perl version to render correctly.
The problem with this is the fragility involved.
How do we tell if patches are any good?
Well, this is a tricky one.
The majority of the users are very enthusiastic, but there's not much in the way of testing you can do on the changes; nor does casual review really help.