From 8c60af5d883ba5ff5f385d38ba8acadf024283b9 Mon Sep 17 00:00:00 2001 From: Xavier Noguer Gallego Date: Wed, 1 Oct 2003 13:05:52 +0000 Subject: [PATCH] adding rowcolToCell() (JT Hughes) git-svn-id: https://svn.php.net/repository/pear/packages/Spreadsheet_Excel_Writer/trunk@141432 c90b9560-bf6c-de11-be94-00142212c4b1 --- Writer.php | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/Writer.php b/Writer.php index cf3b60d..eda6120 100644 --- a/Writer.php +++ b/Writer.php @@ -71,5 +71,34 @@ class Spreadsheet_Excel_Writer extends Spreadsheet_Excel_Writer_Workbook header("Pragma: public"); } + /** + * Utility function for writing formulas + * Converts a cell's coordinates to the A1 format. + * + * @access public + * @static + * @param integer $row Row for the cell to convert (0-indexed). + * @param integer $col Column for the cell to convert (0-indexed). + * @return string The cell identifier in A1 format + */ + function rowcolToCell($row, $col) + { + if ($col > 255) { //maximum column value exceeded + return new PEAR_Error("Maximum column value exceeded: $col"); + } + + $int = (int)($col / 26); + $frac = $col % 26; + $chr1 = ''; + + if ($int > 0) { + $chr1 = chr(ord('A') + $int - 1); + } + + $chr2 = chr(ord('A') + $frac); + $row++; + + return $chr1.$chr2.$row; + } } ?>