Importar e Exportar Excel, CSV e ODS via Biblioteca PHP Gratuita
API PHP de código aberto que permite a desenvolvedores de software importar e exportar arquivos MS Excel. Conheça seus recursos, benefícios e exemplos de código para lidar com grandes conjuntos de dados de forma eficiente.
O que é Fast-Excel?
Fast-Excel é um pacote PHP leve projetado para simplificar as operações de importação/exportação de Excel e CSV em aplicações Laravel. Construído sobre o OpenSpout, ele foca em velocidade, baixo consumo de memória e sintaxe amigável ao desenvolvedor. Ao contrário de bibliotecas de planilhas mais pesadas, o Fast-Excel é ideal para projetos que precisam de manipulação de planilhas simples e eficiente sem complexidade desnecessária. Ele suporta exportação e importação de arquivos XLSX, CSV e ODS, mantendo o consumo de memória surpreendentemente baixo.
Fast-Excel é particularmente útil para desenvolvedores que precisam processar arquivos Excel, CSV ou ODS grandes sem enfrentar limitações de memória. Bibliotecas tradicionais costumam carregar conjuntos de dados inteiros na memória, mas o Fast-Excel usa técnicas de streaming para lidar com os dados de forma eficiente. A biblioteca é amplamente usada para exportar registros de banco de dados para planilhas, importar dados de usuários ou relatórios, gerar relatórios grandes dinamicamente, simplificar o manuseio de Excel em aplicativos Laravel e assim por diante. Com sua API limpa e configuração mínima, o Fast-Excel reduz o tempo de desenvolvimento enquanto melhora o desempenho.
Começando com Fast-Excel
A forma recomendada de instalar o Fast-Excel em seu projeto é usando o Composer. Por favor, use o comando a seguir para uma instalação tranquila
Instalar Fast-Excel via Composer
composer require rap2hpoutre/fast-excelVocê também pode clonar o projeto com Git executando
Exportar coleções para arquivos Excel via PHP
Fast-Excel torna a exportação de coleções ou modelos para o Excel incrivelmente simples. Com apenas algumas linhas de código, você pode gerar arquivos .xlsx, .csv ou .ods. Esse recurso elimina código boilerplate e acelera o desenvolvimento, especialmente para dashboards ou sistemas de relatórios. O exemplo a seguir demonstra como Exportar dados para um arquivo MS Excel XLSX usando código PHP. A biblioteca converte uma coleção Laravel diretamente em um arquivo Excel sem exigir configurações complexas.
Como Exportar Dados para um Arquivo Excel XLSX via Biblioteca PHP?
use Rap2hpoutre\FastExcel\FastExcel;
// Sample data
$list = collect([
['id' => 1, 'name' => 'Jane'],
['id' => 2, 'name' => 'John'],
]);
// Export to Excel
(new FastExcel($list))->export('users.xlsx');
Exportações em blocos com uso eficiente de memória usando geradores
A biblioteca open source Fast-Excel inclui suporte para uso de baixa memória e sintaxe simples para importação ou exportação de dados. Esse é o recurso principal para lidar com "big data". Em vez de carregar 1 milhão de usuários em um array, você usa cursor() do Laravel ou um gerador customizado yield. O exportador processa cada linha individualmente, grava-a no arquivo e a descarta da memória. Isso mantém o uso de memória constante (muito baixo), independentemente de você estar exportando 100 linhas ou 10 milhões de linhas.
Como Exportar Campos Específicos com Cabeçalhos Personalizados em Aplicações PHP?
return (new FastExcel(User::all()))->export('formatted_users.xlsx', function ($user) {
return [
'Full Name' => $user->firstname . ' ' . $user->lastname,
'Email Address' => $user->email,
'Member Since' => $user->created_at->format('Y-m-d'),
'Status' => $user->is_active ? 'Active' : 'Suspended'
];
});
Importar dados diretamente para o banco de dados
Em vez de importar linhas manualmente, o Fast-Excel pode processar cada linha e inseri‑la diretamente no seu banco de dados. Isso é ideal para uploads em massa de administradores e traz grandes benefícios, como inserção em lote no banco de dados, código mais limpo, menos processamento manual, fluxos de trabalho administrativos fáceis e assim por diante. É particularmente útil para sistemas de RH, CRMs e plataformas de comércio eletrônico. Aqui está um exemplo útil que mostra como importar dados para um banco de dados em aplicações PHP.
Como Importar Dados Diretamente para um Banco de Dados via Biblioteca PHP?
use Rap2hpoutre\FastExcel\FastExcel;
use App\Models\User;
(new FastExcel)->import('users.xlsx', function ($line) {
return User::create([
'name' => $line['Name'],
'email' => $line['Email'],
]);
});
Mapeamento e formatação de colunas personalizados via PHP
As colunas do banco de dados nem sempre são legíveis por humanos. A biblioteca Fast-Excel incluiu suporte completo para mapeamento e formatação personalizados de colunas ou linhas. Esse recurso permite definir exatamente quais atributos exportar e reformatar seus valores em tempo real. Seja para colocar em maiúsculas um sobrenome, combinar nomes e sobrenomes, ou renomear ‘user_id’ para ‘Identificador de Funcionário’, a closure lhe dá controle total sobre o array de saída final.