php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #25133 Spreadsheet_Excel_Writer cannot write formulas in lower case.
Submitted: 2003-08-18 13:49 UTC Modified: 2003-08-21 11:13 UTC
From: jkwiat03 at hotmail dot com Assigned: xnoguer (profile)
Status: Closed Package: PEAR related
PHP Version: 4.3.2 OS: Windows 2K Pro
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: jkwiat03 at hotmail dot com
New email:
PHP Version: OS:

 

 [2003-08-18 13:49 UTC] 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


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2003-08-18 14:30 UTC] 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 15:02 UTC] pear dot neufeind at speedpartner dot de
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.
 [2003-08-21 11:13 UTC] xnoguer@php.net
This bug has been fixed in CVS.

In case this was a PHP problem, snapshots of the sources are packaged
every three hours; this change will be in the next snapshot. You can
grab the snapshot at http://snaps.php.net/.
 
In case this was a documentation problem, the fix will show up soon at
http://www.php.net/manual/.

In case this was a PHP.net website problem, the change will show
up on the PHP.net site and on the mirror sites in short time.
 
Thank you for the report, and for helping us make PHP better.


 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 16:01:28 2024 UTC