Laravel中使用excel导入导出

使用composer安装库:composer require maatwebsite/excel

项目地址:https://github.com/Maatwebsite/Laravel-Excel

导入:

  1. 创建Import对象:php artisan make:import UsersImport
  2. 将导入的excel内容解析成数组:$excelContent = Excel::toArray(new UsersImport, $request->file('user_file'));

导出:

  1. 创建Export对象:php artisan make:export UsersExport
  2. 修改collection()方法,返回要导出的数据return collect($exportArrayData);
  3. 保存导出的excel文件:

【参考:https://docs.laravel-excel.com/3.1/exports/

laravel解析excel文件中的日期字段

  1. 使用以下类库解析excel:https://github.com/Maatwebsite/Laravel-Excel
  2. 需要解析日期字段时,建议使用  PhpOffice\PhpSpreadsheet\Shared\Date::excelToDateTimeObject($dateFromExcel) ,封装后的方法如下,

    【参考】

1.  https://github.com/Maatwebsite/Laravel-Excel;

2. https://github.com/Maatwebsite/Laravel-Excel/issues/1832#issuecomment-442572868

使用phpexcel导出excel(xls)文件

使用phpexcel导出xls文件的示例代码:

有时会以下报错现象:

处理方式:

为了提升性能,也为了能正常使用(phpexcel导出xls文件很耗系统资源,超过100条数据时,容易发生内存不足,无法导出的现象),建议将各种特性关闭(像代码中的,关闭设置区块的宽、文字的对齐方式等)

使用phpExcel读取表头信息

使用以下代码可以获取具有表头的excel文档的表头信息。

excel文档截图:屏幕快照 2016-03-20 下午2.24.01

代码执行结果截图:屏幕快照 2016-03-20 下午2.24.31

示例代码下载:phpexcel

【参考:http://blog.xiaozan.me/877.html,

http://phpexcel.codeplex.com/wikipage?referringTitle=Examples】