Export PHP data to .xls file

Les données

STEP 1: Créer un tableau pour stocker les données

J'ai créé un tableau ($ customer_data) pour stocker les détails des clients. Vous pouvez créer votre propre tableau selon vos besoins:

$ customers_data = array (array ('customers_id' => '1', 'customers_firstname' => 'Chris', 'customers_lastname' => 'Cavagin', 'customers_email' => 'chriscavagin@gmail.com', 'clients_téléphone' => '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: Créez une fonction pour filtrer les données:

Cette fonction est utilisée pour détecter les guillemets doubles et échapper à toute valeur qui les contient. Sans cela, un nombre inégal de guillemets dans une chaîne peut confondre Excel.

// Filtre les données du client function filterCustomerData (& $ str) {$ str = preg_replace ("/ \ t /", "\\ t", $ str); $ str = preg_replace ("/ \ r? \ n /", "\\ n", $ str); if (strstr ($ str, '"')) $ str = '"'. str_replace ('"', '" ", $ str).'" '; }

STEP 3: Définissez le nom du fichier et l'en-tête de contenu pour le téléchargement:

$ nom_fichier

// Nom de fichier et en-tête de contenu à télécharger $ file_name = "customers_data.xls"; en-tête ("Content-Disposition: attachment; nomfichier = \" $ nom_fichier \ ""); en-tête ("Type de contenu: application / vnd.ms-excel");

ÉTAPE 4: Définir la boucle à travers chaque ligne de

// Pour définir le nom de la colonne dans la première ligne. $ nom_colonne = false; // parcourt chaque ligne dans $ customers_data foreach ($ customers_data as $ row) {if (! $ nom_colonne) {echo implode ("\ t", array_keys ($ row)). "\ n"; $ nom_colonne = true; } // La fonction array_walk () exécute chaque élément de tableau dans une fonction définie par l'utilisateur. array_walk ($ row, 'filterCustomerData'); echo implode ("\ t", array_values ​​($ row)). "\ n"; } sortie;

1. Définissez une variable $ nom_colonne utilisée pour imprimer le nom de la colonne dans la première ligne d'Excel. 2. Exécutez une boucle sur chaque ligne et utilisez array_walk ()

STEP 5: Exécutez le fichier de script dans votre environnement:

Si tout se passe bien, le nom du fichier sera nommé "customers_data.xls", téléchargé et sauvegardé sur votre ordinateur. Vous pouvez ouvrir ce fichier dans Excel qui se présente comme suit:

Exécuter le fichier de script dans votre environnement

Cliquez ici télécharger le code complet.


Leave a Reply

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