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:
Clique aqui para baixar o código completo.