![]() |
Importar datos de excel a mysql mediante codigo PHP Hola: Por favor necesito ayuda para importar mis datos desde un archivo excel a mysql mediante un formulario creado en php, es decir el formulario debe mostrar los encabezados de las columnas de excel de manera que me permita elegir que columnas deben ser copiadas a mi base de datos. Para lo cual necesito saber como abrir un archivo excel en php y tambien me sería util ejemplos de codigo para recorrer columnas y hojas de mi libro excel. Gracias de antemano. |
¿No te convendrá exportar el archivo como CSV y ahí entrarle? No conozco còmo acceder archivos excel desde PHP, si alguien sabe o lo ha investigado estarìa interesasnte saberlo. Saludos! |
de excel a mysql A mi me pasaron lo que sigue abajo y me funciona. Que te vaya bien. Seguramente, os habéis preguntado como poder pasar los datos de una hoja de Excel a una Base de Datos Mysql, por ejemplo, para que la gente pueda ver los artículos que hay en mi almacén. 1.-El primer paso es crear la tabla. CREATE TABLE almacen ( articulo CHAR(80), color CHAR(20) , material CHAR(60), precio INTEGER ); 2.- El segundo paso es convertir el fichero de excel en un fichero con formato (.CSV). Esto consiste en generar un fichero, donde los datos de cada fila van separados por coma. Para guardarlo se debe seleccionar "Guardar como" y elegir el Tipo (CSV "Delimitado por comas"). Le damos el nombre "datos.csv". El fichero generado quedaría algo así: Camiseta,Blanca,Algodón,1500 Pantalón,Azul,Algodón,5000 Jersey,Negro,Algodón,3500 Malla,Azul,Algodón,3000 Top,Blanco,Algodón,3400 Correa,Negra,Cuero,3400 Gorra,Colores,Algodón,1400 Calcetines,Blancos,Algodón,500 3.-El tercer paso es leer el fichero "datos.scv" y meterlo el la tabla "Almacen" de la Base de Datos. <?php require("conexion.inc"); $row = 1; $fp = fopen ("datos.scv","r"); while ($data = fgetcsv ($fp, 1000, ",")) { $num = count ($data); print " <br>"; $row++; echo "$row.". $data[0]." ------------ ".$data[1]."-------".$data[3]; $insertar="INSERT INTO almacen (articulo,color,material,precio) VALUES ('$data[0]','$data[1]','data[2]','data[3]')"; mysql_query($insertar); } fclose ($fp); ?> Esto lo único que hace, es leer del fichero datos.csv e introducirlo en el Almacén. PASAR EL CONTENIDO DE UNA TABLA A UN FICHERO DE EXCEL. $archivo="archivo.xls"; $busca=mysql_query(SELECT * FROM clientes"); while ($row = mysql_fetch_row($busca)) { $a=$row[0]; $a.=",$row[1]"; $a.=",$row[2]"; $a.=",$row[3]"; $a.=",$row[4] \n"; echo $a; $p=fopen("$archivo","a"); if($p) { fputs($p,$a); } } fclose($p); echo "<a href=$archivo>Ver archivo</a>" |
Excel a MySQL Porbé este código y no me funciona... alguna idea... les dejo acá mi code (es igual al de arriba con unas pequeñas modificaciones para adecuarlo a mis necesidades!): Código PHP: Alguna idea???:neurotico :neurotico :neurotico |
Yo tuve q hacerlo "por única vez" y lo que hice fue un copy - paste en PHP y setearlo en una variable. Después usaba un explode de los saltos de línea, y un explode de las tabulaciones entonces recorría las filas con foreachs Por ejemplo: Código PHP: |
Cita:
Aparte (sin querer despreciar tu valiosa ayuda), me gustaría encontrarle la vuelta al código que puse arriba, porque es raro, me agrega el 1er reg... y los demás no!)... Gracias, y espero ayuda, please!!! :adios: |
Encontré un posible error, que no se porqué sucede, ni como solucionarlo, pero quizá alguien sepa... El problema es que TODA la cadena de datos me la guarda en $data[0], y en los demás NADA... no se porque, porque supuestamente debería separar por cada ";", verdad? a alguien se le ocurre porque o como solucionarlo??? gracias! |
Solucionado! Hola, escribo para agradecer a todos, y para comentarles que se me ocurrió cuál era el problema (mientras me duchaba :risa:), y lo probé y efectivamente era eso... No sé porqué, las lineas (dato1;otrodato;etc;etc) me habían quedado entre comillas (y por eso, agarraba toda la linea como el primer registro)... Pero el código estaba bien, acá lo dejo por si en otro momento alguien se topa con esto buscando lo mismo que yo buscaba hoy... CÓDIGO PARA SUBIR UN EXCEL A MYSQL: Código PHP: saludos, y gracias de nuevo :adios: |
Esto Funciona Perfectamente amigos... No estaba en busca de esto llegue aqui por el buscador de esta pagina.... pero estaba interesante este tema.. ami tambien se sirvio Saludos.- |
Re: Importar datos de excel a mysql mediante codigo PHP Oigan todo esto esta muy interesante, pero no habrá forma de hacerlo todo en un sólo paso? no necesariamente con php sino usando una librería de navicat y programando en algun lenguaje no web sino de escritorio, es posible? alguien sabe como hacerlo? |
Re: Importar datos de excel a mysql mediante codigo PHP Hola, Tengo un programa que lo hace rápido y bien. Me escribes un mail y te lo paso. atencion.online#( a r r o b a )#gmail#.#com Quita los # y escribe bien el arroba, lo puse asi para que lo escaneen los robots. Saludos PD: funciona con excel ycon CSV |
Re: Importar datos de excel a mysql mediante codigo PHP Cita:
Gracias, |
Re: Importar datos de excel a mysql mediante codigo PHP Código PHP: |
Re: Importar datos de excel a mysql mediante codigo PHP Hola amigos, todavia sigo esperando respuesta de mi pregunta, la necesito a la brevendad por favor, es q' me estan apurando bastante, y bueno a mi me cuesta entnder siempre he tenido q' necesitar tiempo para aprender, nos vemos olaja lo antes posible, gracias. |
Re: Importar datos de excel a mysql mediante codigo PHP Código PHP: y respecto a tu pregunta de "como traspaso un excel a un .csv" Bueno en Excel click en : ARCHIVO -> GUARDAR COMO... -> GUARDAR COMO TIPO -> CSV (delimitado por comas)(*.csv) Saludos.- |
Re: Importar datos de excel a mysql mediante codigo PHP una pregunta y no ay una forma de hacerlo con exel? 'recorer sus filas y columnas' |
| La zona horaria es GMT -6. Ahora son las 01:13. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.