怎么用laravel+PhpSpreadsheet导出excel并下载
一、安装PhpSpreadsheet
首先,我们需要在Laravel项目中安装PhpSpreadsheet库。在终端中切换到项目根目录,并执行以下命令:
composer require phpoffice/phpspreadsheet
这将下载并安装PhpSpreadsheet库,用于处理Excel文件。
二、创建导出Excel的控制器方法
我们需要在Laravel项目中创建一个控制器方法,用于导出Excel文件。在控制器中创建一个方法,用来设置Excel文件的内容、格式和导出方式。以下是一个示例方法:
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
public function exportExcel()
{
// 创建一个新的Excel实例
$spreadsheet = new Spreadsheet();
// 获取当前活动的工作表
$sheet = $spreadsheet->getActiveSheet();
// 设置Excel表格的标题
$sheet->setCellValue('A1', 'ID');
$sheet->setCellValue('B1', '姓名');
$sheet->setCellValue('C1', '年龄');
// 设置Excel表格的数据
$data = [
['1', '小明', '18'],
['2', '小红', '20'],
['3', '小刚', '22'],
];
$currentRow = 2; // 从第2行开始插入数据
foreach ($data as $row) {
$sheet->setCellValue('A' . $currentRow, $row[0]);
$sheet->setCellValue('B' . $currentRow, $row[1]);
$sheet->setCellValue('C' . $currentRow, $row[2]);
$currentRow++;
}
// 创建一个新的Excel写入器
$writer = new Xlsx($spreadsheet);
// 设置导出Excel的文件名
$filename = 'example.xlsx';
// 将Excel文件保存到指定的路径
$writer->save(public_path($filename));
// 返回Excel文件的下载链接
return response()->download(public_path($filename))->deleteFileAfterSend(true);
}
在上面的示例代码中,我们首先创建了一个名为$spreadsheet的新的PhpSpreadsheet实例,然后使用getDefaultStyle()方法进行全局样式设置。然后,我们使用setCellValue()方法来设置Excel表格的标题和数据内容。最后,我们创建了一个名为$writer的新的Xlsx写入器实例,并使用save()方法将Excel文件保存到公共路径下的指定文件中。
三、定义导出Excel的路由
在Laravel项目中,我们需要为导出Excel的功能定义一个路由。在routes/web.php文件中,添加以下路由定义:
Route::get('/export-excel', 'YourController@exportExcel');
这将为/export-excel路径绑定了我们之前创建的导出Excel的控制器方法。
现在,我们可以通过访问http://your-project-url/export-excel来导出Excel文件,并触发下载操作。
以上就是使用laravel+PhpSpreadsheet导出excel并下载的步骤。可以按照以上步骤进行操作,实现Excel文件的导出和下载功能。这样,你就可以在Laravel项目中方便地生成Excel文件并提供下载给用户。
猜您想看
-
IDE工具中eclipse如何设置
一、安装Ecl...
2023年05月25日 -
如何使用ML.NET实现基于RFM模型的客户价值分析
一、什么是RF...
2023年05月26日 -
CM上HDFS容量显示与实际命令不一致的问题分析
问题描述:在使...
2023年07月04日 -
Python如何实现小游戏pong
1. 游戏规则...
2023年07月21日 -
web.py怎么安装使用
安装使用web...
2023年07月23日 -
Python爬取世纪佳缘的数据是否能证明它不靠谱的示例分析
Python爬...
2023年07月22日