thinkphp5 composer安裝phpexcel插件及使用


1:

首先composer加載phpexcel插件

composer require phpoffice/phpexcel

2:

頁面引入

use PHPExcel_IOFactory;
use PHPExcel;

3:數據模型提取數據

<?php

namespace app\admin\model;

use think\Model;

class IndexMdoel extends Model
{
    //連接數據庫表名
    protected $table='addgood';
//   定義靜態方法
    public static function listData(){
//
        return self::order('id', 'desc')->select();
    }
}

4:控制器定義方法

<?php

namespace app\admin\controller;

use app\admin\model\IndexMdoel;
//1 頁面引入
use PHPExcel_IOFactory;
use PHPExcel;
class Index
{
    public function exl()
    {
//       2 連接數據庫進行查找數據
       $list=IndexMdoel::listData();
        //3.實例化PHPExcel類
        $objPHPExcel = new \PHPExcel();
        //4.激活當前的sheet表
        $objPHPExcel->setActiveSheetIndex(0);
        //5.設置表格頭(即excel表格的第一行)
        $objPHPExcel->setActiveSheetIndex(0)
            ->setCellValue('A1', 'ID')
            ->setCellValue('B1', '商品名稱')
            ->setCellValue('C1', '商品庫存')
            ->setCellValue('D1', '商品價格');
        //設置B列水平居中
        $objPHPExcel->setActiveSheetIndex(0)->getStyle('B')->getAlignment()
            ->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
        //設置單元格寬度
        $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('E')->setWidth(15);
        $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('F')->setWidth(30);
        //6.循環剛取出來的數組,將數據逐一添加到excel表格。
        for($i=0;$i<count($list);$i++){
            $objPHPExcel->getActiveSheet()->setCellValue('A'.($i+2),$list[$i]['id']);//添加ID
            $objPHPExcel->getActiveSheet()->setCellValue('B'.($i+2),$list[$i]['goodName']);//添加用戶名
            $objPHPExcel->getActiveSheet()->setCellValue('C'.($i+2),$list[$i]['number']);//添加手機號碼
            $objPHPExcel->getActiveSheet()->setCellValue('D'.($i+2),$list[$i]['price']);//添加創建時間
        }
        //7.設置保存的Excel表格名稱
        $filename = '管理員'.date('ymd',time()).'.xls';
        //8.設置當前激活的sheet表格名稱;
        $objPHPExcel->getActiveSheet()->setTitle('管理員列表');
        //9.設置瀏覽器窗口下載表格
        header("Content-Type: application/force-download");
        header("Content-Type: application/octet-stream");
        header("Content-Type: application/download");
        header('Content-Disposition:inline;filename="'.$filename.'"');
        //生成excel文件
        $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
        //下載文件在瀏覽器窗口
        $objWriter->save('php://output');
        exit;
    }
}

5:如果復制以上代碼,需修改以下代碼,改動3處即可

1:

 

2:表的列名

 

 

3:

6:瀏覽器訪問方法,會報以下錯誤

 

 7:修改配置:

 

 原來代碼

 

 修改代碼:

 

 頁面刷新,即可導入成功

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM