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:修改配置:
原来代码
修改代码:
页面刷新,即可导入成功
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现