TP5利用PHPExcel插件实现Excel导出

//使用这个方法
$result是查询出来的数组。
$indexKey = array('CardT','zd','ls','sTime','num','price'); //excel表头内容
$header = array('CardT'=>'卡号','zd'=>'终端号','ls'=>'流水号','sTime'=>'刷卡时间','num'=>'票数','price'=>'单张票价');
$filename="订单".date('Y-m-d').rand(0,9999);
array_unshift($result,$header);
$this->toExcel($result,$filename,$indexKey,1,true);
//要调取的方法
 function toExcel($list,$filename,$indexKey,$startRow=1,$excel2007=false){
 //文件引入
//把下载下来的插件重新命名为PHPExcel,放在extend中
        require_once  '/extend/PHPExcel/PHPExcel/IOFactory.php';
        require_once  '/extend/PHPExcel/PHPExcel.php';
        require_once  '/extend/PHPExcel/PHPExcel/Writer/Excel2007.php';
        ob_end_clean(); if(empty($filename)) $filename = time(); if( !is_array($indexKey)) return false;
        $header_arr = array('A','B','C','D','E','F','G','H','I','J','K','L','M', 'N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
        //初始化PHPExcel()
        $objPHPExcel = new \PHPExcel();
        //设置保存版本格式
         if($excel2007){
             $objWriter = new \PHPExcel_Writer_Excel2007($objPHPExcel);
             $filename = $filename.'.xlsx';
         }else{
             $objWriter = new \PHPExcel_Writer_Excel5($objPHPExcel);
         }
         //接下来就是写数据到表格里面去
    $objActSheet = $objPHPExcel->getActiveSheet();
    $startRow = 1; foreach ($list as $row) { foreach ($indexKey as $key => $value){
        //这里是设置单元格的内容
    $objActSheet->setCellValue($header_arr[$key].$startRow,$row[$value]); } $startRow++; }
    // 下载这个表格,在浏览器输出
    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='.$filename.'');
    header("Content-Transfer-Encoding:binary");
    $objWriter->save('php://output');
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值