Re: Making PHPExcel available via a pear channel?
| From: | Mark Baker | Date: | Wed, 07 Apr 2010 16:45:46 +0000 |
| Subject: | Re: Making PHPExcel available via a pear channel? | ||
| References: | 1 2 3 | Groups: | php.pear.dev |
| Request: | Send a blank email to pear-dev+get-53399@lists.php.net to get a copy of this message | ||
On Wed, Apr 7, 2010 at 2:30 PM, Carsten Schmitz <carsten.schmitz.hh@googlemail.com <mailto:carsten.schmitz.hh@googlemail.com>> wrote:
However, some users do claim to have PHPExcel running quite happily under PHP 5.1.6. Apparently, a PHP wrapper for the zip/unzip binaries (https://sourceforge.net/project/showfiles.php?group_id=254316) could be used instead of php_zip, although I've not tried this; and php_gd2 is also only required for certain specific features (IIRC, autosize columns) - we could probably use the older, less-accurate logic as a fallback if php_gd2 wasn't available. So I don't consider it an insurmountable problem lowering some of the requirements (with a bit of work), even dropping back to PHP 5.1.6; but taking things back to PHP 5.x might be pushing the boundaries a bit too far. There's days when I consider rewriting the whole thing in C, as a PHP extension; but that would take quite some time. The biggest problem is time. There's only three of us active in the core PHPExcel team, and a lot of work being done. Currently I'm busy with: * Cell caching to reduce the memory requirements when working withMy feelings are that SEW should be deprecated. Unfortunately PEAR doesn't seem to know a deprecation procedure (at least I could not find any documentation about it). I think the only way to save this package would be to rip off the necessary core parts from PHPExcel. The problem with PHPExcel that I see are that its requirements are pretty high - like* PHP version 5.2.0 or higher * PHP extension php_zip enabled *) * PHP extension php_xml enabled * PHP extension php_gd2 enabled (if not compiled in)At least for the LimeSurvey project this is the reason we are not using PHPExcel since LimeSurvey itself runs from any PHP 5.x version. I think however that the requirements could be lowered by adjusting the necessary code parts. However on my request ot the PHPExcel team about this they are not interested to change it due to performance reasons (which might be true for the ODF part of PHPExcel) - I think however that having low requirments would broaden the PHPExcel userbase alot.I don't consider the PHPExcel requirements especially high, given that the latest production release of PHP is currently 5.3.2 and 5.2 has been around since February 2007, and the php_zip extension is only required for certain features (Excel2007 and OO Calc), while php_xml and php_gd2 are used by many current packages and generally seem to be enabled by many web hosting sites. Although I will concede that many ISPs and web hosts simply don't keep up to date with upgrades; and the latest Win64 binary that I can find for PHP is 5.1.6 (I've been trying to get 64-bit WAMP stack running on my new Windows 7 machines).
large spreadsheets - a feature that users are screaming out for at
the moment (21 votes on the issue list) - hopefully this will be
available for the next release
* Improving the OOCalc reader and working on an OOCalc writer -
another feature that many of our users are requesting with 11
votes on the issue list
* Basic chart support (so far, I'm reading most chart types
successfully with the Excel2007 reader), and have written a
renderer factory (jpGraph is currently the only rendering engine
I've written wrappers for) - again, a feature that many of our
users are requesting with 29 votes on the issue list
* Support for named formulae
* Further improvements to the performance of the calculation engine
* Finishing the Excel function set - 6 votes on the issue list
* Support for Excel Forms
* Looking at support for running VBA within a PHPExcel sandbox
And Maarten and Erik have their own priorities. We barely have the resource for the work we're already doing
Reducing the requirements for PHPExcel might broaden our user base; but I don't think it would broaden it a lot until the day when a significant portion of web developers using PHP realise that an Excel file isn't simply a CSV or HTML file with an extension of .xls That's probably a similar proportion to the number of web developers using PHP who have never heard of PEAR.
I am also a little worried about Maarten saying "We can setup a
new PEAR package _somewhere_ that contains PHPExcel.", too. There
seems to be no interest to really join the PEAR core - but I may
be too paranoid on this.
To sum it up: The PHPExcel team seems interested, but not too much
- and preferably not if there is any additional work involved - I
think they are passing a good chance here but that is for them to
decide.
I have no strong opinions on PHPExcel joining the PEAR core one way or the other.
The main benefit would be to provide a single spreadsheet reader/writer capable of handling a wider range of spreadsheet formats than the current PEAR packages (I thought Spreadsheet_Excel_Reader was a PEAR package, but I can't find it in the PEAR repository).
The drawback is the extra work in regressing PHPExcel to PHP 5.x without degrading features or performance. There's also the dependency on the OLE package (under a PHP licence rather than LGPL): that should be maintained separately, yet it's an integral component of PHPExcel; and two other packages (Structures_DataGrid and </package/Structures_DataGrid/>Structures_DataGrid_Renderer_XLS </package/Structures_DataGrid_Renderer_XLS/>) are dependent on Spreadsheet_Excel_Writer. Replacing SEW with PHPExcel would have a knock-on affect on those two packages, although I don't think either is actively maintained.
---
Mark Baker