Skip to content

bholiveiradev/laravel-export-service

Repository files navigation

Laravel Logo

Build Status Total Downloads Latest Stable Version License

Serviço de Exportação de Arquivos no Laravel 11

Este repositório contém um exemplo de implementação de um serviço de exportação de arquivos nos formatos XML, XLSX, CSV e PDF utilizando o framework Laravel. A implementação utiliza o padrão Strategy para flexibilidade na escolha do formato de exportação.

Legia o guia com o passo a passo em: Criando um Serviço de Exportação de Arquivos em XML, XLSX, CSV e PDF no Laravel 11

Funcionalidades Implementadas:

  • Exportação para os formatos: XML, XLSX, CSV e PDF.
  • Configuração do delimitador CSV para ponto e vírgula (;) no arquivo config/excel.php.
  • Utilização dos pacotes:
    • Maatwebsite/Excel para exportação em XLSX e CSV.
    • Barryvdh/Laravel-DomPDF para exportação em PDF.
    • Spatie/Array-to-XML para exportação em XML.

Estrutura do Projeto:

  • app/Services: Contém as classes de serviço para exportação.
  • app/Exports: Contém a classe genérica de exportação e classes específicas para cada formato.
  • config/excel.php: Arquivo de configuração do pacote Maatwebsite Excel.
  • config/exports.php: Arquivo de configuração com o mapeamento de classes para cada formato.
  • resources/views/exports/pdf.blade.php: View Blade para exportação em PDF.
  • app/Providers/ExportServiceProvider.php: Service Provider para registrar as estratégias de exportação.
  • app/Http/Controllers/ExportController.php: Controller para gerenciar a exportação de dados.

Instalação e Uso com Laravel Sail:

  1. Clone este repositório:
git clone git@github.com:bholiveiradev/laravel-export-service.git
cd laravel-export-service
  1. Instale as dependências do Composer:
composer install
  1. Copie o arquivo .env.example para .env e ajuste as configurações necessárias, como as credenciais do banco de dados e outras configurações específicas do seu ambiente.

  2. Inicie os contêineres do Docker usando Laravel Sail:

./vendor/bin/sail up

Isso iniciará os contêineres do Docker necessários para executar a aplicação Laravel, incluindo PHP, MySQL, Redis, e outros serviços.

  1. Acesse a aplicação no navegador:
http://localhost

Criando um Link Simbólico para o Storage:

Para garantir que os arquivos exportados sejam acessíveis publicamente, execute o seguinte comando dentro do contêiner Laravel Sail:

./vendor/bin/sail artisan storage:link

Isso criará um link simbólico do diretório storage/app/public para public/storage, permitindo o acesso aos arquivos exportados.

Contribuições:

Contribuições são bem-vindas! Sinta-se à vontade para enviar pull requests ou abrir issues relatando problemas ou sugestões.

About

Serviço de exportação de arquivos em XML, XLSX, CSV e PDF utilizando Laravel 11 e padrão Strategy.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published