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');
    }

}

效果如下:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章