在 Laravel 5.8 中导入和导出 CSV 文件

17 Mar 2025 | 5 分钟阅读

在本节中,我们将使用 Laravel 5.8 导入和导出 CSV 文件。在创建管理项目时,主要需求是从数据库导出-导入 CSV 或 Excel 文件。我们将使用 maatwebsite/excel 版本 3 在 Laravel 5.8 应用程序中导入和导出 Excel 文件或 CSV 文件。

为了执行导入和导出任务,我们将使用 maatwebsite/excel composer 包。 maatwebsite/excel 使用数据库模型,以便它可以提供一种简单的方式来导出和导入。通过使用 Excel 或 maatwebsite 更新版本 3,我们可以轻松地导出或导入数据库中所需的数据。在我们的部分中,我们提供了执行导出和导入的逐步过程,如下所述

步骤 1

在此步骤中,我们将安装 Laravel 5.8 应用程序。为此,我们将使用以下命令。因此,我们将打开系统中的 CMD 或终端,然后运行以下命令

步骤 2

在第二步中,我们将要安装 Maatwebsite 包。为此,我们将使用 Composer 包管理器。为此,我们将打开终端并运行以下命令

现在我们将打开名为 config/app.php 的文件。然后我们将添加别名和服务提供者。

config/app.php

步骤 3

在第三步中,我们将创建虚拟记录。为此,我们需要一个“users”表,其中将包含一些虚拟记录。之后,我们可以轻松地进行导入和导出。Laravel 为我们提供了一些默认的迁移。要进行导入和导出,我们需要该迁移。因此,我们将使用以下命令运行迁移

现在我们需要添加一些虚拟记录。因此,我们将运行以下命令并将一些记录添加到用户文件中。

步骤 4

在第四步中,我们将要添加路由器。为此,我们将创建一个导出和导入文件的路由。因此,我们将打开名为“routes/web.php”的文件。之后,我们将添加以下路由

routes/web.php

步骤 5

在第五步中,我们将要创建一个导入类。 为了做到这一点,我们将使用 maatwebsite 3 版本,它用于构建导入类。我们将使用控制器来使用它。当我们通过这种方式创建一个新的 Import 类时,我们会意识到这是创建导入类的一种好方法。为此,我们将运行以下代码

现在我们打开名为 app/Import/UsersImport.php 的文件,我们将在该文件中进行一些更改,如下所述

app/Imports/UsersImport.php

步骤 6

在第六步中,我们将要创建导出类。 为了做到这一点,我们将使用 maatwebsite 3 版本,它用于构建导出类。我们将使用控制器来使用它。当我们通过这种方式创建一个新的 Export 类时,我们会意识到这是创建导出类的一种好方法。为此,我们将运行以下代码

现在我们打开名为 app/Export/UsersExport.php 的文件,我们将在该文件中进行一些更改,如下所述

app/Exports/UsersExport.php

步骤 7

在第七步中,我们将要创建控制器。我们将使用路径“app/Http/Controllers/MyController.php”创建一个新的控制器作为 MyController。导入导出请求的视图以及导入导出的返回响应可以通过此控制器轻松管理。为此,我们将在控制器文件中添加以下内容,如下所述

app/Http/Controllers/MyController.php

步骤 8

第八步是最后一步,用于创建 Blade 文件。为此,我们将为布局创建 import.blade.php。为此,我们将编写一些代码,如下所述

resources/views/import.blade.php

使用上面的代码,我们可以轻松地将所需的数据导出和导入到 Laravel 5.8 中的 CSV 文件中。为了运行上面的代码,我们需要启动 Laravel 5.8 的服务器。为此,我们将打开我们的终端或命令提示符并运行以下命令

使用上面的命令,我们能够启动 Laravel 服务器。它将为我们提供 Laravel 应用程序的基本 URL。我们将打开我们的浏览器并写入以下 URL 以测试导入和导出数据的操作。

输入以上 URL 后,我们将看到以下输出

Import and Export CSV file in Laravel 5.8

现在我们必须选择 Excel 文件,以便可以上传。在选择文件之前,我们必须创建一个像这样的 Excel 文件

Import and Export CSV file in Laravel 5.8

现在我们将选择像这样的 sample.csv 文件

Import and Export CSV file in Laravel 5.8

现在,我们将单击“导入文件”选项。

Import and Export CSV file in Laravel 5.8

在上图中,我们可以看到我们的示例文件已成功导入。