怎么用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文件并提供下载给用户。
猜您想看
-
如何进行Mybatis的使用及跟Spring整合原理分析
一、Mybat...
2023年07月21日 -
Java常见知识点中Jvm内存结构、Java内存模型、Java对象模型的区别是什么
JVM内存结构...
2023年05月26日 -
微信中的聊天备份文件恢复方法
一、什么是微信...
2023年05月15日 -
怎样解决苹果手机上的QQ音乐问题?
苹果手机上的Q...
2023年04月27日 -
Qt通用方法及类库有哪些
Qt通用方法及...
2023年05月26日 -
怎么借助URLOS快速安装MixPHP-2.0.1框架
一、URLOS...
2023年07月22日