TP5 操作excel 导出
安装composer(window版本)
安装composer(MAC版本)
安装composer(Linux版本)
在PhpStorm配置
导出excel
1、使用composer安装phpoffice/phpexcel包
phpexcel资源
下载好之后,解压,再\php-excel\vendor\phpoffice目录下,不建议使用,因为这是通过composer下载的 ,对其他(比如:composer.json等,安装包也有这个,一套的)的文件有所关联
composer require phpoffice/phpexcel
2、公共代码(我放到API位置了,各自根据自己代码结构编写)
<?php
/*** 操作excel* 导入、导出* Created by PhpStorm.* Date: 2019/5/13* Time: 16:12*/
namespace app\api\controller;use think\Controller;
use think\Request;class Excel extends Controller
{/*** 导出* @param string $fileName* @param array $headArr* @param array $data* @throws \PHPExcel_Exception* @throws \PHPExcel_Reader_Exception* @throws \PHPExcel_Writer_Exception*/function excelExport($fileName = '', $headArr = [], $data = []) {$fileName .= "-" . date("YmdHi", Request::instance()->time()) . ".xls";$objPHPExcel = new \PHPExcel();$objPHPExcel->getProperties();$key = ord("A"); // 设置表头foreach ($headArr as $v) {$colum = chr($key);$objPHPExcel->setActiveSheetIndex(0)->setCellValue($colum . '1', $v);$objPHPExcel->setActiveSheetIndex(0)->setCellValue($colum . '1', $v);$key += 1;}$column = 2;$objActSheet = $objPHPExcel->getActiveSheet();foreach ($data as $key => $rows) { // 行写入$span = ord("A");foreach ($rows as $keyName => $value) { // 列写入$objActSheet->setCellValue(chr($span) . $column, $value);$span++;}$column++;}$fileName = iconv("utf-8", "gb2312", $fileName); // 重命名表$objPHPExcel->setActiveSheetIndex(0); // 设置活动单指数到第一个表,所以Excel打开这是第一个表header('Content-Type: application/vnd.ms-excel');header("Content-Disposition: attachment;filename=$fileName");header('Cache-Control: max-age=0');$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');$objWriter->save('php://output'); // 文件通过浏览器下载exit();}
}
3、控制层,处理数据调用
<?php
/*** 会员设置控制器* Created by PhpStorm.* Date: 2019/4/25* Time: 9:45*/namespace app\admin\controller;use app\api\controller\Excel;
use app\common\controller\Manage;
use think\Request;class MemberShip extends Manage
{private $memberShipM;/*** 预加载model* Category constructor.* @param Request|null $request*/public function __construct(Request $request = null){parent::__construct($request);$this->memberShipM = new \app\common\model\MemberShip();}/*** 导出会员列表*/public function exportMember(){$excel = new Excel();$name='会员';$header=['序号','会员名称','价格','购买人数'];$newdata = [];$data=$this->memberShipM->getList();foreach ($data as $key=>$value){$newdata[$key]['id'] = $value['id'];$newdata[$key]['name'] = $value['name'];$newdata[$key]['price'] = $value['price'];$newdata[$key]['buy_num'] = $value['buy_num'];}$excel->excelExport($name,$header,$newdata);}}
5、导出成功
TP5 操作excel 导出相关推荐
- Apache POI操作Excel导出JAVABEAN对象方法
2019独角兽企业重金招聘Python工程师标准>>> Apache POI操作Excel导出方法说明 Apache的POI组件是Java操作Microsoft Office办公套件 ...
- 基于 java 使用 POI 操作 excel 导出限制某些单元格可编辑和单元格下拉列表有效性
你知道的越多,你不知道的越多 点赞再看,养成习惯 源码分享在文末,点赞关注,解锁更多毕业设计项目 企鹅:869192208 如果您有疑问或者见解,欢迎指教: 需求: 只有允许录入数据的部分可以编辑,其 ...
- java操作excel导出数据
/*** 班级管理导出** @param params* @return*/@RequestMapping("/exportClassInfo")public String sea ...
- Java操作Excel并导出
Java导出Excel表格 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 Java导出Excel表格 前言 一.企业excel项目导出演示 二.使用步骤 1.引入Mave ...
- POI操作Excel实现导出
POI 仅作为个人学习使用,仅供参考,请勿拿做商用,否则本人有权追责. 1. 概述 POI是Apache推出的操作office格式的工具包,主要用于操作excel的读与写. excel分为03版和07 ...
- java excel导出2007_java操作excel文件,实现批量导出,和导入
一.POI的定义 JAVA中操作Excel的有两种比较主流的工具包: JXL 和 POI .jxl 只能操作Excel 95, 97, 2000也即以.xls为后缀的excel.而poi可以操作Exc ...
- hssfwork 导出excel 文件已损坏_C# NPOI 操作EXCEL文件的读取和导出
在实际项目中有很多场景遇到需要操作EXCEL文件,而常用到的库就有NPOI:NPOI是开源的POI 项目的.NET版,POI是一个开源的Java读写Excel.WORD等微软OLE2组件文档的项目, ...
- 基于ABP和Magicodes实现Excel导出操作
前端使用的vue-element-admin框架,后端使用ABP框架,Excel导出使用的Magicodes.IE.Excel.Abp库.Excel导入和导出操作几乎一样,不再介绍.文本主要介绍E ...
- Java操作poi导出Excel自定义字体颜色
Java操作poi导出Excel自定义字体颜色 功能介绍 POI操作Excel 第一步创建一个导出的工具类 整体定义表格字体样式 自定义表格字体样式 总结 功能介绍 Apache POI 是用Java ...
最新文章
- Pandas常用函数
- 直击KubeCon 2018 |云原生正在改变你的衣食住行
- 中国量化投资将呈现三大发展趋势
- 研究生的研究人员发展课程
- Windows phone 8 是新的起点吗?
- DataGradView操作之,列头右键菜单隐藏和显示字段功能
- 论文翻译:MichiGAN: Multi-Input-Conditioned Hair Image Generation for Portrait Editing
- windows下FreeImage编译
- iOS App 签名的原理 App 重签名(二)
- tolua unity 报错_Unity Editor + tolua 在 Linux 下的 runtime 问题
- SAP APO 取订单函数(取计划订单数据一)
- npm切换到百度镜像源
- 两点定标法_基于积分时间调整的红外焦平面阵列非均匀校正算法研究
- 路由器使用Caddy搭建Webdav服务
- SUS铝合金复合金属的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- 数据分析的心法、手法和利器
- 为什么千万不要小瞧月薪几千的女生
- home assistant用esphome添加温湿度传感器
- 开放式基金全景点评:净值全面攀升 关注老基金(ZZ)
- gitpush出现remote: Support for password authentication was removed on August 13, 2021.