晓夏

北漂的女孩

Good Luck To You!

一个牛的不得PHP导入excel,不需要加载类

浏览量:412


<?php

/**

 * 生成excel文件操作

 *

 * @author wesley wu

 * @date 2015.5.7

 */

class Excel

{

     

    private $limit = 10000;

     

    public function download($data, $fileName)

    {

        $fileName = $this->_charset($fileName);

        header("Content-Type: application/vnd.ms-excel; charset=gbk");

        header("Content-Disposition: inline; filename=\"" . $fileName . ".xls\"");

        echo "<?xml version=\"1.0\" encoding=\"gbk\"?>\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\">";

        echo "\n<Worksheet ss:Name=\"" . $fileName . "\">\n<Table>\n";

        $guard = 0;

        foreach($data as $v)

        {

            $guard++;

            if($guard==$this->limit)

            {

                ob_flush();

                flush();

                $guard = 0;

            }

            echo $this->_addRow($this->_charset($v));

        }

        echo "</Table>\n</Worksheet>\n</Workbook>";

    }

     

    private function _addRow($row)

    {

        $cells = "";

        foreach ($row as $k => $v)

        {

            $cells .= "<Cell><Data ss:Type=\"String\">" . $v . "</Data></Cell>\n";

        }

        return "<Row>\n" . $cells . "</Row>\n";

    }

     

    private function _charset($data)

    {

        if(!$data)

        {

            return false;

        }

        if(is_array($data))

        {

            foreach($data as $k=>$v)

            {

                $data[$k] = $this->_charset($v);

            }

            return $data;

        }

        return iconv('utf-8', 'gbk', $data);

    }   

}

 

神回复

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。