thinkphp excel导出

这篇博客介绍了如何在ThinkPHP框架中进行Excel数据导出。首先,需要下载PHPEXCEL包,并根据框架引入相关类库。接着,定义文件名、表头数组和数据数组,然后使用自定义的getExcel方法,设置表头和内容,最后通过HTTP响应将Excel文件输出给用户下载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

给大家复习下关键thinkphp excel导出的方法, 首先第一步先直接去下载个 PHPEXCEL包吧,然后就根据以下方法去掉调用下,具体如何引用每个框架引用不一样,按框架去引用。下面方法是公用的          

$fileName 是文件名如  $fileName=‘test’

$headArr是个数组如  $headArr=array(头一,头二,头三)

$data 是个数组 如

$data = array();
            /*循环出数据*/
            for($i=1;$i<9;$i++){
                /*基础数据*/
                $data[$i] = date('Y-m-d',$v['data']);//日期

            }

注意:头的位置要与值的位置对应不是会乱掉的

如头一对$data[0]的值哦,总的来说就是横向一一对应

/**
     * 表格导出方法
     * @param $fileName 文件名
     * @param $headArr  表格头
     * @param $data     表格内容
     */
    public  function getExcel($fileName,$headArr,$data){
        /*导入PHPExcel类库,因为PHPExcel没有用命名空间,只能inport导入*/
        import("Org.Util.PHPExcel");
        import("Org.Util.PHPExcel.Writer.Excel5");
        import("Org.Util.PHPExcel.IOFactory.php");

        /*表格名称加上后缀*/
        $fileName = "{$fileName}.xls";

        /*创建PHPExcel对象,注意,不能少了*/
        $objPHPExcel = new \PHPExcel();

        /*设置表头*/
        $key = ord("A");
        foreach($headArr as $v){
            $colum = chr($key);
            $objPHPExcel->setActiveSheetIndex(0) ->setCellValue($colum.'1', $v);
            $objPHPExcel->setActiveSheetIndex(0) ->setCellValue($colum.'1', $v);
            $key += 1;
        }

        $column = 2;
        $objActSheet = $objPHPExcel->getActiveSheet();

        foreach($data as $key => $rows){ //行写入
            $span = ord("A");
            foreach($rows as $keyName=>$value){// 列写入
                $j = chr($span);
                $objActSheet->setCellValue($j.$column, $value);
                $span++;
            }
            $column++;
        }

        //设置活动单指数到第一个表,所以Excel打开这是第一个表
        $objPHPExcel->setActiveSheetIndex(0);
        ob_end_clean();//清除缓冲区,避免乱码
        header('Content-Type: application/vnd.ms-excel;charset=UTF-8');
        header("Content-Disposition: attachment;filename={$fileName}");
        header('Cache-Control: max-age=0');
        $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
        $objWriter->save('php://output'); //文件通过浏览器下载
        exit;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值