PHP Classes

File: vendor/jackbooted/3rdparty/PHPExcelCreator/Writer.php

Recommend this page to a friend!
  Classes of Brett Dutton   JackBooted PHP Framework   vendor/jackbooted/3rdparty/PHPExcelCreator/Writer.php   Download  
File: vendor/jackbooted/3rdparty/PHPExcelCreator/Writer.php
Role: Class source
Content type: text/plain
Description: Class source
Class: JackBooted PHP Framework
Web application framework using simplified MVC
Author: By
Last change:
Date: 8 years ago
Size: 3,322 bytes
 

Contents

Class file image Download
<?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 'PEAR.php';
require_once dirname ( __FILE__ ) . '/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;
    }
}