rich-id/

excel-generator-bundle

为Symfony 4.4提供的Excel工具包

安装: 258

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

开放问题: 0

类型:symfony-bundle

v1.0.2 2022-03-16 14:28 UTC

This package is auto-updated.

Last update: 2024-09-16 20:01:28 UTC


README

Logo

Rich ID Excel Generator Bundle

Package version Actions Status Coverage Status Maintainability Symfony 4.4+ PHP 7.3+ Contributions Welcome License

快速轻松地生成带有您自己数据的复杂Excel文件,并添加样式。

快速入门

Excel由3种不同的模型构建:工作表、一个工作表和一个内容。

  • 工作表只包含文件名和一系列工作表
  • 工作表只包含一个名称和一系列子项
  • 子项通常是扩展ExcelContent类的自定义类,用于填充内容

这是一个具有一些子项的自定义内容的示例。任何子项都将占用自己的行,这对于递归处理非常有用。

use RichId\ExcelGeneratorBundle\Annotation as Excel;
use RichId\ExcelGeneratorBundle\Model\ExcelContent;

/**
 * @Excel\HeaderStyle(color="#FFFFFF", backgroundColor="#C1D9E1", fontSize=18, position=Excel\Style::POSITION_CENTER)
 */
class PersonContent extends ExcelContent
{
    /**
     * @var string
     *            
     * @Excel\ContentStyle(color="#000000", fontSize=12, wrapText=true)
     * @Excel\HeaderTitle(title="app.person.firstname")
     */
   public $firstname;
   
    /**
     * @var string
     *            
     * @Excel\ContentStyle(color="#000000", fontSize=12, bold=true, wrapText=true)
     * @Excel\HeaderTitle(title="app.person.lastname")
     */
   public $lastname;
   
    /**
     * @var string
     *            
     * @Excel\ContentStyle(color="#000000", fontSize=10)
     * @Excel\HeaderTitle(title="app.person.age")
     */
   public $age;
   
   public function __construct(User $user)
   {
        $this->firstname = $user->getFirstname();
        $this->lastname = $user->getLastname();
        $this->age = $user->getAge();
        
        foreach ($user->getAddresses() as $address) {
            $addressContent = new AddressContent($address);
            $this->addChild($addressContent);
        }
   }
}

目录

  1. 安装
  2. 配置
  3. 版本控制
  4. 贡献
  5. 黑客开发
  6. 许可证

1. 安装

此版本的包需要Symfony 4.4+和PHP 7.3+。

composer require rich-id/excel-generator-bundle

2. 配置

3. 版本控制

excel-generator-bundle遵循语义版本控制。简而言之,方案是MAJOR.MINOR.PATCH,其中

  1. MAJOR在发生破坏性更改时增加,
  2. MINOR在以向后兼容的方式添加新功能时增加,
  3. PATCH在以向后兼容的方式修复错误时增加。

1.0.0以下的版本被视为实验性版本,任何时间都可能发生破坏性更改。

4. 贡献

欢迎贡献!有很多种方式可以做出贡献,我们非常感激。以下是一些主要的贡献方式:

  • 错误报告:虽然我们努力提供高质量的软件,但错误仍然可能发生,我们无法修复我们不知道的问题。所以,即使您不确定或者只是想提问,也请报告。任何可能表明文档仍需改进的问题都值得报告!
  • 功能请求:当前API没有涵盖您的用例?想要建议更改或添加某些功能?我们很高兴看到您的建议,并开始讨论以找到最佳可能的解决方案。
  • 拉取请求:想要贡献代码或文档?我们非常乐意!如果您需要帮助开始,GitHub有关于拉取请求的文档。我们使用“分支和拉取请求模型”,即贡献者将更改推送到他们的个人分支,然后创建拉取请求到主仓库。请确保您的拉取请求针对master分支。

提醒一下,所有贡献者都应遵守我们的行为准则

5. 黑客开发

您可以使用Docker和docker-compose来开发项目。请查看以下命令。

# Start the project
docker-compose up -d

# Install dependencies
docker-compose exec application composer install

# Run tests
docker-compose exec application bin/phpunit

# Run a bash within the container
docker-compose exec application bash

6. 许可证

excel-generator-bundle是在MIT许可证下分发的。

有关详细信息,请参阅LICENSE