Export PHP data to .xls file

Datos

PASO 1: cree una matriz para almacenar los datos

He creado una matriz ($ clientes_datos) para almacenar los detalles de los clientes. Puede crear su propia matriz según sus requisitos:

$ customers_data = array (array ('customers_id' => '1', 'clients_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 ',' clients_telephone '=>' 9911334488 '), array (' customers_id '=>' 5 ',' clients_firstname '=>' Rachel ',' customers_lastname '=>' Dyson ',' customers_email '=>' racheldyson @ gmail.com ',' customers_telephone '=>' 9912345388 '));

PASO 2: cree una función para filtrar los datos:

Esta función se utiliza para detectar comillas dobles y escapar de cualquier valor que las contenga. Sin esto, un número desigual de comillas en una cadena puede confundir a Excel.

// Filtro de datos del cliente función filterCustomerData (& $ str) {$ str = preg_replace ("/ \ t /", "\\ t", $ str); $ str = preg_replace ("/ \ r? \ n /", "\\ n", $ str); if (strstr ($ str, '"')) $ str = '"'. str_replace ('"', '" "', $ str). '"'; }

PASO 3: defina el nombre del archivo y el encabezado del contenido para descargar:

$ nombre_archivo

// Nombre del archivo y encabezado de contenido para descargar $ file_name = "customers_data.xls"; header ("Content-Disposition: adjunto; filename = \" $ file_name \ ""); header ("Content-Type: application / vnd.ms-excel");

PASO 4: defina el bucle a través de cada fila en

// Para definir el nombre de la columna en la primera fila. $ column_names = false; // ejecuta el bucle a través de cada fila en $ clients_data foreach ($ clients_data como $ row) {if (! $ column_names) {echo implode ("\ t", array_keys ($ row)). "\norte"; $ column_names = true; } // La función array_walk () ejecuta cada elemento de matriz en una función definida por el usuario. array_walk ($ row, 'filterCustomerData'); echo implode ("\ t", array_values ​​($ fila)). "\norte"; } salida;

1 Defina una variable $ column_names que se usa para imprimir el nombre de la columna en la primera fila de Excel. 2 Ejecuta un ciclo a través de cada fila y usa array_walk ()

PASO 5: Ejecute el archivo de script en su entorno:

Si todo va bien, el nombre del archivo se llamará "clients_data.xls", descargado y guardado en su computadora. Puede abrir este archivo en Excel con el siguiente aspecto:

Ejecute el archivo de script en su entorno

Haga clic aquí para descargar el código completo


Leave a Reply

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