Este post mostramos como exportar datos desde PHP a CSV o bien crear documentos en CSV desde una base de datos mysql, esto es bastante útil para poder capturar los datos desde la base de datos y directamente pasarlos a CSV.
// database record to be exported $db_record = 'product'; // optional where query $where = "WHERE date_added='2013-01-01 00:00:00' and sku=model ORDER BY 1"; // filename for export $csv_filename = 'db_export_'.$db_record.'_'.date('Y-m-d').'.csv'; // database variables $hostname = "localhost"; $user = "usuario"; $password = "elpassworddd"; $database = "labasededatos"; // Database connecten voor alle services mysql_connect($hostname, $user, $password) or die('Could not connect: ' . mysql_error()); mysql_select_db($database) or die ('Could not select database ' . mysql_error()); // create empty variable to be filled with export data $csv_export = ''; // query to get data from database $query = mysql_query("SELECT * FROM ".$db_record." ".$where); $field = mysql_num_fields($query); // create line with field names for($i = 0; $i < $field; $i++) { $csv_export.= mysql_field_name($query,$i).';'; } // newline (seems to work both on Linux & Windows servers) $csv_export.= ' '; // loop through database query and fill export variable while($row = mysql_fetch_array($query)) { // create line with field values for($i = 0; $i < $field; $i++) { $csv_export.= '"'.$row[mysql_field_name($query,$i)].'";'; } $csv_export.= ' '; } // Export the data and prompt a csv file for download header("Content-type: text/x-csv"); header("Content-Disposition: attachment; filename=".$csv_filename.""); echo($csv_export); |
Quizá la forma más completa y segura (en cuanto a no tener errores) es utilizar la clase PHPExcel que puedes ver en este ejemplo, no obstante tienes que saber que existen otras muchas mas formas, por ejemplo estas que pongo a continuación.
Si no quieres utilizar esta clase de php, y necesitas solo hacer una exportación sencilla puedes hacerlo de dos maneras bastante sencillas, siempre que tus datos no tengan características muy raras como por ejemplo tabulaciones y demás .
Exportar datos a excel desde php y mysql
Aquí te dejo otra manera incluso más sencilla
Exportar datos desde php a excel
Si solo necesitas exportarlo a CSV, te recuerdo que un CSV no es igual que un EXCEL y si solo necesitas un CSV que es un formato mucho más universal entonces NO necesitas volverte loco y puedes hacerlo así de simple.
Exportar datos desde php a CSV