Laravel开发:如何使用Laravel Excel导入和导出Excel文件?

Laravel开发:如何使用Laravel Excel导入和导出Excel文件?

随着互联网的快速发展,数据的处理越来越重要,特别是在企业的数据管理中。Excel 文件已经成为企业办公的必备工具之一,因为它可以方便地存储、编辑、计算和分析数据。Laravel 是一款被广泛使用的 PHP 框架,而Laravel Excel 是为 Laravel 开发的一个 Excel 文件操作扩展包,它能够轻松地实现 Excel 文件的导入和导出。

本文将为您详细介绍 Laravel Excel 的使用方法。在本文中,我们将学习如何安装 Laravel Excel 并进行 Excel 文件的导入和导出。

一. 安装 Laravel Excel

在终端中通过 Composer 安装 Laravel Excel

composer require maatwebsite/excel

登录后复制

如果您使用的是 Laravel 版本小于 5.5,则需要在config/app.php文件中配置以下两个服务提供者:

MaatwebsiteExcelExcelServiceProvider::class,

登录后复制

'Excel' => MaatwebsiteExcelFacadesExcel::class,

登录后复制

如果您使用的是 Laravel 版本大于或等于 5.5,则无需手动添加服务提供者,这些服务提供者会自动添加到配置中。

在终端中通过 Artisan 命令进行发布:

php artisan vendor:publish --provider="MaatwebsiteExcelExcelServiceProvider"

登录后复制

这将自动生成以下配置文件和模板文件:

config/excel.php
resources/views/vendor/excel

登录后复制

二. 配置 Laravel Excel

配置文件 excel.php 包含了 Laravel Excel 的所有配置选项。这些选项可以直接在 .env 文件中进行定义或在config/excel.php文件中进行配置。以下是所有可能的选项的详细描述。

'default_driver' => 'local',

登录后复制

选项“default_driver”指定要使用的默认 driver ,这里有两种选择:local、ftp。

'cache' => [
'enabled' => true,
'driver' => 'laravel',
],

登录后复制

选项“cache”指定缓存选项,缓存可以提高速度,特别是在进行大量数据处理时。当启用缓存时,设置“cache_driver”为“laravel”或“memcached”。

'temp_path' => sys_get_temp_dir(),

登录后复制

选项 temp_path 指定要用于保存临时文件的文件系统路径。

'csv' => [
'delimiter' => ',',
'enclosure' => '"',
'escape_character' => '\',
'input_encoding' => 'UTF-8',
'output_encoding' => 'UTF-8',
'use_bom' => false,
],

登录后复制

选项“csv”允许配置 CSV 导入和导出的选项,主要有以下选项:

delimiter:分隔符,如:逗号,分号,Tab 等等。

enclosure:列的封闭符号。

escape_character:转义符。

input_encoding:输入编码。

output_encoding:输出编码。

use_bom:是否使用 Bom 字节序。

'exports' => [
'force_resave' => false,
'ignore_empty' => false,
'pre_calculate_formulas' => false,
'maximum_recursion' => 50,
],

登录后复制

选项“exports”允许配置导出选项,主要有以下选项:

force_resave:是否强制进行保存。

ignore_empty:是否忽略空单元格。

pre_calculate_formulas:是否预先计算公式。

maximum_recursion:递归的最大层数。

三. 导出 Excel 文件

Laravel Excel 对 Excel 文件的导出操作提供了很好的支持。接下来我们将演示如何使用 Laravel Excel 进行数据导出。

首先,打开控制器文件,创建一个新的 Excel 文件并导出数据: