thinkPHP+PHPExcel

来源:互联网 发布:软件质量管理书籍 编辑:程序博客网 时间:2024/05/18 02:31
    //导出列表    // 参数说明:    //startTime 开始日期    //endTime 终止日期    public function exportPaymentListInfoExcel(){        ini_set('memory_limit','512M');//设置php配置内存为512M        $data = D('Test')->queryListForExcel($_REQUEST);//查询导出表格        $startDate = $_REQUEST['startTime'];        $endDate = $_REQUEST['endTime'];        if($startDate == $endDate){            $date = '_'.$startDate;        }else{            $date = '_'.$startDate.'至'.$endDate;        }        $fileName = "记录{$date}.xls";//设置导出标题        $headArr = ['租户名称' , '缴费时间' , '开始日期' , '终止日期' , '应收金额' , '实收金额'];//设置导出表头        import("Org.Util.PHPExcel");        import("Org.Util.PHPExcel.Writer.Excel5");        import("Org.Util.PHPExcel.IOFactory.php");        import("Org.Util.PHPExcel.Cell.DataType");        $objPHPExcel = new \PHPExcel();//创建一个excel        $objActSheet = $objPHPExcel->getActiveSheet();// 设置sheet        $key = ord("A");        foreach ($headArr as $v) {//填入表头            $colum = chr($key);            $objActSheet->getColumnDimension($colum)->setWidth(15);            $objPHPExcel->setActiveSheetIndex(0)->setCellValue($colum . '1', $v);            $objActSheet->getStyle($colum . '1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);            $key += 1;        }        $column = 2;        foreach ($data as $key => $rows) {//填入列表内容            $span = ord("A");            $cols = 0;            foreach ($rows as $keyName => $value) {                if($cols == count($headArr))                    break;                $j = chr($span);                $objActSheet->setCellValueExplicit($j . $column, $value, \PHPExcel_Cell_DataType::TYPE_STRING);                $span++;                $cols ++;            }            $column++;        }        $fileName = iconv("utf-8", "gb2312//IGNORE", $fileName);        $objPHPExcel->setActiveSheetIndex(0);        ob_end_clean();        header('Content-Type: application/vnd.ms-excel');        header("Content-Disposition: attachment;filename=\"$fileName\"");        header('Cache-Control: max-age=0');        $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');        $objWriter->save('php://output');        exit;    }
原创粉丝点击