1. 程式人生 > 其它 >thinkphp5 composer安裝phpexcel外掛及使用

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:修改配置:

原來程式碼

修改程式碼:

頁面重新整理,即可匯入成功