mradang / laravel-excel
laravel-excel
v3.2.0
2024-03-16 04:01 UTC
Requires
- laravel/framework: ^9.0 || ^10.0
- phpoffice/phpspreadsheet: ^1.20
Requires (Dev)
- orchestra/testbench: ^8.0
- phpunit/phpunit: ^10.0
README
安装
composer require mradang/laravel-excel -vvv
读取
ExcelService::read( $pathname, // excel 文件绝对路径 1, // 字段名行号 [ // 字段定义 'id' => '编号', 'name' => '姓名', 'age' => '年龄', ], 2, // 数据开始的行号 function (array $cells) { // 行数据处理函数,每行调用一次 /** * $cells = [ * 'id' => 1, * 'name' => '张三', * 'age' => 21, * ]; */ }, );
写入
$values 参数支持类型
- Illuminate\Database\Eloquent\Builder
- Illuminate\Support\Collection
- array
当使用 Builder 类型时,会调用实例的 chunk 方法,分块读取数据
$pathname = ExcelService::write( '首行通栏标题', [ // 字段定义 'id' => '编号', 'name' => '姓名', 'age' => '年龄', ], ['id', 'age'], // 数字列 [ // 数据 ['id' => 4, 'name' => '赵六', 'age' => 24], ['id' => 5, 'name' => '孙七', 'age' => 25], ['id' => 6, 'name' => '周八', 'age' => 26], ], function (int $index, $row) { // 行数据处理函数,每行调用一次,返回字段值数组 return array_values($row); }, 2, // 冻结字段列 );