123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- <?php
- /*
- * Module written/ported by Xavier Noguer <xnoguer@rezebra.com>
- *
- * PERL Spreadsheet::WriteExcel module.
- *
- * The author of the Spreadsheet::WriteExcel module is John McNamara
- * <jmcnamara@cpan.org>
- *
- * I _DO_ maintain this code, and John McNamara has nothing to do with the
- * porting of this code to PHP. Any questions directly related to this
- * class library should be directed to me.
- *
- * License Information:
- *
- * Spreadsheet_Excel_Writer: A library for generating Excel Spreadsheets
- * Copyright (c) 2002-2003 Xavier Noguer xnoguer@rezebra.com
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
- //require_once(api_get_path(LIBRARY_PATH).'pear/PEAR.php');
- require_once 'Writer/Workbook.php';
- /**
- * Class for writing Excel Spreadsheets. This class should change COMPLETELY.
- *
- * @author Xavier Noguer <xnoguer@rezebra.com>
- * @category FileFormats
- * @package Spreadsheet_Excel_Writer
- */
- class Spreadsheet_Excel_Writer extends Spreadsheet_Excel_Writer_Workbook
- {
- /**
- * The constructor. It just creates a Workbook
- *
- * @param string $filename The optional filename for the Workbook.
- * @return Spreadsheet_Excel_Writer_Workbook The Workbook created
- */
- function Spreadsheet_Excel_Writer($filename = '')
- {
- $this->_filename = $filename;
- $this->Spreadsheet_Excel_Writer_Workbook($filename);
- }
- /**
- * Send HTTP headers for the Excel file.
- *
- * @param string $filename The filename to use for HTTP headers
- * @access public
- */
- function send($filename)
- {
- header("Content-type: application/vnd.ms-excel");
- header("Content-Disposition: attachment; filename=\"$filename\"");
- header("Expires: 0");
- header("Cache-Control: must-revalidate, post-check=0,pre-check=0");
- 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;
- }
- }
- ?>
|