Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Insertar datos desde un archivo excel a una tabla mysql

Estas en el tema de Insertar datos desde un archivo excel a una tabla mysql en el foro de Mysql en Foros del Web. Buenas tardes, Tengo un archivo Excel cuyos datos me gustaría insertar directamente en una tabla de mi base de datos. Las columnas del Excel coincide ...
  #1 (permalink)  
Antiguo 24/04/2007, 09:33
 
Fecha de Ingreso: noviembre-2005
Ubicación: Alicante (España)
Mensajes: 242
Antigüedad: 18 años, 4 meses
Puntos: 1
Insertar datos desde un archivo excel a una tabla mysql

Buenas tardes,


Tengo un archivo Excel cuyos datos me gustaría insertar directamente en una tabla de mi base de datos.
Las columnas del Excel coincide con el número de campos de la tabla.

¿Cómo puedo cargar esos datos en la tabla de forma automática?,
Si es con una sentencia en SQL, ¿Cómo sería?


Un saludo.
  #2 (permalink)  
Antiguo 24/04/2007, 10:02
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
Re: Insertar datos desde un archivo excel a una tabla mysql

Hola, lo que puedes hacer es guardar el archivo de excel como un csv delimitado por comas y exportarlo directamente a tu base. Saludos
__________________
->Aprender es un proceso que incluye el error..
  #3 (permalink)  
Antiguo 24/04/2007, 20:36
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Re: Insertar datos desde un archivo excel a una tabla mysql

Coincido con cala932, siempre y cuando el contenido de las columnas excel, no tengan comas. Si es así, lo mejor y más aconsejable es exportarlo delimitado por TAB (tabuladores).
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #4 (permalink)  
Antiguo 26/04/2007, 13:43
 
Fecha de Ingreso: noviembre-2005
Ubicación: Alicante (España)
Mensajes: 242
Antigüedad: 18 años, 4 meses
Puntos: 1
Re: Insertar datos desde un archivo excel a una tabla mysql

Hola,

pues estoy intentando grabar desde el excel el archivo con los datos como un archivo CSV delimitado por comas pero el excel me avisa de que hay caracteristicas no compatibles con este formato y me pide mantenerlas o perderlas.. Le diga lo que le diga me almacena un archivo .csv con la misma apariencia que el excel, es decir, con las columnas y los datos.

El archivo en excel no tiene sombreados, ni bordes, ni nada fuera del texto pero no consigo generar un archivo csv delimitado por comas válido.

¿Qué estoy haciendo mal?
  #5 (permalink)  
Antiguo 07/05/2007, 13:32
 
Fecha de Ingreso: noviembre-2005
Ubicación: Alicante (España)
Mensajes: 242
Antigüedad: 18 años, 4 meses
Puntos: 1
Re: Insertar datos desde un archivo excel a una tabla mysql

No lo consigo. Tengo la impresión de que no consigo generar bien el archivo css desde el excel.

¿Sólo hay que darle a "guardar como" -> archivo css delimitado por comas y ya está?.. ¿Es normal que me pregunte si deseo mantener el formato?

Si lo genero bien, ¿Qué más me hace falta?.. ¿Algun driver ODBC para conectarme con la base de datos en SQL?

Utilizo el Excel del Office XP y el SQLYOG.

Por favor, si alguien lo ha conseguido antes o sabeis de alguna web donde lo expliquen le estaría muy agradecido.


Un saludo ;)
  #6 (permalink)  
Antiguo 13/05/2007, 05:04
 
Fecha de Ingreso: noviembre-2005
Ubicación: Alicante (España)
Mensajes: 242
Antigüedad: 18 años, 4 meses
Puntos: 1
Re: Insertar datos desde un archivo excel a una tabla mysql

Buenas!

He conseguido importar los datos desde el csv al sqlyog. Parece ser que no había indicado bien la separación por el carácter ';'.

Ahora me surge otro problema. Los datos se importan bien a excepción de un campo numérico. Este campo es un float con dos decimales y, cuando se importa en la base de datos, aparece "truncado" a su parte entera.

En el excel, indico que toda esa columna es de tipo numérico con dos decimales.. Luego guardo el archivo como csv y en el sqlyog indico que los campos están separados por ;.

Una celda con ese formato numérico es del tipo (4,56).
¿Por qué me trunca el valor numérico?.. En la base de datos aparece sólo el 4 y se come el ,56...¿Alguien sabe por qué?

Última edición por Tarzan; 14/05/2007 a las 04:08
  #7 (permalink)  
Antiguo 19/10/2010, 01:00
 
Fecha de Ingreso: octubre-2010
Mensajes: 8
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Insertar datos desde un archivo excel a una tabla mysql

Tarzan , guarda el excel con un archivo csv delimitado por comas (las ventanas de compatibilidad siempre salén, no te preocupes por eso). La tabla si la abres es como un excel pero no es así, con la función de php getcsv() recorres ese archivo guardando en variables los campos delimitados por ;

$fp = fopen ("personas.csv","r");
while ($data = fgetcsv ($fp, 1000, ";"))
{
$insertar="INSERT INTO personas ( NOMBRE, DNI, EMAIL) VALUES ('$data[0]','$data[1]','$data[2]')";

mysql_query($insertar);
}
fclose ($fp);
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:36.