adding some strings
[moodle-linuxchix.git] / lib / pear / Spreadsheet / Excel / Writer.php
blobd62e9cf86592247aeeeda472c47fcc2051639ea3
1 <?php
2 /*
3 * Module written/ported by Xavier Noguer <xnoguer@rezebra.com>
5 * PERL Spreadsheet::WriteExcel module.
7 * The author of the Spreadsheet::WriteExcel module is John McNamara
8 * <jmcnamara@cpan.org>
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.
14 * License Information:
16 * Spreadsheet_Excel_Writer: A library for generating Excel Spreadsheets
17 * Copyright (c) 2002-2003 Xavier Noguer xnoguer@rezebra.com
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.
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.
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
34 require_once 'PEAR.php';
35 require_once 'Spreadsheet/Excel/Writer/Workbook.php';
37 /**
38 * Class for writing Excel Spreadsheets. This class should change COMPLETELY.
40 * @author Xavier Noguer <xnoguer@rezebra.com>
41 * @category FileFormats
42 * @package Spreadsheet_Excel_Writer
45 class Spreadsheet_Excel_Writer extends Spreadsheet_Excel_Writer_Workbook
47 /**
48 * The constructor. It just creates a Workbook
50 * @param string $filename The optional filename for the Workbook.
51 * @return Spreadsheet_Excel_Writer_Workbook The Workbook created
53 function Spreadsheet_Excel_Writer($filename = '')
55 $this->_filename = $filename;
56 $this->Spreadsheet_Excel_Writer_Workbook($filename);
59 /**
60 * Send HTTP headers for the Excel file.
62 * @param string $filename The filename to use for HTTP headers
63 * @access public
65 function send($filename)
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");
74 /**
75 * Utility function for writing formulas
76 * Converts a cell's coordinates to the A1 format.
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
84 function rowcolToCell($row, $col)
86 if ($col > 255) { //maximum column value exceeded
87 return new PEAR_Error("Maximum column value exceeded: $col");
90 $int = (int)($col / 26);
91 $frac = $col % 26;
92 $chr1 = '';
94 if ($int > 0) {
95 $chr1 = chr(ord('A') + $int - 1);
98 $chr2 = chr(ord('A') + $frac);
99 $row++;
101 return $chr1 . $chr2 . $row;