PHP文件导出-Excel和csv

来源:互联网 发布:淘宝裤子店 编辑:程序博客网 时间:2024/06/08 16:27

(一)phpexcel文件导出:

       步骤1,引入文件require APPPATH.'/libraries/PHPExcel.php';
       步骤2,   实例化PHPEXCEL对象 $objPHPExcel=new PHPExcel();

       步骤3,  设置表头     $column = array('A','B','C');   $line = array('词语','频次','词性');
                   //填充表头信息
                   for($i = 0;$i < count($tableheader_all);$i++) {
                       $objPHPExcel->getActiveSheet()->setCellValue("$letter[$i]1","$tableheader[$i]");

                       //上一行中"$letter[$i]1"表示第“1”行第“$i”列

                   }

        步骤4, 填充数据

                   for ($i = 2;$i <= count($data) + 1;$i++) {//因为内容是从第二行开始的,所以i=2表示从第二行开始填充数据
                       $j = 0;
                       foreach ($tmp as $key=>$val ){       
                           $objPHPExcel->getActiveSheet()->setCellValue("$letter[$j]$i",$data[$i-2][$val]); //数据是从第一条开始但是i的初值是2所以想从第一条开始应该是$data[$i-2]开始
                           $j++;
                       }
                   }

        步骤5,写进excel中并输出

                     $write = new PHPExcel_Writer_Excel5($objPHPExcel);

                     header("Pragma: public"); 
                     header("Expires: 0");       
                     header("Cache-Control:must-revalidate, post-check=0, pre-check=0");     
                     header("Content-Type:application/force-download");
                     header("Content-Type:application/vnd.ms-execl");    
                     header("Content-Type:application/octet-stream");
                     header("Content-Type:application/download");;    
                     header('Content-Disposition:attachment;filename="数据导出_词云图.xls"');
                     header("Content-Transfer-Encoding:binary");
                     $write->save('php://output');


(一)CSV文件导出:  

           csv文件导出最令人头疼的问题就是编码问题,现在分享一下我的经验

           首先看服务器是linux的还是windows的 如果是windows的服务器那么编码问题只能借助于mb_convert_encoding()或者是iconv两个函数相互转换中文编码

           如果服务器是linux的  那么很简单      utf-8: setlocale(LC_ALL, ‘en_US.UTF-8′); 简体中文:setlocale(LC_ALL, ‘zh_CN');

           下面来说csv导出步骤:

          

    $result = mysql_query("select * from student order by id asc");     $str = "姓名,性别,年龄\n";     $str = iconv('utf-8','gb2312',$str);     while($row=mysql_fetch_array($result)){         $name = iconv('utf-8','gb2312',$row['name']); //中文转码         $sex = iconv('utf-8','gb2312',$row['sex']);         $str .= $name.",".$sex.",".$row['age']."\n"//用引文逗号分开     }     $filename = date('Ymd').'.csv'//设置文件名     export_csv($filename,$str); //导出     要将数据导出到本地即下载,需要修改header信息,代码如下:
    function export_csv($filename,$data) {         header("Content-type:text/csv");         header("Content-Disposition:attachment;filename=".$filename);         header('Cache-Control:must-revalidate,post-check=0,pre-check=0');         header('Expires:0');         header('Pragma:public');         echo $data;     } 




0 0
原创粉丝点击