logo
当前位置:首 页 > 编程技术 >后端开发 >PHP语言 > 查看文章

phpexcel 导出报表

PHP语言, 后端开发, 编程技术 你是第1625个围观者 0条评论 供稿者: 标签:,

phpexcel导出报表的功能简单示例:

<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
date_default_timezone_set('PRC');
 
include './Classes/PHPExcel.php';
$excel = new PHPExcel();
$letter = array('A','B','C','D','E','F','F','G');
//表头数组
$tableheader = array('学号','姓名','性别','年龄','班级');
//填充表头信息
for($i = 0;$i < count($tableheader);$i++) {
    $excel->getActiveSheet()->setCellValue("$letter[$i]1","$tableheader[$i]");
}
//表格数组
$data = array(
    array('1','小王','男','20','100'),
    array('2','小李','男','20','101'),
    array('3','小张','女','20','102'),
    array('4','小赵','女','20','103')
);
 
//填充表格信息
for ($i = 2;$i <= count($data) + 1;$i++) {
    $j = 0;
    foreach ($data[$i - 2] as $key=>$value) {
        $excel->getActiveSheet()->setCellValue("$letter[$j]$i","$value");
        //添加判断设置表格的背景色
        if($key == 1){
                    if($value== '小李'){
                        $excel->getActiveSheet()->getStyle( "$letter[$j]$i")->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID);//getStyle()里面使用变量时,要用双引号,否则整体$letter[$j]$i会作为一个字符串存在
                        $excel->getActiveSheet()->getStyle( "$letter[$j]$i")->getFill()->getStartColor()->setRGB('87d3ff');
                    }else{
                        $excel->getActiveSheet()->getStyle( "$letter[$j]$i")->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID);
                        $excel->getActiveSheet()->getStyle( "$letter[$j]$i")->getFill()->getStartColor()->setRGB('FF6839');
                    }
                }
 
        $j++;
    }
}
//创建Excel输入对象
$write = new PHPExcel_Writer_Excel5($excel);
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="testdata.xls"');
header("Content-Transfer-Encoding:binary");
$write->save('php://output');

 

需要合并单元格:

$excel->getActiveSheet()->setCellValue('A1', 'www.ziaostudio.com');//先写入内容再合并单元格,否则报错
$excel->getActiveSheet()->mergeCells('A1:E1');//合并A1-E1之间的单元格

 

 

 

 

 

 

 

说说梦想,谈谈感悟 ,聊聊技术,有啥要说的来github留言吧 https://github.com/cjx2328

—— 陈 建鑫

陈建鑫
你可能也喜欢Related Posts
footer logo
未经许可请勿自行使用、转载、修改、复制、发行、出售、发表或以其它方式利用本网站之内容。站长联系:cjx2328#126.com(修改#为@)
Copyright ©ziao Studio All Rights Reserved. E-mail:cjx2328#126.com(#号改成@) 沪ICP备14052271号-3