首页 > Web开发 > 详细

thinkphp5集成phpexcel的导出方法

时间:2020-03-13 10:22:29      阅读:88      评论:0      收藏:0      [点我收藏+]

之前用过很多次 后来折腾了好久 这次记录下来

1 下载phpexcel 在这里直接下

https://github.com/PHPOffice/PHPExcel

 

2 下载后 解压

在thinkphp的vendor目录新建文件夹  phpexcel 然后把解压后的classes里面的文件 拷贝到phpexcel里面

效果如图

技术分享图片

 

3 如果使用

封装了一个导出函数

    /**
     * 直接导出需要生产的内容
     * @param $field
     * @param $list
     * @param string $title
     * @throws \PHPExcel_Exception
     * @throws \PHPExcel_Writer_Exception
     */
    public function phpExcelList($field, $list, $filename=文件)
    {
        vendor("PHPExcel.PHPExcel");
        $objPHPExcel = new \PHPExcel();
        $objWriter = new \PHPExcel_Writer_Excel5($objPHPExcel); //设置保存版本格式
        foreach ($list as $key => $value) {
            foreach ($field as $k => $v) {
                if ($key == 0) {
                    $objPHPExcel->getActiveSheet()->setCellValue($k . 1, $v[1]);
                }
                $i = $key + 2; //表格是从2开始的
                $objPHPExcel->getActiveSheet()->setCellValue($k . $i, $value[$v[0]]);
            }
        }
        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=.$filename..xls);
        header("Content-Transfer-Encoding:binary");
        $objWriter->save(php://output);
    }
    

4 怎样调用

 //导出
    public function Output()
    {
        $data=array(
            0=>array(id=>1,serial_number=>123,batch=>1),
            1=>array(id=>2,serial_number=>124,batch=>2),
            2=>array(id=>3,serial_number=>125,batch=>3),
        );
        $filename=序列号;
        $field = array(
            A => array(id, 序号),
            B => array(serial_number, 序列号),
            C => array(batch, 批次),
        );
        //$this->downloadExcel($data,$title,$filename);
        $this->phpExcelList($field,$data,$filename);
            
         
    }

如果想继续追加  那么$field请C后面写D 这样  这个是excel里面的列明  $data里面的数据类似

5 效果如图

技术分享图片

 

thinkphp5集成phpexcel的导出方法

原文:https://www.cnblogs.com/baker95935/p/12484230.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!