Caixa do Autor


Discuta o seu projeto

Sobre Nós

Somos o parceiro Microsoft Gold com presença nos Estados Unidos e na Índia. Somos um provedor de serviços de TI dinâmico e profissional que atende empresas e startups, ajudando-as a enfrentar os desafios da economia global. Oferecemos serviços na área de Consultoria e implementação de CRM, Desenvolvimento de aplicações, Desenvolvimento de aplicações mobile, Desenvolvimento Web e Desenvolvimento Offshore.

laravel 8 importar exportar arquivo excel para banco de dados

Laravel 8 – Excel e CSV Import Export to Database tutorial

By Pooja Sharma / 4 de fevereiro de 2022

28 de julho de 2022
Laravel 8 – Excel e CSV Import Export to Database tutorial

Na maioria das vezes em que você trabalha em qualquer aplicativo de comércio eletrônico ou qualquer tipo de ERP, você precisa importar e exportar arquivos do Excel para os dados. Esta é uma funcionalidade muito comum em qualquer aplicação web. Se para qualquer aplicativo de e-commerce, você deseja adicionar produtos a granel ao mesmo tempo, a entrada manual desses produtos e seus dados apropriados levará muito tempo para inserir no banco de dados.

Além disso, por outro lado, se você precisar baixar algum relatório como semanal/diário/mensal relatório de vendas, então você pode exportar os dados para o Excel. 

Laravel Excel é desenvolvido como sendo um Laravel-flavoured planilha php, é um wrapper gerenciável e inteligente em torno do Php Spreadsheet para agilizar as importações e exportações. O Laravel Excel possui as seguintes características:

  • Exporte coleções para o Excel sem esforço.
  • Exporte consultas com segmentação automática para um desempenho mais satisfatório.
  • Exportações de fila para melhor desempenho.
  • Exporte facilmente as visualizações do Blade para o Excel.
  • Importe com eficiência para coleções.
  • Leia o arquivo do Excel em fragmentos.
  • Gerencie as inserções de importação em lotes.

Há momentos em que precisamos de nossos dados como cópia impressa ou em formatos mais amigáveis, um dos quais é uma planilha do Excel, e também ajuda a carregar grandes dados no banco de dados através do formato CSV.

Então, neste blog, compartilharemos com você como importar e exportar arquivos do Excel para o banco de dados no Laravel 8 e ajudaremos você a criar sua própria funcionalidade de importação/exportação no Laravel.

Primeiro, você precisa configurar o Laravel 8 em seu sistema, que você pode obter aqui (link para o post).

Então, depois de configurar o Laravel, você deve seguir os passos abaixo:

- Instale o pacote Laravel Excel

Instale o pacote Laravel Excel, que você pode simplesmente fazer com o comando abaixo do compositor:

compositor requer maatwebsite/excel

Passo 2. Registre o serviço de pacote acima em Provedores e Alias ​​para isso você tem que ir raiz/configuração diretório e aberto app. php arquivo, cole as linhas abaixo no arquivo no provedor e seção de aliases:

'providers' => [
       
        Maatwebsite\Excel\ExcelServiceProvider::class,
        /*
    ],

    'aliases' => [      
        
        'Excel' => Maatwebsite\Excel\Facades\Excel::class,
    ],

- Instale o Pacote Laravel Excel executando o comando de publicação do vendedor de artesão:

php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider"

Passo 4: Agora você precisa de um Tabela de banco de dados do qual você deseja importar ou exportar seus dados, explicaremos com minha tabela já existente 'colaboradores'.

Agora irá criar uma classe de importação e exportação para o pacote excel. Primeiro, vamos criar uma classe de importação usando o artisan.

Php artesão fazer: importar EmployeeImport –model=Emolyee

O comando acima irá criar um FuncionárioImport.php arquivo dentro do app/imports/ diretório que ficará mais ou menos assim:

Crie uma classe de exportação usando: PHP artesão make: export EmployeeExport --model=Employee

Depois disso, a classe de exportação será criada em: app/Exportações/EmployeeExport.php que ficará mais ou menos assim:

Aqui usamos uma classe adicional de Maatwebsite\Excel isso é Com Títulos, que permitirá exportar um arquivo excel com títulos que definimos dentro do títulos() método de Classe Com Títulos, existem muitas outras classes que você pode encontrar em Pasta Maatwebsite\Excel\Concerns.

Além disso, leia: CSS GRID Vs FLEXBOX, escolha entre Grid e Flex

- Criar uma rota para importa-exportação

Route::get('file-import-export', [EmployeesController::class, 'fileImportExport'])->name('file-import-export');
Route::post('file-import', [EmployeesController::class, 'fileImport'])->name('file-import');
Route::get('file-export', [EmployeesController::class, 'fileExport'])->name('file-export');

Passo 6: Adicione funções do controlador em EmpregadosControlador:

public function fileImportExport()
    {
       return view('file-import');
    }
   
    /**
    * @return \Illuminate\Support\Collection
    */
    public function fileImport(Request $request) 
    {
        Excel::import(new ImportEmployee, $request->file('file')->store('temp'));
        return back();
    }

    /**
    * @return \Illuminate\Support\Collection
    */
    public function fileExport(Request $request) 
    {        
        return Excel::download(new ExportEmployee, 'employee-collection.xlsx');
    }

E seu arquivo de controlador ficará assim:

- O próximo passo será criar uma view para importação de arquivos: Vamos nomeá-la como “arquivo-import.blade.php".

Adicione o código abaixo ao arquivo de visualização:

<form action="{{ route('file-import') }}" method="POST" enctype="multipart/form-data">
  @csrf
    <div class="form-group mb-4" style="max-width: 500px; margin: 0 auto;">
         <div class="custom-file text-left">
         	<input type="file" name="file" class="custom-file-input" id="customFile">
         	<label class="custom-file-label" for="customFile">Choose file</label>
         </div>
   </div>
          <button class="btn btn-primary">Import data</button>
         <a class="btn btn-success" href="{{ route('file-export') }}">Export data</a>
 </form>

Passo 8: O passo final será executar “php artesão servir” comando e use o url '/file-import-export,

Além disso, leia: 7 razões para tratar seriamente a arquitetura de aplicativos da web

Conclusão

Por fim, concluímos agora a funcionalidade de exportação e importação de Arquivos do Excel em Laravel 8. É bem simples fazer um download com o arquivo excel. Para importar os dados utilizando a planilha do Excel, é descomplicado importar e extrair as linhas.

Após extrair as linhas, você precisa inseri-las na tabela do banco de dados. Então, é isso para este tutorial de importação e exportação do Excel em Laravel. Você também pode usar o pacote Laravel-excel para criar facilmente outros formatos de arquivo, como tsv, xlsx, pdf, etc. exporte ou importe recursos no Laravel 8.

[sc name = "Mobile App Development"] [add_newsletter] [add_related_page_diff_contents blog_cat = "web-application"]

Na maioria das vezes em que você trabalha em qualquer aplicativo de comércio eletrônico ou qualquer tipo de ERP, você precisa importar e exportar arquivos do Excel para os dados. Esta é uma funcionalidade muito comum em qualquer aplicação web. Se para qualquer aplicativo de e-commerce, você deseja adicionar produtos a granel ao mesmo tempo, a entrada manual desses produtos e seus dados apropriados levará muito tempo para inserir no banco de dados.

Além disso, por outro lado, se você precisar baixar algum relatório como semanal/diário/mensal relatório de vendas, então você pode exportar os dados para o Excel. 

Laravel Excel é desenvolvido como sendo um Laravel-flavoured planilha php, é um wrapper gerenciável e inteligente em torno do Php Spreadsheet para agilizar as importações e exportações. O Laravel Excel possui as seguintes características:

  • Exporte coleções para o Excel sem esforço.
  • Exporte consultas com segmentação automática para um desempenho mais satisfatório.
  • Exportações de fila para melhor desempenho.
  • Exporte facilmente as visualizações do Blade para o Excel.
  • Importe com eficiência para coleções.
  • Leia o arquivo do Excel em fragmentos.
  • Gerencie as inserções de importação em lotes.

Há momentos em que precisamos de nossos dados como cópia impressa ou em formatos mais amigáveis, um dos quais é uma planilha do Excel, e também ajuda a carregar grandes dados no banco de dados através do formato CSV.

Então, neste blog, compartilharemos com você como importar e exportar arquivos do Excel para o banco de dados no Laravel 8 e ajudaremos você a criar sua própria funcionalidade de importação/exportação no Laravel.

Primeiro, você precisa configurar o Laravel 8 em seu sistema, que você pode obter aqui (link para o post).

Então, depois de configurar o Laravel, você deve seguir os passos abaixo:

- Instale o pacote Laravel Excel

Instale o pacote Laravel Excel, que você pode simplesmente fazer com o comando abaixo do compositor:

compositor requer maatwebsite/excel

Passo 2. Registre o serviço de pacote acima em Provedores e Alias ​​para isso você tem que ir raiz/configuração diretório e aberto app. php arquivo, cole as linhas abaixo no arquivo no provedor e seção de aliases:

'providers' => [
       
        Maatwebsite\Excel\ExcelServiceProvider::class,
        /*
    ],

    'aliases' => [      
        
        'Excel' => Maatwebsite\Excel\Facades\Excel::class,
    ],

- Instale o Pacote Laravel Excel executando o comando de publicação do vendedor de artesão:

fornecedor de artesão php:publish –provider=”Maatwebsite\Excel\ExcelServiceProvider”

Passo 4: Agora você precisa de um Tabela de banco de dados do qual você deseja importar ou exportar seus dados, explicaremos com minha tabela já existente 'colaboradores'.

Agora irá criar uma classe de importação e exportação para o pacote excel. Primeiro, vamos criar uma classe de importação usando o artisan.

Php artesão fazer: importar EmployeeImport –model=Emolyee

O comando acima irá criar um FuncionárioImport.php arquivo dentro do app/imports/ diretório que ficará mais ou menos assim:

Crie uma classe de exportação usando: PHP artesão make: export EmployeeExport –model=Employee

Depois disso, a classe de exportação será criada em: app/Exportações/EmployeeExport.php que ficará mais ou menos assim:

Aqui usamos uma classe adicional de Maatwebsite\Excel isso é Com Títulos, que permitirá exportar um arquivo excel com títulos que definimos dentro do títulos() método de Classe Com Títulos, existem muitas outras classes que você pode encontrar em Pasta Maatwebsite\Excel\Concerns.

Além disso, leia: CSS GRID Vs FLEXBOX, escolha entre Grid e Flex

- Criar uma rota para importa-exportação

Route::get('file-import-export', [EmployeesController::class, 'fileImportExport'])->name('file-import-export');
Route::post('file-import', [EmployeesController::class, 'fileImport'])->name('file-import');
Route::get('file-export', [EmployeesController::class, 'fileExport'])->name('file-export');

Passo 6: Adicione funções do controlador em EmpregadosControlador:

public function fileImportExport()
    {
       return view('file-import');
    }
   
    /**
    * @return \Illuminate\Support\Collection
    */
    public function fileImport(Request $request) 
    {
        Excel::import(new ImportEmployee, $request->file('file')->store('temp'));
        return back();
    }

    /**
    * @return \Illuminate\Support\Collection
    */
    public function fileExport(Request $request) 
    {        
        return Excel::download(new ExportEmployee, 'employee-collection.xlsx');
    }

E seu arquivo de controlador ficará assim:

- O próximo passo será criar uma view para importação de arquivos: Vamos nomeá-la como “arquivo-import.blade.php".

Adicione o código abaixo ao arquivo de visualização:

<form action="{{ route('file-import') }}" method="POST" enctype="multipart/form-data">
  @csrf
    <div class="form-group mb-4" style="max-width: 500px; margin: 0 auto;">
         <div class="custom-file text-left">
         	<input type="file" name="file" class="custom-file-input" id="customFile">
         	<label class="custom-file-label" for="customFile">Choose file</label>
         </div>
   </div>
          <button class="btn btn-primary">Import data</button>
         <a class="btn btn-success" href="{{ route('file-export') }}">Export data</a>
 </form>

Passo 8: O passo final será executar “php artesão servir” comando e use o url '/file-import-export,

Além disso, leia: 7 razões para tratar seriamente a arquitetura de aplicativos da web

Conclusão

Por fim, concluímos agora a funcionalidade de exportação e importação de Arquivos do Excel em Laravel 8. É bem simples fazer um download com o arquivo excel. Para importar os dados utilizando a planilha do Excel, é descomplicado importar e extrair as linhas.

Após extrair as linhas, você precisa inseri-las na tabela do banco de dados. Então, é isso para este tutorial de importação e exportação do Excel em Laravel. Você também pode usar o pacote Laravel-excel para criar facilmente outros formatos de arquivo, como tsv, xlsx, pdf, etc. exporte ou importe recursos no Laravel 8.

Serviços de desenvolvimento de aplicativos móveis

Você quer alavancar a tecnologia móvel para sua empresa? A Cynoteck é um provedor completo de Serviços de Desenvolvimento de Aplicativos Móveis. Oferecemos serviços de desenvolvimento de aplicativos iOS e Android para que você alcance seu público-alvo em qualquer dispositivo.



convidado
0 Comentários
Comentários em linha
Ver todos os comentários
0
Adoraria seus pensamentos, por favor, comente.x