Home  >  Article  >  php教程  >  ThinkPHP导出CSV、Excel

ThinkPHP导出CSV、Excel

WBOY
WBOYOriginal
2016-06-07 11:34:511441browse

实际运用中EXCEL的导出比导入用的多,这里给大家分享一个导出CSV EXCEL导出,简单,方便。

首先我们在Thinkphp/Library/Think下新文件文件:Csv.class.php
<?php <br />     namespace Think;<br>     class Csv<br>     {<br>        //导出csv文件<br>        public function put_csv($list,$title){<br>        $file_name="CSV".date("mdHis",time()).".csv";<br>        header ( 'Content-Type: application/vnd.ms-excel' );<br>        header ( 'Content-Disposition: attachment;filename='.$file_name );<br>        header ( 'Cache-Control: max-age=0' );<br>        $file = fopen('php://output',"a");<br>        $limit=1000;<br>        $calc=0;<br>        foreach ($title as $v){<br>        $tit[]=iconv('UTF-8', 'GB2312//IGNORE',$v);<br>        }<br>        fputcsv($file,$tit);<br>        foreach ($list as $v){<br>        $calc++;<br>        if($limit==$calc){<br>        ob_flush();<br>        flush();<br>        $calc=0;<br>        }<br>        foreach ($v as $t){<br>        $tarr[]=iconv('UTF-8', 'GB2312//IGNORE',$t);<br>        }<br>        fputcsv($file,$tarr);<br>        unset($tarr);<br>        }<br>        unset($list);<br>        fclose($file);<br>        exit();<br>        }<br>     }<br>     ?>然后我们在导出的时候,在对应的控制器同步use一下。$csv=new Csv();<br>     $list=M("members")->field($field)->limit(10000)->select();//查询数据,可以进行处理<br>     $csv_title=array('用户ID','用户名','绑定邮箱','绑定手机','注册时间','注册IP');<br>     $csv->put_csv($list,$csv_title);然后定义字段名,就是第一行的名字,处理后的数组需要与之对应,我个人测试过导出的话这个比PHPEXCEL快很多。而且CSV是中间格式比直接导出excel好多了。

AD:真正免费,域名+虚机+企业邮箱=0元

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn