oncology-support/phpspreadsheet-helper-bundle

Symfony 扩展包

2.0.1 2024-06-22 22:46 UTC

This package is auto-updated.

Last update: 2024-09-22 23:24:38 UTC


README

PhpSpreadsheet Helper Bundle 通过添加辅助方法简化了在您的 Symfony 应用程序中使用优秀的 PHPOffice/PhpSpreadsheet 扩展包

文档

版本 2 的新特性

WorksheetFactory 已重构为 WorksheetUtils,以便辅助方法在电子表格的第一个标签之外的表格中可用。请参见下面的示例。

许可证

PhpSpreadsheet Helper Bundle 在 MIT 许可证下发布。有关详细信息,请参阅捆绑的 LICENSE 文件。

安装

使用 Symfony Flex 的应用程序

打开命令行,进入您的项目目录,并执行

composer require oncology-support/phpspreadsheet-helper-bundle

不使用 Symfony Flex 的应用程序

步骤 1:下载扩展包

打开命令行,进入您的项目目录,并执行以下命令以下载此扩展包的最新稳定版本

composer require oncology-support/phpspreadsheet-helper-bundle

步骤 2:启用扩展包

然后,通过将其添加到项目 config/bundles.php 文件中注册的扩展包列表中来启用扩展包

// config/bundles.php

return [
    // ...
    OncologySupport\PhpSpreadsheetHelper\OncologySupportPhpSpreadsheetHelperBundle::class => ['all' => true],
];

步骤 3:使用它!

此扩展包提供从控制器中调用的辅助函数。

// your controller

use OncologySupport\PhpSpreadsheetHelper\Utilities\SpreadsheetFactory;
use OncologySupport\PhpSpreadsheetHelper\Utilities\WorksheetUtils;

public function createAndDownloadSpreadsheet()
{
    $spreadsheet = new SpreadsheetFactory();
    $worksheet = new WorksheetUtils($spreadsheet->getActiveSheet(), 'First Tab');
    
    $worksheet->addTitleRow('Very Important Data');
    
    $header = ['Order Date', 'Site', 'Item', 'Item Description'];
    $rows = [
        ['12/15/2023', 'Main site', 'Dog collar', 'A stunning red dog collar'],
        ['12/19/2023', 'Main site', 'Cat collar', 'Blue cat collar'],
        ['1/3/2024', 'Backup site', 'Turtle harness', 'Take your turtle for a walk!'],
    ];
    
    $worksheet->addDataRows[$rows];
    
    // add another tab on the spreadsheet
    $worksheet2 = new WorksheetUtils($spreadsheet->createSheet(), 'Second Tab');
    $spreadsheet->setActiveSheetIndex(1);

    $worksheet2->addTitleRow('Even More Important Data');
    
    $header = ['Order Date', 'Site', 'Item', 'Item Description'];
    $rows = [
        ['2/12/2024', 'Main site', 'Donkey collar', 'Big enough for the most stubborn donk'],
        ['4/3/2024', 'Backup site', 'Duck harness', 'Take your duck for a walk!'],
    ];
    
    $worksheet2->addDataRows[$rows];
    
    // download to an excel file    
    $spreadsheet->outputToWeb();
}

Enjoy!