Heim  >  Artikel  >  php教程  >  ThinkPHP导出CSV、Excel

ThinkPHP导出CSV、Excel

WBOY
WBOYOriginal
2016-06-07 11:34:511413Durchsuche

实际运用中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元

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP加载大图片优化方案Nächster Artikel:ThinkPHP跨模块调用模板