easyexcel php,easyexcel

easyExcel是阿里巴巴开源poi插件之一,当前最新版本1.1.2-beta5,poi版本3.17,因此,集成时老版本poi需要提升poi版本,或者做版本隔离。

c8d1de3a16c870c77004cac3366365e3.png

主要解决了poi框架使用复杂,sax解析模式不容易操作,数据量大起来容易OOM,解决了POI并发造成的报错(推荐学习:PHP视频教程)

主要解决方式:通过解压文件的方式加载,一行一行的加载,并且抛弃样式字体等不重要的数据,降低内存的占用

EasyExcel优势

注解式自定义操作。

输入输出简单,提供输入输出过程的接口

支持一定程度的单元格合并等灵活化操作

EasyExcel劣势

框架不成熟,1.1.0版本后提供灵活接口的只剩beta版本

依然存在一些bug

没有一套完整的api

ExcelUtil快速使用

maven引用(版本控制内若存在低版本POI,请升级版本和代码,官方POI版本3.17):

com.alibaba

easyexcel

1.1.2-beta5

实体类继承BaseRowModel ,对需要导出或者导入的字段增加@ExcelProperty注解,index值为对应excel中的列,value为表头,format为日期格式化public class PersonDto extends BaseRowModel{ /** id */

@ExcelProperty(index = 0 , value = "id") private String id; /** 姓名 **/

@ExcelProperty(index = 1 , value = "姓名") private String name; /** 生日 **/

@ExcelProperty(index = 2 , value = "生日" , format = "yyyy-MM-dd")

private String birth;

}

更多PHP相关技术文章,请访问PHP图文教程栏目进行学习!

要使用 PHPEasyExcel 库实现动态表头导出,可以按照以下步骤进行操作: 1. 安装 PHPEasyExcel 库,可以使用 Composer 进行安装: ``` composer require "phpoffice/phpspreadsheet" ``` 2. 使用 EasyExcel 创建一个新的 Excel 文件,并设置表头: ```php use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; // 创建一个新的 Spreadsheet 对象 $spreadsheet = new Spreadsheet(); // 获取当前活动的工作表 $worksheet = $spreadsheet->getActiveSheet(); // 设置表头 $headers = array( array('text' => '姓名', 'width' => 20), array('text' => '年龄', 'width' => 15), array('text' => '性别', 'width' => 15) ); $worksheet->fromArray($headers, NULL, 'A1'); ``` 3. 获取动态表头数据,将数据逐列添加到工作表中: ```php // 获取动态表头数据 $dynamicHeaders = array( array('text' => '语文', 'width' => 15), array('text' => '数学', 'width' => 15), array('text' => '英语', 'width' => 15) ); // 将动态表头数据逐列添加到工作表中 $col = 'D'; foreach ($dynamicHeaders as $header) { $worksheet->setCellValue($col . '1', $header['text']) ->getColumnDimension($col) ->setWidth($header['width']); $col++; } ``` 4. 将数据逐行添加到工作表中: ```php // 获取数据 $data = array( array('张三', 20, '男', 80, 90, 70), array('李四', 21, '女', 85, 95, 90), array('王五', 19, '男', 70, 75, 80) ); // 将数据逐行添加到工作表中 $row = 2; foreach ($data as $rowdata) { $col = 'A'; foreach ($rowdata as $cell) { $worksheet->setCellValue($col . $row, $cell); $col++; } $row++; } ``` 5. 将工作表保存为 Excel 文件: ```php // 将工作表保存为 Excel 文件 $writer = new Xlsx($spreadsheet); $writer->save('example.xlsx'); ``` 这样,就可以使用 PHPEasyExcel 库实现动态表头导出了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值