Importar datos desde Mysql con Excel 2010
En este tutorial explicaremos como conectar Excel con la base de datos «Mysql«.
Para realizar esta conexión necesitaremos «Mysql ODBC Driver» y obviamente una base de datos a la cual nos queremos conectar (no importa que se aloje en otro computador o servidor).
Pueden encontrar el conector haciendo clic aquí Mysql ODBC.
Lo primero sera ir a la ruta del ODBC:
Inicio -> Panel de Control -> Herramientas Administrativas-> Orígenes de datos ODBC
Ahora debemos agregar una nueva conexión para esto hacemos clic sobre el botón Agregar…
y luego seleccionamos MySQL ODBC 3.51 Driver y hacemos clic en Finalizar.
Nos abrirá una nueva ventana en donde debemos agregar nuestros datos de conexión con el servidor de MySql que hayan instalado. Recordemos que los datos deben corresponder a los que deseamos utilizar en Excel, por ejemplo en este caso queremos ver los datos de los alumnos en la tabla alumno de la base quality_info_solution.
Una vez ingresado todos los datos presionamos Ok y si los datos están correctos nos mostrara el ODBC recién creado en la lista.
Ya con el ODBC estamos listos para crear la conexión entre Excel y Mysql.
Lo primero sera abrir Excel y dirigirnos a opción Datos-> De otras fuentes -> Desde el asistente para conexión de datos.
Seleccionamos DSN (nombre de origen de datos) de ODBC -> Siguiente
Luego seleccionamos la conexión ODBC creada anteriormente y clic en Siguiente.
En la siguiente ventana debemos seleccionar la tabla de donde deseamos obtener los datos.
En este punto podemos escoger entre Siguiente o Finalizar.
Siguiente nos permite agregar mas detalles a nuestra conexión como una descripción.
En este caso solo presionaremos Finalizar y nos pedirá la celda donde queremos dejar nuestros datos. Seleccionamos la celda y presionamos aceptar.
Si todo resulto bien tendremos algo como lo siguiente.
Otra opción es importar los datos usando el Asistente de Microsoft Query para esto nos dirigimos a
Datos-> De otras fuentes -> Asistente de Microsoft Query.
En el asistente que nos saldrá escogemos nuestro ODBC y Presionamos Aceptar.
Luego escogemos los campos que deseamos mostrar en este caso todos.
En las siguientes dos ventanas nos dan la opción de hacer la consulta con el asistente y ordenarlos según algún criterio escogen las opciones que mas les acomoden Siguiente -> Siguiente y en la ultima ventana les da la opción de escribir su propia consulta o mostrar los resultados. Para este ejemplo solo mostraremos los resultados.
Al igual que en el anterior nos pedirá la celda donde queremos dejar nuestros datos. Seleccionamos la celda y presionamos aceptar.
El resultado deberá ser el siguiente:
Saludos
gracias
Como seria si la DB esta en otra computadora pero estamos en una intranet, asi que desde mi compu quiero consultar datos desde excel de su DB?
Espero tu respuesto, Gracias
Solo debes tener la ip del servidor al que desees conectarte, puede ser una ip publica o privada y recuerda que el servidor de mysql debe tener abierto el puerto 3306 para que puedas verlo desde tu equipo.
Hola, realmente soy muy nuevo en bases de datos y mi pregunta es, como importar una base de datos de un archivo excel con .csv a mysql? Mira investigue y asi me quedo la consulta segun yo:
LOAD DATA INFILE «C:\\Users\\edmundo\\Desktop\\Libro1.csv» INTO TABLE Indices.insumosD FIELDS TERMINATED BY ‘,’ LINES TERMINATED BY ‘\r\n’ IGNORE 1 LINES;
pero me marca este error:
Error Code : 13
Can’t get stat of ‘/var/lib/mysql/Indices/C:\Users\edmundo\Desktop\Libro1.csv’ (Errcode: 2)
(0 ms taken)
Por lo que entiendo no tengo acceso al archivo, eso es lo que entiendo pero no se, alomejor tengo la sintaxis mal de la ruta o debo ponerlo en una ruta en especifico?
Excelente aporte. Tengo un problemita: Cada vez que actualizo la tabla me aparece un cuadro de dialogo (Mysql Connector/ODBC Data Source Conection) en donde me pide colocar la clave del ususario de la base de datos. ¿Como puedo configurarlo para que no muestre mas ese cuadro de dialogo de la coneccion? SALUDOS:)
me falto agregar que estoy desarrollando una app con VBA en excel en donde ingrese/modifique/obtenga registros de datos en una base de datos. Es por esto que quiero resolver el problema del cuadro de dialogo, porque tendre que actualizar la tabla con la informacion constantemente. Saludos 🙂
Puedes crear un ODBC con los datos y simplemente utilizarlo o bien crear una conexión y cambiar los datos directamente del ODBC.
algo parecido a esto:
Public Const cConn = «ODBC;DSN=mySQL;DESC=MySQL ODBC 3.51 Driver DSN;DATABASE=informes;SERVER=192.168.0.2;UID=root;PASSWORD=;PORT=3306;OPTION=3;STMT=;»
Public enEjec As Boolean
Public xODBC As Workspace
Public xConn As Connection
Public Sub abreConn()
Set xODBC = CreateWorkspace(«NuevoWorkspaceODBC», «admin», «», dbUseODBC)
Set xConn = xODBC.OpenConnection(«S0», , False, cConn)
End Sub
Cuando realizo la conexión se cuelga el excel, qué puedo hacer? Muchas gracias
Puede deberse a dos motivos, tu conexión esta mal definida o tu equipo necesita ampliar su memoria RAM.
eXCELENTE APORTACIÓN, gRACIAS!
Gran trabajo y muy visual, no solo me ha servido sino que me ha gustado mucho
como puedo hacer consultas desde excel es decir: insertar datos a una tabla, mostrar esos datos que ingrese, modificar datos o borrar datos etc
Debes hacerlo por medio de funciones, y creando un método de conexión directa a mysql. Tratare de subir un post relacionado a esto saludos
gracias si la conexion directa es por OBDC, me puede ayudar como hago esas funciones en en donde se pueden hacer gracias
https://www.qis.cl/aprender-a-crear-funciones-en-excel-utilizando-mysql/
Excelente Aporte estimado, funciono muy bien. Lo otro …¿ es posible crear tablas dinamicas en excel con bases de datos de más de 3.000 registros? mil gracias
Básicamente dependerá de la versión de office que tengas. Recomendablemente sobre 2007 y un mínimo de Memoria RAM en tu equipo de 2GB.
Saludos
Excelente… muchas gracias…
MUCHISIMAS GRACIAS, SALUDOS DE ARGENTINA. ME SIRVIO UN MONTON.
Gracias por la información. Donde puedo consultar mas información sobre este tema. También quiero hacer procesos en EXCEL son los datos de las Tablas, donde consigo información. Gracias por su amable colaboración.
Solo déjanos tus inquietudes a medida que te vallan surgiendo y nosotros nos encargaremos de subir nuevos temas. Puedes usar nuestro foro de consultas y sugerencias o directamente a través de un comentario por este medio. Saludos
Gracias por la respuesta.
1. Mi inquietud es como puedo tener varias tablas a la vez y mesclar información entre ellas.
2. Yo se que se pueden hacer opciones propias dentro del EXCEL, como puedo configurarlas.
Gracias por su amable atención.
Disculpa por la demora..
1.-Para mezclar información de varias tablas puedes hacerlo escribiendo tus propias consultas para ello puedes seguir este mismo tutorial y antes de finalizar presionar ver datos o modificar consulta en Microsoft Query en lugar de devolver datos a Microsoft Excel.
2.-Si con opciones dentro de Excel te refieres a Funciones. Debes programarlas, y el método de conexión es un tanto distinto. Preparare un tutorial para mostrarte como realizar funciones con base de datos en Excel.
Cualquier duda puedes comentarla por aquí o hacerte miembro del foro. Saludos
Como prometimos si quieres mas información visita el siguiente Link https://www.qis.cl/aprender-a-crear-funciones-en-excel-utilizando-mysql/
Saludos
Hola buenas tardes y para hacerlo con 1 solo campo en especifico tambien se podría hacer? Gracias y saludos
Gracias por el aporte. Me fue muy válido. Solucionó mi problema con creces.
gracias…. me sirvio de mucho…. en serio que gracias…. son las 00.02 hrs…. y esto me quito el sueño por lo interesante que esta…. esta muy bien explicado bendiciones…. Bendiciones… Amigo
Muchas gracias por darte el tiempo de comentar. No dudes en dejarnos tus inquietudes estaremos felices de poder ayudar.
Saludos