#25133 [Com]: Spreadsheet_Excel_Writer cannot write formulas in lower case.
| From: | pear dot neufeind at speedpartner dot de | Date: | Mon, 18 Aug 2003 20:02:11 +0000 |
| Subject: | #25133 [Com]: Spreadsheet_Excel_Writer cannot write formulas in lower case. | ||
| References: | 1 | Groups: | php.pear.dev |
| Request: | Send a blank email to pear-dev+get-20006@lists.php.net to get a copy of this message | ||
ID: 25133
Comment by: pear dot neufeind at speedpartner dot de
Reported By: jkwiat03 at hotmail dot com
Status: Verified
Bug Type: PEAR related
Operating System: Windows 2K Pro
PHP Version: 4.3.2
Assigned To: xnoguer
New Comment:
Just a short note:
Maybe strtoupper is a bit "too easy" tought. Aren't there also strings
allowed in Formulars? Like when you say "if >0 say 'Bigger', if <0 say
'Lower'". Fixing this with strtoupper would brake those strings.
Previous Comments:
------------------------------------------------------------------------
[2003-08-18 14:30:48] nicos@php.net
I don't think we really want to accept "formulas" in lowercase.
But the big point of this is why is it segfaulting? We need a better
handling of this m'be?
------------------------------------------------------------------------
[2003-08-18 13:49:12] jkwiat03 at hotmail dot com
Description:
------------
I checked the bug reports and did not see this as an issue, so
hopefully no one will get too mad at me for posting this...I'm a virgin
to bug reporting :).
When using the Spreadsheet_Excel_Writer package for PEAR, formulas must
be written in capital letters. In other words, you can not write
"=SUM(a1:a10)". It must be written as "=SUM(A1:A10)".
A simple fix for this is the following:
Edit the writeFormula() function to include
$formula = strtoupper($formula);
as the first line of the function.
I don't know if this is the best way to fix the problem, but this is my
first bug report/patch, so it looks good to me :).
Reproduce code:
---------------
<?php
require_once 'Spreadsheet/Excel/Writer.php';
// We give the path to our file here
$workbook = new Spreadsheet_Excel_Writer('C:\\bugs\\bug.xls');
$worksheet =& $workbook->addWorksheet('My first worksheet');
$worksheet->write(0, 0, 1);
$worksheet->write(1, 0, 2);
$worksheet->write(2, 0, 3);
// Formula must be in upper case. This line will not work.
$worksheet->write(3, 0, "=SUM(a1:a3)");
// We still need to explicitly close the workbook
$workbook->close();
?>
Expected result:
----------------
Apache.exe - Application Error
The exception unknown software exception (0xc00000fd) occurred in the
application at location 0x0084823d.
Click on OK to terminate the program
Click on CANCEL to debug the program
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=25133&edit=1