美文网首页
PHP通过PHPExcel导出表格

PHP通过PHPExcel导出表格

作者: yzw12138 | 来源:发表于2018-04-25 23:22 被阅读0次

1、下载PHPExcel类库,引入项目中。
2、创建一个新的controller,引入PHPExcel文件

require_once APPPATH . 'libraries/PHPExcel.php'; 
require_once APPPATH . 'libraries/PHPExcel/Writer/Excel2007.php'; 

3、创建一个新的PHPExcel对象

$objPHPExcel = new PHPExcel();

4、向表格中添加数据

// 添加单条数据
$objPHPExcel->getActiveSheet()->setCellValue('A' . ($i + 1), '姓名');

// 循环添加数据
// 由于表格横向是A、B、C......进行排序的,所以无法直接循环进行添加数据,
// 因此利用PHP的chr函数将A、B、C......等英文字母转成ASCII码进行循环添加
// 横向添加表头
for ($i = 67; $i < (count($items) + 67); $i++)
{
    if ($i > 90)
    {
        $objPHPExcel->getActiveSheet()->setCellValue('A' . chr($i-25) . '1', $items[$i-66]['title']);
    }
    else
    {
        $objPHPExcel->getActiveSheet()->setCellValue(chr($i) . '1', $items[$i - 67]['title']);
    }
}
// 纵向添加数据
for($i = 0; $i < count($appraise_list); $i++)
{
    if ($i == 0)
    {
        $objPHPExcel->getActiveSheet()->setCellValue('A' . ($i + 1), '姓名');
        $objPHPExcel->getActiveSheet()->setCellValue('B' . ($i + 1), '学号');  
        $objPHPExcel->getActiveSheet()->setCellValue(chr(count($items) + 67) . ($i + 1), '评分');            
    }
    $objPHPExcel->getActiveSheet()->setCellValue('A' . ($i + 2), $appraise_list[$i]['full_name']);
    $objPHPExcel->getActiveSheet()->setCellValue('B' . ($i + 2), $appraise_list[$i]['student_no']);
    if (isset($score_map[$appraise_list[$i]['team_id']]))
    {
        $objPHPExcel->getActiveSheet()->setCellValue(chr(count($items) + 67) . ($i + 2), $score_map[$appraise_list[$i]['team_id']]);
    }
    else
    {
        $objPHPExcel->getActiveSheet()->setCellValue(chr(count($items) + 67) . ($i + 2), '尚无评分');                
    }
    for ($j = 67; $j < (count($items) + 67); $j++)
    {
        if (isset($score_map[$appraise_list[$i]['team_id'] . $items[$j - 67]['id']]))
        {
            $objPHPExcel->getActiveSheet()->setCellValue(chr($j) . ($i + 2), $score_map[$appraise_list[$i]['team_id'] . $items[$j - 67]['id']]);                  
        }
        else
        {
            $objPHPExcel->getActiveSheet()->setCellValue(chr($j) . ($i + 2), '-');
        }
    }
}

5、设置导出表格的格式

// 设置居中
$objPHPExcel->getActiveSheet()->getStyle('A1:' . chr(count($items) + 67) . (count($appraise_list) + 1))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
// 所有垂直居中
 $objPHPExcel->getActiveSheet()->getStyle('A1:' . chr(count($items) + 67) . (count($appraise_list) + 1))->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
// 合并单元格
 $PHPExcel->getActiveSheet()->mergeCells('A1:A3');

6、最后导出表格样式


image.png

相关文章

  • PHP通过PHPExcel导出表格

    1、下载PHPExcel类库,引入项目中。2、创建一个新的controller,引入PHPExcel文件 3、创建...

  • phpExcel表格导出

    首先下载phpExcel类,

  • PHPexcel溢出

    使用PHPExcel导出文件,会出现由于文件体积问题导致PHP内存溢出,需要对PHPExcel的参数优化。文件过大...

  • Excel文件导入||导出

    Excel文件导出 $excel = new \PHPExcel(); //Excel表格式,这里简略写了8列...

  • 原生PHP导出excel文件

    一直以为PHP导出excel需要用PhpSpreadsheet或者PHPExcel这类插件,但其实原生PHP也可以...

  • 2018-07-20

    PHPExcel读取表格 先引入类IOFactory.php 加载测试文件 $inputFileType = PH...

  • 2022-03-12 excel导入导出1

    PHPExcel已经不再维护所以php中excel导入导出,建议使用PhpSpreadsheet。 1. 安装 使...

  • PHP 使用PHPExcel实现文件导入与导出功能

    PHPExcel文件导入导出常用方法1、PHP文件导入上传文件页面样式HTML代码 PHP代码文件上传与导入 使用...

  • PHP操作Excel

    本次主要讲解PHP通过PHPExcel来操作excel,主要针对的人群是PHP新手或者急需要使用PHPExcel来...

  • PHP简单导出excel

    php涉及导出excel功能,一般都会想起phpExcel这个开源扩展。但是大多数情况对导出的数据没有要求那么高,...

网友评论

      本文标题:PHP通过PHPExcel导出表格

      本文链接:https://www.haomeiwen.com/subject/csrikftx.html