thinkphp5引入PHPexcel

其实很简单难的就是后面的路很漫长慢慢琢磨
网盘地址:链接: https://pan.baidu.com/s/1jj4G_y7sBLg76L7ZZDDnaA 提取码: jfj9 复制这段内容后打开百度网盘手机App,操作更方便哦
1.官网下载PHPEXel
下载地址:https://github.com/PHPOffice/PHPExcel
下载后只要Classes,复制Classes到tp5的extend下,并改名为PHPExcel,如下图所示
在这里插入图片描述
2.直接使用
建立Excel控制器,如下图所示,内容如下所示(例如:我要导出admin表中的内容,代码如下),导出如下图二所示。
在这里插入图片描述
代码如下:


<?php
/**
 * Created by PhpStorm.
 * User: insist
 * Date: 2019/1/22
 * Time: 10:25
 */
/**
 * Created by PhpStorm.
 * User: insist
 * Date: 2018/12/4
 * Time: 16:31
 */
namespace app\index\controller;
use think\Controller;
class Excel extends Controller
{
    public function outExcelRecharge() {

        $data       = db('admin')->order('id desc')->select();

        $field = array(
            'A' => array('id', '唯一标识符'),
            'B' => array('username', '账号'),
            'C' => array('name', '姓名'),
            'D' => array('phone', '电话'),
            'E' => array('time', '注册时间'),
        );
        $this->phpExcelList($field, $data, '后台用户_' . date('Y-m-d'));
    }

    /**
     * 直接导出需要生产的内容
     * @param $field
     * @param $list
     * @param string $title
     * @throws \PHPExcel_Exception
     * @throws \PHPExcel_Writer_Exception
     */
    public function phpExcelList($field, $list, $title='文件')
    {
        import('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='.$title.'.xls');
        header("Content-Transfer-Encoding:binary");
        $objWriter->save('php://output');
    }

}

效果如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_28761593/article/details/86673665