神刀安全网

如何在 Laravel 项目中处理 Excel 文件

本文经授权转自 PHPHub 社区

说明

maatwebsite/excel 是一款强大的 Excel 文件处理扩展包, 能够快速完成 Excel 文件的的导出, 解析等功能.

本项目由 The EST Group 团队成员 @monkey 整理发布, 首发地为 PHPHub 社区 .

文章的 DEMO 项目

截图

如何在 Laravel 项目中处理 Excel 文件

运行

Demo 代码请见:

https://github.com/zhengjinghua/est-excel-demo

请参照此文档运行 Demo:

https://phphub.org/topics/1902

文章概览

  1. 安装;
  2. 基础用法;
  3. 更多功能.

接下来是详细解说.

安装

1). 使用 Composer 安装该扩展包:

composer require maatwebsite/excel

2). 安装完成后,修改 config/app.phpproviders 数组内追加如下内容

'providers' => [     ...     Maatwebsite/Excel/ExcelServiceProvider::class, ],

3). 同时在 aliases 数组内追加如下内容:

'aliases' => [     ...     'Excel' => Maatwebsite/Excel/Facades/Excel::class, ]

4). 接下来运行以下命令生成此扩展包的配置文件 config/excel.php

php artisan vendor:publish --provider="Maatwebsite/Excel/ExcelServiceProvider"

默认配置基本能通用大部分的项目开发需求, 因此本文不对此配置文件做过多叙述, 想深入研究的童鞋可以阅读官方文档.

到此, 此拓展包即安装成功 :beers:beers:beers:

基础用法

解析 Excel 文件

# $excel_file_path = 你的 Excel 文件存放地址 $excel_data = Excel::load($excel_file_path, function($reader) {     $excel_data = Excel::load($excel_file_path)->get()->toArray();      // 直接打印内容即可看到效果     echo 'job.xlsx 表格内容为:';     dd($excel_data); });

将数据导成 Excel 文件

// 导出 Excel 并能直接在浏览器下载 # $export_file_name = 要生成的文件名 Excel::create($export_file_name, function ($excel) {     $excel->sheet('Sheetname', function ($sheet) {         $sheet->appendRow(['data 1', 'data 2']);         $sheet->appendRow(['data 3', 'data 4']);         $sheet->appendRow(['data 5', 'data 6']);     }); })->download('xls');  // 导出 Excel 并存储到指定目录 Excel::create($export_file_name, function ($excel) {     $excel->sheet('Sheetname', function ($sheet) {         $sheet->appendRow(['data 1', 'data 2']);         $sheet->appendRow(['data 3', 'data 4']);         $sheet->appendRow(['data 5', 'data 6']);     }); })->store('xls', $object_path);

导出的 Excel 内容见下图:

如何在 Laravel 项目中处理 Excel 文件

更多功能

除了上述的解析/导出功能外, 此扩展包还支持:

  1. 解析指定表格里的指定列;
  2. 格式化日期;
  3. 添加计算公式;
  4. 缓存表格;
  5. 批量解析指定目录里的所有 Excel 文件;
  6. 可以做格式转换, 如将 csv 转换成 xls, 反之亦可;
  7. 可以将 Excel 结合 blade 模板引擎进行渲染.

这些更多的用例请移步 官方文档 参考.

欢迎关注 LaravelTips , 一个专注于为 Laravel 开发者服务, 致力于帮助开发者更好的掌握 Laravel 框架, 提升开发效率的微信公众号.

如何在 Laravel 项目中处理 Excel 文件

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » 如何在 Laravel 项目中处理 Excel 文件

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
分享按钮