Export PHP data to .xls file

Export PHP data to .xls file

Dados são qualquer conjunto de caracteres que são traduzidos para algum propósito, como para análise. Pode ser qualquer caractere ou valor, incluindo texto e números, imagens, som ou vídeo. Se os dados não são colocados em contexto, eles não fazem nada para um ser humano ou máquina. Geralmente exportamos dados dos sites para salvá-los no computador para uso offline, como manter dados de lista e analisá-los. Excel é o melhor formato para exportar dados em um arquivo, porque a leitura de arquivos grandes é muito mais fácil no Excel para o usuário. Além disso, você pode usar funções adicionais como selecionar células individuais para importar os dados, converter datas e horas automaticamente, filtros, classificação, leitura de fórmulas e seus resultados etc.

Exportar dados PHP para arquivo .xls
Neste blog vamos aprender como exportar dados PHP para arquivo .xls passo a passo. Com a ajuda de um script PHP simples, você pode exportar dados para o Excel e baixá-los em um arquivo .xls.

PASSO 1: Crie um Array para armazenar os dados

Eu criei uma matriz ($customers_data) para armazenar os detalhes dos clientes. Você pode criar sua própria matriz conforme sua necessidade:

$customers_data = array( array( 'customers_id' => '1', 'customers_firstname' => 'Chris', 'customers_lastname' => 'Cavagin', 'customers_email' => 'chriscavagin@gmail.com', 'customers_telephone' => '9911223388' ), array( 'customers_id' => '2', 'customers_firstname' => 'Richard', 'customers_lastname' => 'Simmons', 'customers_email' => 'rsimmons@media.com', ' clientes_telefone' => '9911224455' ), array( 'customers_id' => '3', 'customers_firstname' => 'Steve', 'customers_lastname' => 'Beaven', 'customers_email' => 'ateavebeaven@gmail.com' , 'customers_telephone' => '8855223388' ), array( 'customers_id' => '4', 'customers_firstname' => 'Howard', 'customers_lastname' => 'Rawson', 'customers_email' => 'howardraw@gmail. com', 'customers_telephone' => '9911334488' ), array( 'customers_id' => '5', 'customers_firstname' => 'Rachel', 'customers_lastname' => 'Dyson', 'customers_email' => 'racheldyson@ gmail.com', 'customers_telephone' => '9912345388' ) );

PASSO 2: Crie uma função para filtrar os dados:

Esta função é usada para detectar aspas duplas e escapar de qualquer valor que as contenha. Sem isso, um número ímpar de aspas em uma string pode confundir o Excel.

// Filtrar Dados do Cliente function filterCustomerData(&$str) { $str = preg_replace("/\t/", "\\t", $str); $str = preg_replace("/\r?\n/", "\\n", $str); if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"'; }

ETAPA 3: Defina o nome do arquivo e o cabeçalho do conteúdo para download:

A variável $file_name�é usada para manter o nome do arquivo e também definir o cabeçalho do conteúdo para download.

// Nome do arquivo e cabeçalho do conteúdo para download $file_name = "customers_data.xls"; header("Conteúdo-Disposição: anexo; filename=\"$file_name\""); header("Tipo de conteúdo: aplicativo/vnd.ms-excel");

ETAPA 4: Defina o Loop em cada linha em $customers_data

//Para definir o nome da coluna na primeira linha. $column_names = false; // executa o loop em cada linha em $customers_data foreach($customers_data as $row) { if(!$column_names) { echo implode("\t", array_keys($row)) . "\n"; $column_names = true; } // A função array_walk() executa cada elemento do array em uma função definida pelo usuário. array_walk($row, 'filterCustomerData'); echo implode("\t", array_values($row)) . "\n"; } saída;

1. Defina uma variável $column_names que é usada para imprimir o nome da coluna na primeira linha do Excel. 2. Execute um loop em cada linha e use a função array_walk()� para executar cada linha em uma função definida pelo usuário.

ETAPA 5: Execute o arquivo de script em seu ambiente:

Se tudo correr bem, o nome do arquivo será chamado “customers_data.xls” baixado e salvo em seu computador. Você pode abrir este arquivo no Excel que se parece com o seguinte:

Execute o arquivo de script em seu ambiente

Clique aqui para baixar o código completo.

Leave a Reply

Your email address will not be published. Required fields are marked *