Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki

Access: Cómo importar un fichero CSV a Excel xls y a una base de datos Access mdb
Bases de Datos


Explicamos en este artículo cómo importar o convertir un fichero de texto plano separado por comas o punto y coma (con formato CSV) a una base de datos Microsoft Access, pasando previamente por Microsoft Excel.



 

Ficheros CSV

Los ficheros CSV (Comma-Separated Values ó valores separados por coma) son un tipo de documento en formato abierto sencillo para representar datos en forma de tabla, en las que las columnas se separan por comas (o punto y coma en donde la coma es el separador decimal) y las filas por saltos de línea. Los campos que contengan una coma, un salto de línea o una comilla doble deben ser encerrados entre comillas dobles.

El formato CSV es muy sencillo y no indica un juego de caracteres concreto, ni cómo van situados los bytes, ni el formato para el salto de línea. Estos puntos deben indicarse muchas veces al abrir el fichero, por ejemplo, con una hoja de cálculo.

Por ejemplo:

"Proyecto AjpdSoft";"21/01/2011";"http://www.ajpdsoft.com";"14000";"Aplicaciones gratuitas, open source"

 

Cómo importar un fichero csv de texto plano a Microsoft Excel xls ó xlsx

Como ejemplo crearemos un fichero csv de texto plano en el sistema operativo Microsoft Windows 7 con el siguiente contenido:

"AJ Soluciones informáticas";"01/09/2010";"http://www.ajsolucionesinformaticas.com";"100";"Imágenes"
"Laboratorio AjpdSoft";"10/01/2011";"http://www.proyectoa.com";"10000";"Laboratorio de pruebas de AjpdSoft"
"Proyecto AjpdSoft";"21/01/2011";"http://www.ajpdsoft.com";"14000";"Aplicaciones gratuitas, open source"

Para realizar la importación o conversión del fichero CSV abriremos Microsoft Excel, abriremos la ficha "Datos" y pulsaremos en "Obtener datos externos", seleccionaremos "Desde texto":

AjpdSoft Cómo importar un fichero csv de texto plano a Microsoft Excel xls ó xlsx

Seleccionaremos el fichero con formato CSV, en nuestro caso "Dominios AjpdSoft.csv" y pulsaremos "Importar":

AjpdSoft Cómo importar un fichero csv de texto plano a Microsoft Excel xls ó xlsx

Nos mostrará el asistente para importar texto, en primer lugar seleccionaremos los siguientes datos:

  • Tipo de los datos originales: seleccionaremos el formato del tipo de archivo, o bien delimitado (por comas o punto y coma) o bien de ancho fijo (normalmente espacios o tabuladores). En nuestro caso seleccionaremos "Delimitados".
  • En "Comenzar a importar en la fila" introduciremos "1" y en "Origen del archivo" seleccionaremos "Windows (ANSI)".

Pulsaremos "Siguiente" para continuar:

AjpdSoft Cómo importar un fichero csv de texto plano a Microsoft Excel xls ó xlsx

A continuación indicaremos el separador usado en nuestro fichero csv, en nuestro caso "Punto y coma". Los separadores permitidos:

  • Tabulación.
  • Punto y coma..
  • Coma.
  • Espacio.
  • Otro carácter

AjpdSoft Cómo importar un fichero csv de texto plano a Microsoft Excel xls ó xlsx

A continuación el asistente nos pemitirá elegir el tipo de datos básico para cada columna. Por ejemplo, si pulsamos en la columna que incluye una fecha podremos indicar en "Formato de los datos en columnas" el tipo de datos "Fecha", con formato "DMA" (día, mes y año). Seleccionaremos el tipo de datos para cada columna y pulsaremos "Finalizar":

AjpdSoft Cómo importar un fichero csv de texto plano a Microsoft Excel xls ó xlsx

Introduciremos en qué fila y en qué columna queremos insertar los datos y pulsaremos "Aceptar":

AjpdSoft Cómo importar un fichero csv de texto plano a Microsoft Excel xls ó xlsx

Microsoft Excel nos mostrará los datos importados del fichero CSV

AjpdSoft Cómo importar un fichero csv de texto plano a Microsoft Excel xls ó xlsx

Pulsaremos en "Guardar" para guardar los datos CSV a formato Microsoft Excel (hoja de cálculo xls ó xlsx):

AjpdSoft Cómo importar un fichero csv de texto plano a Microsoft Excel xls ó xlsx

 

Importar fichero de Excel xls xlsx a Access mdb mdbx

A continuación vamos a convertir un fichero en formato Microsoft Excel (hoja de cálculo xls ó xlsx) a base de datos Microsoft Access. Realizaremos la importación de los datos de una hoja de un libro de Microsoft Excel a una tabla de una base de datos Microsoft Access, todo ello de forma automática usando el asistente de importación de Microsoft Access.

En primer lugar abriremos Microsoft Access, en nuestr ocaso la versión 2007, aunque para el resto de versiones el proceso es similar. Pulsaremos en "Nueva base de datos en blanco", introduciremos la ruta y el nombre de la carpeta donde se guardará el fichero Access accdb, en nuestro caso "Dominios AjpdSoft.accdb" y pulsaremos "Crear":

AjpdSoft Importar fichero de Excel xls xlsx a Access mdb mdbx

Desde la ficha "Datos externos", pulsaremos en "Excel" (Importar a una hoja de cálculo de Excel: importa o vincula datos de un archivo de Microsoft Office Excel):

AjpdSoft Importar fichero de Excel xls xlsx a Access mdb mdbx

Se iniciará el asistente para obtener datos externos de Microsoft Access, en "Nombre de archivo" pulsaremos en "Examinar" para seleccionar el archivo Microsoft Office Excel origen:

AjpdSoft Importar fichero de Excel xls xlsx a Access mdb mdbx

Seleccionaremos el fichero Microsoft Office Excel que contiene los datos CSV que importamos en este paso, en nuestro caso "Dominios.xlsx":

AjpdSoft Importar fichero de Excel xls xlsx a Access mdb mdbx

A continuación podremos elegir el tipo de importación a realizar, podremos seleccionar las siguientes positibilidades:

  • Importar el origen de datos en una nueva tabla de la base de datos actual: si la tabla especificada no existe, Access la creará. Si la tabla especificada ya existe, Access puede sobreescribir el contenido con los datos importantes. Los cambios realizados en los datos de origen no se reflejarán en la base de datos.
  • Anexar una copia de los registros a la tabla "nombre_tabla": si la tabla especificada ya existe, Access agregará los registros a la tabla. Si la tabla no existe, Access la creará. Los cambios realizados en los datos de origen no se reflejarán en la base de datos.
  • Vincular al origen de datos creando una tabla vinculada: Access creará una tabla que mantendrá un vínculo a los datos de origen en Excel. Los cambios realizados en los datos de origen de Excel se reflejarán en la tabla vinculada. Sin embargo, los datos de origen no se pueden modificar en Access.

En nuestro caso, puesto que es una base de datos nueva y puesto que no queremos vincular el contenido sino importarlo y usar los datos en Access seleccionaremos "Importar el origen de datos en una nueva tabla de la base de datos actual":

AjpdSoft Importar fichero de Excel xls xlsx a Access mdb mdbx

Seleccionaremos la hoja del libro de Excel que contiene los datos a Importar, en nuestro caso "Dominios_AjpdSoft", marcando la opción "Mostrar hojas de trabajo". Pulsaremos "Siguiente" para continuar:

AjpdSoft Importar fichero de Excel xls xlsx a Access mdb mdbx

Marcaremos la opción "Primera fila contiene encabezados de columna" si en la hoja de Excel hemos añadido encabezados a las columnas, en caso contrario no la marcaremos y pulsaremos "Siguiente":

AjpdSoft Importar fichero de Excel xls xlsx a Access mdb mdbx

A continuación el asistente para importación de hojas de cálculo nos permitirar seleccionar el tipo de datos Access para cada columna (campo) de Excel. Por ejemplo, seleccionando la columna "nombre" podremos indicar los siguientes datos para el campo que se creará en la tabla de Access:

  • Nombre de campo: nombre que se le dará al campo de la tabla de Access que se creará.
  • Indexado: crear índice para este campo, las posibilidades:
    • No: no se creará índice para este campo.
    • Sí (Con duplicados): creará un índice para acelerar las búsquedas, pero se permitirán datos duplicados.
    • Sí (Sin duplicados): creará un índice que, además, no permitirá datos duplicados en los registros.
  • Tipo de dato: seleccionaremos el tipo de dato para el campo actual, las posibilidades: Texto, Sí/No, Byte, Entero, Entero largo, Moneda, Simple, Doble, Fecha/Hora, Memo, Hipervínculo.
  • "No importar el campo (Saltar): si no queremos importar la columna seleccionada marcaremos este check.

AjpdSoft Importar fichero de Excel xls xlsx a Access mdb mdbx

Realizaremos el proceso de seleccionar el tipo de datos para todos los campos de la hoja de cálculo Excel. En el ejemplo, crearemos un índice sin duplicados para el campo "web":

AjpdSoft Importar fichero de Excel xls xlsx a Access mdb mdbx

A continuación podremos crear una clave principal (clave primaria o primary key) para la tabla que se importará. Es recomendable que todas las tablas tengan una clave primaria, en el ejemplo usaremos el campo "web" como clave primaria, por lo que seleccionaremos "Elegir la clave principal y seleccionaremos "web". Las posibles opciones son:

  • Permitir a Access agregar la clave principal: el asistente de importación de hojas de cálculo creará un campo nuevo llamado "Id" con tipo de datos "Autonumérico" y lo establecerá como clave primaria (primary key).
  • Elegir la clave principal: con esta opción podremos elegir de entre los campos que se importarán. Hay que tener en cuenta que la clave principal debe ser un campo que contenga valores y que estos sean siempre diferentes, pues no permitirá duplicados.
  • Sin clave principal: no se creará clave principal para la tabla importada.

AjpdSoft Importar fichero de Excel xls xlsx a Access mdb mdbx

Por último, para que el proceso finalice y se inicie la importación, introduciremos el nombre de la tabla de Access que se creará con los datos importados de Excel y pulsaremos "Finalizar". Si queremos que se inicie el asistente para analizar la estructura de la tabla marcaremos la opción "Desearía que el asistente analizara la estructura de la tabla después de importar los datos":

AjpdSoft Importar fichero de Excel xls xlsx a Access mdb mdbx

El asistente para analizar la estructura permite crear tablas vinculadas a la principal a partir de campos con valores "repetidos". Por ejemplo, si tenemos un fichero Excel con esta estructura:

"Nombre cliente 1", "Importe 1", "Número factura 1"
"Nombre cliente 2", "Importe 2", "Número factura 2"
"Nombre cliente 3", "Importe 3", "Número factura 3"
"Nombre cliente 2", "Importe 4", "Número factura 4"
"Nombre cliente 3", "Importe 5", "Número factura 5"

El asistente para analizar la estructura de las tablas permitirá crear dos tablas, una de "facturas" y otra de "clientes" y vinculará ambas por una clave foránea. En nuestro ejemplo sólo queremos crear una tabla por lo que no usaremos el asistente para analizar la estructura de las tablas. Pulsaremos "No" en el mensaje:

AjpdSoft Importar fichero de Excel xls xlsx a Access mdb mdbx

Con el texto: "El asistente ahora está preparado para analizar los nuevos datos de la tabla. ¿Desea continuar?".

Por último, el asistente de Microsoft Office Access para obtener datos externos nos permitirá guardar los pasos de la importación para futuras importaciones. Para ello marcaremos el check "Guardar pasos de importación" y en "Guardar como" introduciremos un nombre descriptivo. Pulsaremos en "Guardar importación":

AjpdSoft Importar fichero de Excel xls xlsx a Access mdb mdbx

Tras la importación, desde Microsoft Office Access, podremos acceder a los datos importados, tanto al diseño de la tabla que el asistente habrá creado:

AjpdSoft Importar fichero de Excel xls xlsx a Access mdb mdbx

Como a la consulta y modificación de los datos importados desde Excel:

AjpdSoft Importar fichero de Excel xls xlsx a Access mdb mdbx

Si se produce algún error de importación, el asistente creará una tabla llamada "nombre_tabla_importacion$_ErroresDeImportación" con la estructura:

  • Campo: nombre del campo en el que se ha producido el error.
  • Error: descripción del motivo por el cual no se ha podido realizar la importación de los datos de este registro.
  • Fila: número de fila en la que se produce el error.

AjpdSoft Importar fichero de Excel xls xlsx a Access mdb mdbx

Nota: hay que tener en cuenta que Microsoft Office Access permite realizar importaciones desde casi cualquier origen de datos, incluido, por supuesto, CSV, por lo que no sería necesario pasar de CSV a Excel y de Excel a Access, es posible pasar de CSV a Access directamente.

 

Artículos relacionados

Créditos

Artículo realizado íntegramente por Alonsojpd miembro fundador del proyecto AjpdSoft.


Anuncios


Enviado el Sábado, 22 enero a las 12:45:14 por ajpdsoft
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A