Fix bug #2405: Text concat operator & truncate formula - Thanks Franck (progi1984)!

git-svn-id: https://svn.php.net/repository/pear/packages/Spreadsheet_Excel_Writer/trunk@286868 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
Christian Weiske 2009-08-06 07:06:04 +00:00
parent 1d6135c9c3
commit 8b65ef5c61
2 changed files with 42 additions and 4 deletions

View File

@ -92,6 +92,10 @@ define('SPREADSHEET_EXCEL_WRITER_EQ', "=");
*/
define('SPREADSHEET_EXCEL_WRITER_NE', "<>");
/**
* * @const SPREADSHEET_EXCEL_WRITER_CONCAT token identifier for character "&"
*/
define('SPREADSHEET_EXCEL_WRITER_CONCAT', "&");
require_once 'PEAR.php';
@ -1203,6 +1207,9 @@ class Spreadsheet_Excel_Writer_Parser extends PEAR
case SPREADSHEET_EXCEL_WRITER_NE:
return $token;
break;
case SPREADSHEET_EXCEL_WRITER_CONCAT:
return $token;
break;
default:
// if it's a reference
if (preg_match('/^\$?[A-Ia-i]?[A-Za-z]\$?[0-9]+$/',$token) and
@ -1347,6 +1354,13 @@ class Spreadsheet_Excel_Writer_Parser extends PEAR
return $result2;
}
$result = $this->_createTree('ptgNE', $result, $result2);
} elseif ($this->_current_token == SPREADSHEET_EXCEL_WRITER_CONCAT) {
$this->_advance();
$result2 = $this->_expression();
if (PEAR::isError($result2)) {
return $result2;
}
$result = $this->_createTree('ptgConcat', $result, $result2);
}
return $result;
}

View File

@ -12,6 +12,7 @@ http://pear.php.net/dtd/package-2.0.xsd">
It supports formulas, images (BMP) and all kinds of formatting for text and cells.
It currently supports the BIFF5 format (Excel 5.0), so functionality appeared in the latest Excel versions is not yet available.
</description>
<lead>
<name>Xavier Noguer</name>
<user>xnoguer</user>
@ -24,19 +25,23 @@ http://pear.php.net/dtd/package-2.0.xsd">
<email>tuupola@appelsiini.net</email>
<active>yes</active>
</developer>
<date>2007-03-27</date>
<time>16:59:28</time>
<date>2009-08-06</date>
<version>
<release>0.9.1</release>
<release>0.9.2</release><!-- last release was 0.9.1 -->
<api>0.9.1</api>
</version>
<stability>
<release>beta</release>
<api>beta</api>
</stability>
<license uri="http://www.gnu.org/copyleft/lesser.html">LGPL</license>
<notes>
- Fixed Bug #10399: Fatal error when closing workbook with no worksheets.
- Fix Bug #10399: Fatal error when closing workbook with no worksheets.
- Fix Bug #2405: Text concat operator & truncate formula [progi1984]
</notes>
<contents>
@ -224,6 +229,7 @@ Bug fixes:
- Fixed bug #578, setVPageBreaks doesn&apos;t handle multiple value arrays (natel at tocquigny dot com)
</notes>
</release>
<release>
<version>
<release>0.9.0</release>
@ -251,5 +257,23 @@ Bug fixes:
- Fixed Bug #2823, Inpropper results from writeUrl() method
</notes>
</release>
<release>
<version>
<release>0.9.1</release>
<api>0.9.1</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<date>2006-09-26</date>
<license uri="http://www.gnu.org/copyleft/lesser.html">LGPL</license>
<notes>
</notes>
Bug fixes:
- Fixed Bug #6509, Object of class Spreadsheet_Excel_Writer_Format could not be converted to int (Christian Schmidt)
- Fixed Bug #7840, Notices on default formats (Christian Schmidt)
</release>
</changelog>
</package>