How to PHP export to Excel

How to PHP export to Excel

export.php


<?php
require 'php-excel.class.php';
$xls = new Excel('Sheet1');
$xls->worksheets['Sheet']->addRow(array("col1","
col2","col3"));
$xls->addsheet('
Sheet2');
$xls->worksheets['
Sheet2']->addRow(array("col1a","col2a","col3a"));
$xls->generate('export');
?>


php-excel.class.php

<?php
class WorkSheet
{
    private $lines = array();
    public $sWorksheetTitle;
    public function __construct($sWorksheetTitle)
    {
        $this->setWorksheetTitle($sWorksheetTitle);
    }
    public function setWorksheetTitle ($title)
    {
        $title = preg_replace ("/[\\\¦:¦\/¦\?¦\*¦\[¦\]]/", "", $title);
        $title = substr ($title, 0, 31);
        $this->sWorksheetTitle = $title;
    }
    public function addRow ($array)
    {
        $cells = "";
        foreach ($array as $k => $v){
                $type = 'String';
                $v = htmlentities($v, ENT_COMPAT, "UTF-8");
                $cells .= "<Cell><Data ss:Type=\"$type\">" . $v . "</Data></Cell>\n";
        }
        $this->lines[] = "<Row>\n" . $cells . "</Row>\n";
    }
    public function printline()
    {
        foreach ($this->lines as $line)
        {
            echo $line;
        }
    }
}
class Excel
{
    public $worksheets = array();
    public function __construct($sWorksheetTitle)
    {
        $this->addsheet($sWorksheetTitle);
    }
    public function addsheet($title)
    {
        $this->worksheets[$title] = new WorkSheet($title);
    }
    public function generate ($filename = 'excel-export')
    {
        $filename = preg_replace('/[^aA-zZ0-9\_\-]/', '', $filename);
        header("Content-Type: application/vnd.ms-excel; charset=UTF-8");
        header("Content-Disposition: inline; filename=\"" . $filename . ".xls\"");
        echo stripslashes("<?xml version=\"1.0\" encoding=\"UTF-8\"?\>\n<Workbook xmlns=\"urn:schemas-microsoft-com:office:spreadsheet\" xmlns:x=\"urn:schemas-microsoft-com:office:excel\" xmlns:ss=\"urn:schemas-microsoft-com:office:spreadsheet\" xmlns:html=\"http://www.w3.org/TR/REC-html40\">");
        foreach ($this->worksheets as $worksheet)
        {
            echo "\n<Worksheet ss:Name=\"" . $worksheet->sWorksheetTitle . "\">\n<Table>\n";
            $worksheet->printline();
            echo "</Table>\n</Worksheet>\n";
        }
        echo "</Workbook>";
    }
}
?>


source from: http://leo108.com/pid-1464.asp

留言

這個網誌中的熱門文章

How to PHP export to Excel 2

html viewport meta