"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > ExcelMapper: simplifique a importação de dados do Excel em seus projetos PHP

ExcelMapper: simplifique a importação de dados do Excel em seus projetos PHP

Publicado em 01/09/2024
Navegar:193

ExcelMapper: Simplify Excel Data Importation in Your PHP Projects

Gerenciar importações de dados de arquivos Excel muitas vezes pode ser um processo complicado em aplicativos PHP. Esteja você construindo um CRM, um sistema de inventário ou qualquer aplicativo baseado em dados, lidar com arquivos Excel com várias estruturas e formatos é um requisito comum. Para facilitar esse processo, tenho o prazer de apresentar o ExcelMapper — uma biblioteca PHP projetada para simplificar o mapeamento, a análise e a importação de dados do Excel para seus aplicativos PHP.

Neste artigo, mostrarei os principais recursos do ExcelMapper, mostrarei como instalá-lo e configurá-lo e fornecerei alguns exemplos práticos para ajudá-lo a começar.

Instalação

Instalar o ExcelMapper é simples usando o Composer. Se você ainda não instalou o Composer, você pode fazê-lo aqui. Depois que o Composer estiver instalado, você poderá exigir o ExcelMapper em seu projeto:

composer require esmaeil/excelmapper

Começando
Vamos começar criando um exemplo básico de como usar o ExcelMapper para importar dados de um arquivo Excel.

Etapa 1: Prepare seu arquivo Excel
Imagine que você tem um arquivo Excel clients.xlsx com a seguinte estrutura:

| First Name | Last Name | Phone Number |
|------------|-----------|--------------|
| John       | Doe       | ۱۲۳۴۵۶۷۸۹۰   |
| Jane       | Smith     | 9876543210   |

Etapa 2: Crie um analisador personalizado (opcional)
ExcelMapper vem com um DefaultParser que simplesmente retorna o valor da célula. No entanto, você pode querer criar analisadores personalizados para lidar com lógicas mais complexas, como formatação de números de telefone ou divisão de nomes completos.

Aqui está um exemplo de analisador personalizado que converte dígitos persas/árabe em dígitos ingleses:

namespace ExcelMapper\Parsers;

use ExcelMapper\Interfaces\ColumnParserInterface;
use ExcelMapper\Utils\DataHelper;

class DigitConversionParser implements ColumnParserInterface
{
    public function parse($value)
    {
        return DataHelper::convertDigits($value);
    }
}

Etapa 3: Definir mapeamentos de colunas
A seguir, defina como cada coluna do seu arquivo Excel deve ser mapeada e analisada:

use ExcelMapper\DataProcessor\ExcelDataProcessor;
use ExcelMapper\Readers\ExcelReader;
use ExcelMapper\Parsers\DefaultParser;
use ExcelMapper\Parsers\DigitConversionParser;

// Define custom column mapping
$mapping = [
    ['first_name', DefaultParser::class],
    ['last_name', DefaultParser::class],
    ['phone_number', DigitConversionParser::class], // Convert digits to English
];

Exemplo de uso do ExcelMapper

// Read Excel file
$reader = new ExcelReader();
$sheetData = $reader->read('path_to_file.xlsx');

// Process the data
$processor = new ExcelDataProcessor();
$processor->process($sheetData, $mapping, function($mappedData) {
    // Handle the mapped data (e.g., save to database)
    print_r($mappedData);
});

Estendendo o ExcelMapper
ExcelMapper foi projetado para ser extensível. Você pode adicionar facilmente seus próprios analisadores e leitores ou modificar os existentes para atender às suas necessidades específicas. Por exemplo, você pode criar um leitor personalizado para arquivos CSV ou estender a classe ExcelDataProcessor para adicionar etapas de processamento adicionais.

Conclusão
ExcelMapper é uma ferramenta poderosa e flexível para gerenciar importações de dados do Excel em PHP. Com seus mapeamentos de colunas personalizáveis ​​e arquitetura extensível, ele pode lidar com uma ampla variedade de casos de uso, desde simples importações de dados até transformações complexas de dados.

Se você tiver alguma dúvida, feedback ou contribuição, sinta-se à vontade para abrir um problema ou pull request no GitHub. Vamos facilitar a importação de dados em PHP juntos!

GitHub

Declaração de lançamento Este artigo está reproduzido em: https://dev.to/esmaeilbahrani/excelmapper-simplify-excel-data-importation-in-your-php-projects-5gnm?1 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3