沙丁 / laravel-presenter-excel
Laravel Presenter 插件,用于响应 MS Excel 文件:XLSX、XLS 和 CSV。
This package is not auto-updated.
Last update: 2024-09-14 19:42:15 UTC
README
Sands Laravel Presenter 插件,用于响应 MS Excel 文件:XLSX、XLS 和 CSV。文件使用Laravel Excel 包生成。
安装
$ composer require sands/laravel-presenter-excel
确保Sands\Presenter 已正确安装。
在 config/app.php
的 providers
数组中,在 Sands\Presenter\PresenterServiceProvider
之后添加 Sands\Presenter\Excel\ExcelPresenterServiceProvider
。
'providers' => [ ... Sands\Presenter\PresenterServiceProvider::class, Sands\Presenter\Excel\ExcelPresenterServiceProvider::class, ... ]
使用方法
此插件允许您轻松创建 XLSX、XLS 和 CSV 导出。
假设您有一个 UsersController,其中包含以下方法
public function index() { return $this->present(['users' => User::all()]) ->setOption('excel.fileName', 'User Reports') ->using('blade', 'xlsx', 'csv', 'xls'); }
当用户访问 /users?format=xlsx
时,将提示下载 User Reports.xlsx
文件。
当用户访问 /users?format=xls
时,将提示下载 User Reports.xls
文件。
当用户访问 /users?format=csv
时,将提示下载 User Reports.csv
文件。
XLSX 和 XLS 的数据格式
根据以下示例,XLSX 和 XLS 的数据必须是嵌套的集合
public function csvData() { return [ "Sheet 1 Name" => [ [row 1 data], [row 2 data], ... ], ... ]; ... or ... return [ "Users" => User::all(), "Tasks" => Task::all(), ... ]; }
CSV 的数据格式
根据以下示例,CSV 的数据必须是集合
public function csvData() { return [ [row 1 data], [row 2 data], ... ]; ... or ... return User::all(); }
文件属性
可以使用 setOption
方法设置文件属性。可用的属性如下定义在这里。
可以通过 excel.fileName
选项更改导出文件的名称。
public function index() { return $this->present() ->setOption('data.blade', 'bladeData') ->setOption('data.xlsx', 'data') ->setOption('excel.fileName', 'User Reports') ->setOption('excel.title', 'Exported User Reports') ->using('blade', 'xlsx'); }
MIT 许可证
版权所有 (c) 2016 沙丁咨询有限公司
特此授予任何获得本软件及其相关文档文件(以下简称“软件”)副本的人免费使用软件的权利,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,以及允许向软件提供方提供软件的人行使上述权利,前提是符合以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“现状”提供,不提供任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和非侵权性保证。在任何情况下,作者或版权持有人不对任何索赔、损害或其他责任负责,无论该责任是基于合同、侵权或其他原因,无论该责任是否源于、源于或与软件或软件的使用或其他交易有关。