PHPExcel导出生成超过26列及复杂表头样式

最近做项目遇到一个导出excel的需求,马上想到了PHPExcel插件,以前一直以为导出挺简单的,没想到这次遇到了那么坑!在此记录一下! 要导出的excel表格样式:基本上就这个样子吧,总共96列!具体代码贴上: $objPHPExcel = new \PHPExcel(); // 设置文档属性 $objPHPExcel->g...
摘要由CSDN通过智能技术生成

       最近做项目遇到一个导出excel的需求,马上想到了PHPExcel插件,以前一直以为导出挺简单的,没想到这次遇到了那么坑!在此记录一下!

       要导出的excel表格样式:

基本上就这个样子吧,总共96列!

具体代码贴上:

  $objPHPExcel = new \PHPExcel();

  // 设置文档属性
  $objPHPExcel->getProperties()->setCreator("zhuanli")
          ->setLastModifiedBy("zhuanli")
          ->setTitle("Office 2007 XLSX Test Document")
          ->setSubject("Office 2007 XLSX Test Document")
          ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
           ->setKeywords("office 2007 openxml php")
          ->setCategory("Test result file");

 //生成列名,A-Z  AA-AZ  BA-BZ  CA-CT
  $col_arr=range("A","Z");
  foreach (range("A","Z") as $val){
      array_push($col_arr,'A'.$val);
   }
   foreach (range("A","Z") as $val){
        array_push($col_arr,'B'.$val);
   }
   foreach (range("A","T") as $val){
        array_push($col_arr,'C'.$val);
   }

  // 字体和样式
  /**设置 二 SOOPAT链接获取信息*/
  $objPHPExcel->getActiveSheet()->getDefaultStyle()->getFont()->setSize(12);      //设置全局默认的字体大小
  $objPHPExcel->getActiveSheet()->getStyle('A1:A2')->getFont()->getColor()->setARGB('#FF0000'); //第二行【是否有结果】文字颜色
 $objPHPExcel->getActiveSheet()->getStyle('A1:A2')->getFont()->setBold(true);//设置【是否有结果】字体加粗

 /**这里是设置K2:S2单元格背景色  start*/
 $objPHPExcel->getActiveSheet()->getStyle('K2:S2')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
 $objPHPExcel->getActiveSheet()->getStyle('K2:S2')->getFill()->getStartColor()->setARGB('00FFC000');

 /**这里是设置K2:S2单元格背景色  end*/
 $objPHPExcel->getActiveSheet()->getStyle('K2')->getFont()->getColor()->setARGB('#FF0000'); //【是否有结果】文字颜色
 $objPHPExcel->getActiveSheet()->getStyle('K2')->getFont()->setBold(true);//设置字体加粗

  /**设置  三 百度信用网获取信息 */
 $objPHPExcel->getActiveSheet()->getStyle('T2:V2')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
 $objPHPExcel->getActiveSheet()->getStyle('T2:V2')->getFill()->getStartColor()->setARGB('00FFFF00');
 $objPHPExcel->getActiveSheet()->getStyle('T2')->getFont()->getColor()->setARGB('#FF0000'); //【是否有结果】文字颜色
 $objPHPExcel->getActiveSheet()->getStyle('T2')->getFont()->setBold(true);//设置字体加粗

 /**设置  四 SIPO网站信息摘录以及图片文字分析  和*/
$objPHPExcel->getActiveSheet()->getStyle('W2:AS2')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle('W2:AS2')->getFill()->getStartColor()->setARGB('0092D050');
$objPHPExcel->getActiveSheet()->getStyle('W2')->getFont()->getColor()->setARGB('#FF0000'); //【是否有结果】文字颜色
$objPHPExcel->getActiveSheet()->getStyle('Y2')->getFont()->getColor()->setARGB('#FF0000'); //【是否有结果】文字颜色
$objPHPExcel->getActiveSheet()->getStyle('Z2')->getFont()->getColor()->setARGB('#FF0000'); //【是否有结果】文字颜色
 $objPHPExcel->getActiveSheet()->getStyle('AN2')->getFont()->getColor()->setARGB('#FF0000'); //【是否有结果】文字颜色
 $objPHPExcel->getActiveSheet()->getStyle('AO2')->getFont()->getColor()->setARGB('#FF0000'); //【是否有结果】文字颜色
 $objPHPExcel->getActiveSheet()->getStyle('AP2')->getFont()->getColor()->setARGB('#FF0000'); //【是否有结果】文字颜色
 $objPHPExcel->getActiveSheet()->getStyle('AQ2')->getFont()->getColor()->setARGB('#FF0000'); //【是否有结果】文字颜色
 $objPHPExcel->getActiveSheet()->getStyle('AR2')->getFont()->getColor()->setARGB('#FF0000'); //【是否有结果】文字颜色
 $objPHPExcel->getActiveSheet()->getStyle('AS2')->getFont()->getColor()->setARGB('#FF0000'); //【是否有结果】文字颜色
 $objPHPExcel->getActiveSheet()->getStyle('W2')->getFont()->setBold(true);//设置字体加粗

 /**设置  五 搜索引擎搜索结果摘录(一)背景色   和*/
$objPHPExcel->getActiveSheet()->getStyle('AT2:BN2')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle('AT2:BN2')->getFill()->getStartColor()->setARGB('00FFFF00');
$objPHPExcel->getActiveSheet()->getStyle('BO2:BZ2')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle('BO2:BZ2')->getFill()->getStartColor()->setARGB('0092D050');
$objPHPExcel->getActiveSheet()->getStyle('CA2:CF2')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle('CA2:CF2')->getFill()->getStartColor()->setARGB('000070C0');
$objPHPExcel->getActiveSheet()->getStyle('AT2')->getFont()->getColor()->setARGB('#FF0000'); //【是否有结果】文字颜色
 $objPHPExcel->getActiveSheet()->getStyle('AT2')->getFont()->setBold(true);//设置字体加粗

 /**设置  五 搜索引擎搜索结果摘录(二)背景色   和*/
 $objPHPExcel->getActiveSheet()->getStyle('CG2:CR2')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
 $objPHPExcel->getActiveSheet()->getStyle('CG2:CR2')->getFill()->getStartColor()->setARGB('00FFC000');
$objPHPExcel->getActiveSheet()->getStyle('CG2')->getFont()->getColor()->setARGB('#FF0000'); //【是否有结果】文字颜色

 // 设置垂直居中
 $objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
  $objPHPExcel->getActiveSheet()->getStyle('B1')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
 $objPHPExcel->getActiveSheet()->getStyle('K1')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
   $objPHPExcel->getActiveSheet()->getStyle('T1')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
 $objPHPExcel->getActiveSheet()->getStyle('W1')->getAlignment()->setVertical(PHPExcel_Style_Align

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值