怎么用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文件并提供下载给用户。
猜您想看
-
怎么使用Docsify和GitHub Pages创建一个文档网站
一、Docsi...
2023年07月22日 -
java设置垃圾回收器的方法以及常见配置汇总
Java设置垃...
2023年05月26日 -
以.jpg为扩展名的文件通常是什么文件
以.jpg为扩...
2023年07月20日 -
Cesium如何批量加载立体线
Cesium是...
2023年07月20日 -
如何在Windows上快速打开控制面板
快速打开控制面...
2023年05月06日 -
宝塔面板中如何进行服务器的网络故障排查
1. 检查网络...
2024年05月30日