一、安装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文件并提供下载给用户。