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

 

 原来代码

 

 修改代码:

 

 页面刷新,即可导入成功

 

posted @   王越666  阅读(351)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示