【原】PHPExcel导出Excel

1.引入相关公共库PHPExcel

2.编写公共函数

 public function exportExcel($excelTitle,$data,$filename='',$column_width=''){
        ini_set('max_execution_time', '0');
        header("Content-Type:application/force-download");
        header("Content-Type:application/vnd.ms-execl");
        header("Content-Type:application/download");
        $filename=str_replace('.xls', '', $filename).'.xls';
        header('Content-Disposition: attachment;filename='.$filename);
        Vendor('PHPExcel.PHPExcel');
        $phpexcel = new PHPExcel();
        $phpexcel->getActiveSheet()->setTitle('Sheet1');

        $key = 0;  //设置表头
        foreach($excelTitle as $v){
            $colum = PHPExcel_Cell::stringFromColumnIndex($key);
            $phpexcel->setActiveSheetIndex(0) ->setCellValue($colum.'1', $v);
            $key += 1;
        }
        $column = 2;
        $objActSheet = $phpexcel->getActiveSheet();

        foreach($data as $key => $rows){ //行写入
            $span = 0;
            foreach($rows as $keyName=>$value){// 列写入
                $j = PHPExcel_Cell::stringFromColumnIndex($span);
                $objActSheet->setCellValue($j.$column, $value);
                $span++;
            }
            $column++;
        }

        //设置字体格式及大小
        $phpexcel->getDefaultStyle()->getFont()->setName( '微软雅黑');
        $phpexcel->getDefaultStyle()->getFont()->setSize(10);

        //第一行设置填充的样式和背景色
        $currentColumn = 'A';
        for ($i = 1; $i <= count($excelTitle); $i++) {
            $a[] = $currentColumn++;
        }
        $last = $a[(count($a) -1)]."1";
        $phpexcel->getActiveSheet()->getStyle( "A1:$last")->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
        $phpexcel->getActiveSheet()->getStyle( "A1:$last")->getFill()->getStartColor()->setARGB('#458B00');

        //设置单元格内容居左显示
        //$phpexcel->getActiveSheet()->getStyle('A')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY);
        $phpexcel->getDefaultStyle()->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY);
        $phpexcel->getDefaultStyle()->getAlignment()->setVertical(PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY);

        //设置列宽度
        if(!empty($column_width)){
            foreach($column_width as $key => $value){
                $phpexcel->getActiveSheet()->getColumnDimension($key)->setWidth($value);
            }
        }

        $objwriter = PHPExcel_IOFactory::createWriter($phpexcel, 'Excel5');
        $objwriter->save('php://output');
        exit;
    }

3.调用公共函数即可

$excelTitle = array("提测单名称","BUG统计周期","BUG_TOTAL","ASSIGNED","REOPENED","RESOLVED","VERIFIED","CLOSED");
foreach ($retSearchStatusList as $excelExport){
    $excelExports['A'] = $excelExport['A'];
    $excelExports['B'] = $dateFrom."".$dateTo;
    $excelExports['C'] = $excelExport['C'];
    $excelExports['D'] = $excelExport['D'];
    $excelExports['E'] = $excelExport['E'];
    $excelExports['F'] = $excelExport['F'];
    $excelExports['G'] = $excelExport['G'];
    $excelExports['H'] = $excelExport['H'];
    $list[] = $excelExports;
}
$filename = "文件名称-".date('Y-m-d H-i-s');
$column_width = array("A"=>50,"B"=>38);
$exportExcel = $excelUtil->exportExcel($excelTitle,$list,$filename,$column_width);
原文地址:https://www.cnblogs.com/HYanqing/p/9150613.html