Spout
Biblioteca PHP para arquivos ODS, XLSX e CSV
Biblioteca PHP de código aberto para criar, ler e manipular planilhas do Excel® (XLSX, CSV) e OpenOffice™ (ODS).
O que é Spout?
Spout é uma biblioteca PHP de código aberto que ajuda os desenvolvedores de software em tarefas de manipulação de planilhas, como leitura e gravação de arquivos ODS, XLSX e CSV. Com o Spout, os desenvolvedores podem criar planilhas do zero com estilo de célula, linha e borda, bem como carregar arquivos existentes para edição.
O Spout é amigável ao desenvolvedor, pois fornece uma API simples e integrada para ler e criar diferentes tipos de planilhas. Também permite alternar de um tipo de planilha para outro com alterações mínimas no código. Ele é capaz de lidar com arquivos de planilhas pequenos e muito grandes, mantendo o uso de memória muito baixo. Requer apenas 3 MB de memória para processar qualquer arquivo de planilha.
Como instalar a biblioteca Spout PHP
Spout precisa do PHP versão 7.1 ou superior. Quando o pré-requisito for atendido, instale o Spout do Composer.
Instalar Spout do Composer
$ composer require box/spout
Biblioteca PHP para ler e gravar ODS, XLSX e CSV
Spout permite que desenvolvedores de software criem arquivos de planilha do zero em 3 formatos populares. Durante a leitura, o Spout adivinha o tipo de leitor de planilha com base na extensão do arquivo. Caso a extensão não seja padrão, um leitor específico pode ser criado diretamente.
Ler ODS via PHP
- Criar um leitor para o formato de arquivo ODS
- Passe o caminho do arquivo ODS para carregar o método para lê-lo
- Iterar sobre planilhas ODS via getSheetIterator()
- Iterar sobre as linhas da planilha via getRowIterator()
- Obter células de uma linha ODS para ler ou gravar
Leia ODS via Spout - Biblioteca PHP Excel
use Box\Spout\Reader\Common\Creator\ReaderEntityFactory;
$reader = ReaderEntityFactory::createODSReader('/path/to/file.ods');
$reader->open($filePath);
foreach ($reader->getSheetIterator() as $sheet) {
foreach ($sheet->getRowIterator() as $row) {
// do stuff with the row
$cells = $row->getCells();
...
}
}
$reader->close();
Adicionar dados à planilha existente via PHP
Spout dá ao desenvolvedor a capacidade de atualizar uma planilha existente adicionando dados a ela. É uma prática muito comum adicionar novos dados a uma planilha existente. A Spout API não mantém a representação completa da planilha na memória para evitar problemas de memória ao trabalhar com planilhas grandes. Para modificar uma planilha, crie uma nova instância semelhante à existente e adicione os dados necessários à nova planilha.
Lendo dados de uma planilha específica
A API Spout permite que desenvolvedores PHP acessem e leiam dados de uma planilha específica dentro de uma planilha. Normalmente, uma planilha contém várias planilhas. Se um usuário estiver interessado em ler dados de apenas uma planilha e pular as outras planilhas. Os usuários só precisam saber o nome e a posição da planilha.