Como generar un archivo CSV con PHP

En esta oportunidad les explicaré una manera sencilla de trabajar con archivos csv  desde php,  para ese primer ejemplo voy a suponer que hemos generado  un arreglo con información de usuarios qué bien se pudo haber obtenido  mediante una consulta a una base de datos de Mysql, Oracle  o cualquiera que estén trabajando en su momento  deberemos  tener en cuenta  que  en este  ejemplo estoy trabajando aversión 7 de php aunque bien podría funcionar con algunas versiones anteriores mayores a la versión 5.4 habiendo aclarado este iniciemos.

 

para ese caso voy a trabajar con una librería que se llama league csv o mejor dicho de esa manera la pueden encontrar en cualquier buscador.

 

  • Descargar emule librerías de siguiente repositorio. https://github.com/thephpleague/csv
  • Una vez descargada la  guardaremos en la raíz de nuestro proyecto dentro de la carpeta vendor si no tiene esa carpeta te recomiendo crearla, por convención Ese es el directorio donde nosotros guardaremos las librerías externas de nuestros proyectos.
  • Ahora cargaremos un archivo autoload.php  en nuestro scripts  con la  instrucción require.
  • crearemos una instancia de una de las clases de la librería para el caso writte
  • por medio del método insertOne agregaremos los títulos de cada columna
  • Insertamos el arreglo que contendrá la información que contendrá un archivo csv.
  • Luego agregamos el nombre del archivo.


De esta manera vamos a generar el archivo y dejarlo listo para descargar para más información puedes visitar la siguiente url. http://csv.thephpleague.com/

 <?php

require "vendor/csv-master/autoload.php";

use League\Csv\Writer;


//Lista de usuarios genera de alguna manera por ejemplo resultado de una consulta
$listaUsuarios = array(
    0 => array('Carlos Hernan', 'Aguilar', 'carloshernan@ingenieroweb.com.co'),
    1 => array('Carlos Hernan', 'Aguilar', 'carloshernan@ingenieroweb.com.co'),
    3 => array('Carlos Hernan', 'Aguilar', 'carloshernan@ingenieroweb.com.co'),
    4 => array('Carlos Hernan', 'Aguilar', 'carloshernan@ingenieroweb.com.co'),
    5 => array('Carlos Hernan', 'Aguilar', 'carloshernan@ingenieroweb.com.co')
);

// Instanciamos la clase para escribir el archivo csv
$csv = Writer::createFromFileObject(new SplTempFileObject());

//Información de la primera fila
$csv->insertOne(['nombre', 'apellido', 'email']);

//Agregamos el arreglos con los registros
$csv->insertAll($listaUsuarios);

//Obtenemos el resultado para la salida
$csv->output('usuarios.csv');

//finalizamos el scritp
exit;

 

 

 

 

<script src="https://gist.github.com/carloshernan007/d766481706d81b30ecdbfeceb6154729.js"></script>

Añadir nuevo comentario

Resumen Firma

Carlos Hernan Aguilar Hurtado

Desarrollador WEB

Hola,Soy ingeniero informático radicado en la ciudad de Santiago de Cali orientado al trabajo con soluciones WEB, apasionado por la tecnología siempre en la búsqueda de herramientas y alternativas para mejorar el resultado de los objetivos que se presentan con el día a día.

Carlos Hernan Aguilar Hurtado