Export PHP data to .xls file

Dati

STEP 1: creare un array per archiviare i dati

Ho creato un array ($ customers_data) per memorizzare i dettagli dei clienti. Puoi creare il tuo array secondo le tue esigenze:

$ 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', ' customers_telephone '=>' 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 '));

STEP 2: crea una funzione per filtrare i dati:

Questa funzione viene utilizzata per rilevare virgolette doppie e sfuggire a qualsiasi valore che le contiene. Senza questo un numero irregolare di virgolette in una stringa può confondere Excel.

// Filtro Funzione dati cliente filterCustomerData (& $ str) {$ str = preg_replace ("/ \ t /", "\\ t", $ str); $ str = preg_replace ("/ \ r? \ n /", "\\ n", $ str); if (strstr ($ str, '"')) $ str = '"'. str_replace ('"', '" "', $ str). '"'; }

STEP 3: definire il nome del file e l'intestazione del contenuto per il download:

$ nome_file

// Nome file e intestazione del contenuto da scaricare $ file_name = "customers_data.xls"; header ("Disposizione-contenuto: allegato; nomefile = \" $ nome_file \ ""); header ("Content-Type: application / vnd.ms-excel");

STEP 4: Definisci Loop attraverso ogni riga in

// Per definire il nome della colonna nella prima riga. $ column_names = false; // esegui il ciclo attraverso ogni riga in $ customers_data foreach ($ customers_data come $ row) {if (! $ column_names) {echo implode ("\ t", array_keys ($ row)). "\ N"; $ column_names = true; } // La funzione array_walk () esegue ogni elemento dell'array in una funzione definita dall'utente. array_walk ($ row, 'filterCustomerData'); echo implode ("\ t", array_values ​​($ row)). "\ N"; } Uscita;

1. Definire una variabile $ nome_colonna che viene utilizzata per stampare il nome della colonna nella prima riga di Excel. 2. Esegui un ciclo attraverso ogni riga e utilizza array_walk ()

STEP 5: esegui il file di script nel tuo ambiente:

Se tutto va bene, il nome file verrà chiamato "customers_data.xls" scaricato e salvato sul tuo computer. Puoi aprire questo file in Excel simile al seguente:

Esegui il file di script nel tuo ambiente

Clicca qui per scaricare il codice completo.


Leave a Reply

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