Thinkphp3.2 PHPexecl 导出 代码案例

1、下载phpexecl 放入到tp里边。

路径如下:项目根目录\ThinkPHP\Library\Org\Util

Thinkphp3.2 PHPexecl 导出

 

2 、PHP 代码部分

封装一个方法

  1. private  function getExcel($fileName,$headArr,$data){
  2. //导入PHPExcel类库,因为PHPExcel没有用命名空间,只能inport导入
  3.         import("Org.Util.PHPExcel");
  4.         import("Org.Util.PHPExcel.Writer.Excel5");
  5.         import("Org.Util.PHPExcel.IOFactory.php");
  6. $date = date("Y_m_d",time());
  7. $fileName .= "_{$date}.xls";
  8. //创建PHPExcel对象,注意,不能少了\
  9. $objPHPExcel = new \PHPExcel();
  10. $objProps = $objPHPExcel->getProperties();
  11. //设置表头
  12. $key = ord("A");
  13. //print_r($headArr);exit;
  14. foreach($headArr as $v){
  15. $colum = chr($key);
  16. $objPHPExcel->setActiveSheetIndex(0) ->setCellValue($colum.'1', $v);
  17. $objPHPExcel->setActiveSheetIndex(0) ->setCellValue($colum.'1', $v);
  18. $key += 1;
  19.         }
  20. $column = 2;
  21. $objActSheet = $objPHPExcel->getActiveSheet();
  22. //print_r($data);exit;
  23. foreach($data as $key => $rows){ //行写入
  24. $span = ord("A");
  25. foreach($rows as $keyName=>$value){// 列写入
  26. $j = chr($span);
  27. $objActSheet->setCellValue($j.$column$value);
  28. $span++;
  29.             }
  30. $column++;
  31.         }
  32. $fileName = iconv("utf-8""gb2312"$fileName);
  33. //重命名表
  34. //$objPHPExcel->getActiveSheet()->setTitle('test');
  35. //设置活动单指数到第一个表,所以Excel打开这是第一个表
  36. $objPHPExcel->setActiveSheetIndex(0);
  37.         ob_end_clean();//清除缓冲区,避免乱码
  38.         header('Content-Type: application/vnd.ms-excel');
  39.         header("Content-Disposition: attachment;filename=\"$fileName\"");
  40.         header('Cache-Control: max-age=0');
  41. $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
  42. $objWriter->save('php://output'); //文件通过浏览器下载
  43. exit;
  44.     }

 

数据导出方法

  1. public function index(){
  2.     $user=M('table');
  3.     $data=$user->select();
  4.     foreach ($data as $key => $value) {
  5.         $data[$key][id]=$value['id'];
  6.         $data[$key][name]=$value['name'];
  7.         $data[$key][sex]=$value['sex'];
  8.         $data[$key][content]=$value['content'];
  9.     }
  10.     foreach ($data as $filed => $value) {
  11.        if($filed== 'id'){$headArr[]='序号';}
  12.        if($filed== 'name'){$headArr[]='名字';}
  13.        if($filed== 'sex'){$headArr[]='性别';}
  14.        if($filed== 'content'){$headArr[]='备注';}
  15.    }
  16.    $filename="测试";  //文件名字
  17.    $this->getExcel($filename,$headArr,$data);
  18.     }

 

3、直接访问index方法 就ok了!

    A+
发布日期:2017年05月08日 16:35:15  所属分类:ThinkPHP框架
最后更新时间:2017-07-07 15:31:29
评分: (当前没有评级)
标签:
付杰
《Java从小白到大牛》第5篇:项目实战 Java版QQ
  • ¥ 159.0元
  • 市场价:599.0元
Python爬虫教程:零基础上手Scrapy分布爬虫
  • ¥ 388.0元
  • 市场价:388.0元
iOS应用开发指南第13季:苹果地图应用
  • ¥ 79.0元
  • 市场价:99.0元
iOS应用开发指南第4季:表视图
  • ¥ 89.0元
  • 市场价:129.0元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:1   其中:访客  0   博主  0

  1. 头像 素材火 0

    挺好的,我也做过,殊途同归