osmaviation/spreadsheet

该包最新版本(1.9.1)没有提供许可信息。

PHP Spreadsheet 的简单包装器

1.9.1 2020-02-25 07:44 UTC

This package is auto-updated.

Last update: 2024-09-22 11:54:44 UTC


README

这是一个针对 PHPSpreadsheet(之前称为 PHPExcel)库的简单 Laravel 抽象,非常适合编写 XLSX(Excel)文件。

安装

composer require osmaviation/spreadsheet

使用

通过解析

$filename = 'my-filename.xlsx';

resolve('spreadsheet')->create($filename, function ($excel) {
    $excel->sheet('Worksheet', function ($sheet) {
        $sheet->fromArray([
            'Foo',
            'Bar',
        ], null, 'A1', true, false);
    });
});

通过外观

use OSMAviation\Spreadsheet\Facades\Spreadsheet;

$filename = 'my-filename.xlsx';

Spreadsheet::create($filename, function ($excel) {
    $excel->sheet('Worksheet', function ($sheet) {
        $sheet->fromArray([
            'Foo',
            'Bar',
        ], null, 'A1', true, false);
    });
});

通过注入

use OSMAviation\Spreadsheet\PhpSpreadsheet as Spreadsheet;

class MyController 
{
    public function store(Spreadsheet $spreadsheet)
    {
        $filename = 'my-filename.xlsx';
        
        $spreadsheet->create($filename, function ($excel) {
            $excel->sheet('Worksheet', function ($sheet) {
                $sheet->fromArray([
                    'Foo',
                    'Bar',
                ], null, 'A1', true, false);
            });
        });
    }
}

保存电子表格

$filename = 'some-folder/my-filename.xlsx';

Spreadsheet::create($filename, function ($excel) {
    $excel->sheet('Worksheet', function ($sheet) { 
        // $sheet will be a PhpOffice\PhpSpreadsheet\Worksheet\Worksheet instance
        $sheet->fromArray([
            'Foo',
            'Bar',
        ], null, 'A1', true, false);
    });
})->store('local');

加载文件

Spreadsheet::load($filename, function ($excel) {
    $excel->sheet('Some existing sheet', function($sheet) {
        //
    });
});

您还可以将磁盘名称作为 load 方法的第二个参数传递,以从不同的文件系统加载文件。

Spreadsheet::load($filename, 's3', function ($excel) {
    $excel->sheet('Some sheet', function($sheet) {
        //
    });
});

访问 PHPSpreadsheet 电子表格

创建方法的回调将提供一个 OSMAviation\Spreadsheet\Spreadsheet 实例,这是创建工作表的便利层。您可以通过使用 getSpreadsheet 方法访问供应商的电子表格。

Spreadsheet::create($filename, function ($excel) {
    $vendorSheet = $excel->getSpreadsheet(); // returns a PhpOffice\PhpSpreadsheet\Spreadsheet instance
})->store('local');