[ Index ]

PHP Cross Reference of phpwcms V1.5.0 _r431 (28.01.12)

title

Body

[close]

/include/inc_ext/PEAR/Spreadsheet/Excel/ -> Writer.php (source)

   1  <?php
   2  /*
   3  *  Module written/ported by Xavier Noguer <xnoguer@rezebra.com>
   4  *
   5  *  PERL Spreadsheet::WriteExcel module.
   6  *
   7  *  The author of the Spreadsheet::WriteExcel module is John McNamara
   8  *  <jmcnamara@cpan.org>
   9  *
  10  *  I _DO_ maintain this code, and John McNamara has nothing to do with the
  11  *  porting of this code to PHP.  Any questions directly related to this
  12  *  class library should be directed to me.
  13  *
  14  *  License Information:
  15  *
  16  *    Spreadsheet_Excel_Writer:  A library for generating Excel Spreadsheets
  17  *    Copyright (c) 2002-2003 Xavier Noguer xnoguer@rezebra.com
  18  *
  19  *    This library is free software; you can redistribute it and/or
  20  *    modify it under the terms of the GNU Lesser General Public
  21  *    License as published by the Free Software Foundation; either
  22  *    version 2.1 of the License, or (at your option) any later version.
  23  *
  24  *    This library is distributed in the hope that it will be useful,
  25  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
  26  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  27  *    Lesser General Public License for more details.
  28  *
  29  *    You should have received a copy of the GNU Lesser General Public
  30  *    License along with this library; if not, write to the Free Software
  31  *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  32  */
  33  
  34  require_once 'PEAR.php';
  35  require_once 'Spreadsheet/Excel/Writer/Workbook.php';
  36  
  37  /**
  38  * Class for writing Excel Spreadsheets. This class should change COMPLETELY.
  39  *
  40  * @author   Xavier Noguer <xnoguer@rezebra.com>
  41  * @category FileFormats
  42  * @package  Spreadsheet_Excel_Writer
  43  */
  44  
  45  class Spreadsheet_Excel_Writer extends Spreadsheet_Excel_Writer_Workbook
  46  {
  47      /**
  48      * The constructor. It just creates a Workbook
  49      *
  50      * @param string $filename The optional filename for the Workbook.
  51      * @return Spreadsheet_Excel_Writer_Workbook The Workbook created
  52      */
  53      function Spreadsheet_Excel_Writer($filename = '')
  54      {
  55          $this->_filename = $filename;
  56          $this->Spreadsheet_Excel_Writer_Workbook($filename);
  57      }
  58  
  59      /**
  60      * Send HTTP headers for the Excel file.
  61      *
  62      * @param string $filename The filename to use for HTTP headers
  63      * @access public
  64      */
  65      function send($filename)
  66      {
  67          header("Content-type: application/vnd.ms-excel");
  68          header("Content-Disposition: attachment; filename=\"$filename\"");
  69          header("Expires: 0");
  70          header("Cache-Control: must-revalidate, post-check=0,pre-check=0");
  71          header("Pragma: public");
  72      }
  73  
  74      /**
  75      * Utility function for writing formulas
  76      * Converts a cell's coordinates to the A1 format.
  77      *
  78      * @access public
  79      * @static
  80      * @param integer $row Row for the cell to convert (0-indexed).
  81      * @param integer $col Column for the cell to convert (0-indexed).
  82      * @return string The cell identifier in A1 format
  83      */
  84      function rowcolToCell($row, $col)
  85      {
  86          if ($col > 255) { //maximum column value exceeded
  87              return new PEAR_Error("Maximum column value exceeded: $col");
  88          }
  89  
  90          $int = (int)($col / 26);
  91          $frac = $col % 26;
  92          $chr1 = '';
  93  
  94          if ($int > 0) {
  95              $chr1 = chr(ord('A') + $int - 1);
  96          }
  97  
  98          $chr2 = chr(ord('A') + $frac);
  99          $row++;
 100  
 101          return $chr1 . $chr2 . $row;
 102      }
 103  }
 104  ?>


Generated: Sun Jan 29 16:31:14 2012 Cross-referenced by PHPXref 0.7.1