ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

php excel导出

2019-03-26 14:52:49  阅读:398  来源: 互联网

标签:setCellValue objPHPExcel excel 导出 getStyle alpha php data getActiveSheet


/**
 * 导出节目单
 */
public function programExport_ExcelAction($data,$catid)
{
    require_once dirname(__FILE__) . '/PHPExcel.class.php';
    $sheetname = 'sheet1';
    $catname = $this->category_cache[$catid]['catname'];
    $savefile = $catname . "节目单";
    //设置表格头部
    $title = array('ID', '标题', '推荐','资源状态','栏目','版权上线时间','版权下线时间','版权到期时间','审核状态','发布人','更新时间'); //设置要导出excel的表头
    $objPHPExcel = new PHPExcel();
    //设置列头标题
    for ($i = 0; $i < count($title); $i++) {
        $alpha = chr(65 + $i);
        $objPHPExcel->getActiveSheet()->setCellValue($alpha.'1', $title[$i]);
        $objPHPExcel->getActiveSheet()->getColumnDimension($alpha)->setWidth(20);//设置列宽
        $objPHPExcel->getActiveSheet()->getStyle($alpha)->getAlignment()->setWrapText(true); //单元宽度自适应
        $objPHPExcel->getActiveSheet()->getStyle($alpha . '1')->getFont()->setName("Candara");  //设置字体
        $objPHPExcel->getActiveSheet()->getStyle($alpha . '1')->getFont()->setSize(12);  //设置大小
        $objPHPExcel->getActiveSheet()->getStyle($alpha . '1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_BLACK); //设置颜色
        $objPHPExcel->getActiveSheet()->getStyle($alpha . '1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //水平居中
        $objPHPExcel->getActiveSheet()->getStyle($alpha . '1')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER); //垂直居中
        $objPHPExcel->getActiveSheet()->getStyle($alpha . '1')->getFont()->setBold(true); //加粗
        $objPHPExcel->getActiveSheet()->getStyle($alpha.'1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);//设置颜色
        $objPHPExcel->getActiveSheet()->getStyle($alpha.'1')->getFill()->getStartColor()->setARGB('FF97BAE5');
        $objPHPExcel->getActiveSheet()->getStyle($alpha)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //水平居中
        $objPHPExcel->getActiveSheet()->getStyle($alpha)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER); //垂直居中
    }
    for($j = 0;$j<count($data);$j++){
        $z = $j + 2;
        $objPHPExcel->getActiveSheet()->setCellValue('A'.$z, $data[$j]['id']);
        $objPHPExcel->getActiveSheet()->setCellValue('B'.$z, $data[$j]['title']);
        //推荐
        $content_model = get_cache('content_model');
        $content_model = $content_model[$this->category_cache[$catid]['modelid']][fields];
        $tuijianarr = $content_model['shouyetuijian'][setting];//地区的设置
        $tuijianarr = string2array($tuijianarr);//把文本专为数组
        $tuijianarr = explode(chr(13), $tuijianarr[content]);//分割数组 分割条件是一行一个
        //分解数组
        $tuijian = string2array($data[$j]['shouyetuijian']);
        $shouyetuijian = '';
        foreach ($tuijianarr as $qt) {
            list($select_name, $select_value) = explode('|', $qt);
            if (in_array($select_value, $tuijian) && $select_value != -1) {
                $shouyetuijian .= ' '.$select_name;
            }
        }
        $objPHPExcel->getActiveSheet()->setCellValue('C'.$z,$shouyetuijian );
        //资源状态
        if($data[$j]['isonline'] == '0'){
            $isonline = '已上架';
        }else if($data[$j]['isonline'] == '1'){
            $isonline = '已下架';
        }else if($data[$j]['isonline'] == '3'){
            $isonline = '';
        }
        $objPHPExcel->getActiveSheet()->setCellValue('D'.$z, $isonline);
        $objPHPExcel->getActiveSheet()->setCellValue('E'.$z, $catname);
        //版权上线时间
        if($data[$j]['uponlinetime']){
            $uponlinetime = date('Y-m-d', $data[$j]['uponlinetime']);
        }else{
            $uponlinetime = '无';
        }
        $objPHPExcel->getActiveSheet()->setCellValue('F'.$z, $uponlinetime);
        //版权下线时间
        if($data[$j]['downonlinetime']){
            $downonlinetime = date('Y-m-d', $data[$j]['downonlinetime']);
        }else{
            $downonlinetime = '无';
        }
        $objPHPExcel->getActiveSheet()->setCellValue('G'.$z, $downonlinetime);
        //版权到期时间
        if($data[$j]['timeoff']){
            $timeoff = $data[$j]['timeoff'];
        }else{
            $timeoff = '无';
        }
        $objPHPExcel->getActiveSheet()->setCellValue('H'.$z, $timeoff);
        //审核状态
        if(!$data[$j]['aduitstate']){
            $aduitstate = '未审核';
        }else if($data[$j]['aduitstate'] == '1'){
            $aduitstate = '审核成功';
        }else if($data[$j]['aduitstate'] == '2'){
            $aduitstate = '待修改';
        }
        $objPHPExcel->getActiveSheet()->setCellValue('I'.$z, $aduitstate);
        $objPHPExcel->getActiveSheet()->setCellValue('J'.$z, $data[$j]['username']);
        $objPHPExcel->getActiveSheet()->setCellValue('K'.$z, date('Y-m-d', $data[$j]['time']));
    }

    $objPHPExcel->getActiveSheet()->setTitle($sheetname); //题目
    $objPHPExcel->setActiveSheetIndex(0); //设置当前的sheet
    header('Content-Type: application/vnd.ms-excel');
    header('Content-Disposition: attachment;filename="' . $savefile . '.xls"');//文件名称
    header('Cache-Control: max-age=0');
    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); //Excel5
    $objWriter->save('php://output');
}

标签:setCellValue,objPHPExcel,excel,导出,getStyle,alpha,php,data,getActiveSheet
来源: https://blog.csdn.net/weixin_35708475/article/details/88819670

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有