php导出csv报表

来源:互联网 发布:原田知世 斋藤工 编辑:程序博客网 时间:2024/06/05 16:41

实际工作中,报表导出功能很常见,导出格式常见分为excel格式和csv格式.如果报表数据量非常大,那么excel就表现不足,excel2003版只有65536行,excel2007开始上升到1048576行.但是大数据量依然不够.这时,csv就体现出它的优越性,没有限制行.导出功能也更加简单,下面为大家介绍csv导出功能的实现.

csv导出分为3个步骤:

1.数据库取出数据,存放在二维数组中


//1.数据库取出数据$conn=new mysqli('localhost','root','root','myDBPDO');$result=$conn->query('select * from emp');$emps=array();while($row=$result->fetch_assoc()){    static $i=0;    $emps[$i] = $row;    $i++;}

2.输出csv数据(表头及内容)

//设置内存占用set_time_limit(0);ini_set('memory_limit', '512M');//为fputcsv()函数打开文件句柄$output = fopen('php://output', 'w') or die("can't open php://output");//告诉浏览器这个是一个csv文件$filename = "员工信息表" . date('Y-m-d', time());header("Content-Type: application/csv");header("Content-Disposition: attachment; filename=$filename.csv");//输出表头$table_head = array('id','姓名','年龄', '薪水');fputcsv($output, $table_head);//输出每一行数据到文件中foreach ($emps as $e) {//    unset($e['xx']);//若有多余字段可以使用unset去掉//    $e['xx'] = isset($e['xxx']) ? "xx" : 'x'; //可以根据需要做相应处理    //输出内容    fputcsv($output, array_values($e));}
3.关闭句柄

<span style="font-size:14px;">//关闭文件句柄fclose($output) or die("can't close php://output");exit;</span>
到这里,我们就成功实现了csv报表导出功能.




0 0
原创粉丝点击