Artículo
|
Exportar e importar archivos CSV con PHP |
Cuando uno piensa en realizar una aplicación web, puede tener en la cabeza, la posibilidad de poder crear informes con los datos que tenga almacenado en la base de datos de su aplicación.
Una forma de poder crear estos informes es la de permitir la exportación de datos en formato CSV, ya que ahora espacio, y luego lo puede visualizar como si fuera una hoja de cálculo, ya que que estos programas permite abrir los ficheros CSV y separar los distintos campos por el separador que forme parte del fichero CSV.
Vamos a ver la forma de crear un fichero CSV de forma sencilla con los datos obtenidos de una base de datos.
Este código, lo que hace es abrir el fichero “reporte.csv” donde iremos escribiendo los datos de nuestra consulta.
Mediante un blucle, vamos recorriendo todos los datos obtenidos de nuestra consulta y creamos una línea que almacenaremos en el fichero. Con la función “fwrite” escribiremos en el archivo.
No hay que olvidar de cerrar el descriptor del archivo que hemos utilizado para guardar los datos.
Ahora bien, si tenemos el caso contrario, es decir un archivo CSV y queremos utilizar sus datos, podemos leerlos de forma sencilla con la función “fgetcsv”, a la que le tendremos que indicar la variable que apunta al descriptor, la longitud de datos a coger de la línea y el separador de campos. De esta forma, tendremos en un array los valores de cada campo.
Como podéis ver, escribir o leer de un fichero CSV es algo muy sencillo y que se puede hacer en pocas líneas de código.
Vía: Craftyman
Una forma de poder crear estos informes es la de permitir la exportación de datos en formato CSV, ya que ahora espacio, y luego lo puede visualizar como si fuera una hoja de cálculo, ya que que estos programas permite abrir los ficheros CSV y separar los distintos campos por el separador que forme parte del fichero CSV.
Vamos a ver la forma de crear un fichero CSV de forma sencilla con los datos obtenidos de una base de datos.
$f = fopen("reporte.csv","w");
$sep = ","; //separador
while($reg = mysql_fetch_array($datos) ) {
$linea = $reg['id'].$sep.$reg['nombre'].$sep.$reg['email']."n";
fwrite($f,$linea);
}
fclose($f);
Este código, lo que hace es abrir el fichero “reporte.csv” donde iremos escribiendo los datos de nuestra consulta.
Mediante un blucle, vamos recorriendo todos los datos obtenidos de nuestra consulta y creamos una línea que almacenaremos en el fichero. Con la función “fwrite” escribiremos en el archivo.
No hay que olvidar de cerrar el descriptor del archivo que hemos utilizado para guardar los datos.
Ahora bien, si tenemos el caso contrario, es decir un archivo CSV y queremos utilizar sus datos, podemos leerlos de forma sencilla con la función “fgetcsv”, a la que le tendremos que indicar la variable que apunta al descriptor, la longitud de datos a coger de la línea y el separador de campos. De esta forma, tendremos en un array los valores de cada campo.
$fp = fopen ( "reporte.csv" , "r" );
while (( $data = fgetcsv ($fp,1000,",")) !== FALSE ){
$i = 0;
foreach($data as $row) {
echo "Campo $i: $rown";
// Muestra todos los campos de la fila actual
$i++ ;
}
echo "nn";
}
fclose ( $fp );
Como podéis ver, escribir o leer de un fichero CSV es algo muy sencillo y que se puede hacer en pocas líneas de código.
Vía: Craftyman
![]() |
Publicado por: angel carrero |
|
|
Comentarios
Últimas noticias
· factura
Últimos artículos














































