Export PHP data to .xls file

Dados

PASSO 1: Crie uma matriz 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 exigência:

$ customers_data = array (array ('customers_id' => '1', 'customers_firstname' => 'Chris', 'customers_lastname' => 'Cavagin', 'customers_email' => 'chriscavagin@gmail.com', 'customers_telephone' => '9911223388'), matriz ('customers_id' => '2', 'customers_firstname' => 'Richard', 'customers_lastname' => 'Simmons', 'customers_email' => 'rsimmons@media.com', ' customers_telephone '=>' 9911224455 '), matriz (' 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 desigual de aspas em uma string pode confundir o Excel.

// Função de filtro de dados do cliente filterCustomerData (& $ str) {$ str = preg_replace ("/ \ t /", "\\ t", $ str); $ str = preg_replace ("/ \ r? \ n /", "\\ n", $ str); if (strstr ($ str, '"')) $ str = '"'. str_replace ('"', '" "', $ str). '"'; }

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

$ file_name

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

PASSO 4: Definir loop através de cada linha no

// Para definir o nome da coluna na primeira linha. $ column_names = false; // executa um loop por cada linha em $ customers_data foreach ($ customers_data como $ 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'); eco 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 por cada linha e usei array_walk ()

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

Se tudo correr bem, o nome do arquivo será nomeado "customers_data.xls" baixado e salvo no seu computador. Você pode abrir este arquivo no Excel, com a seguinte aparência:

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 *