domingo, 7 de junio de 2015

Generar archivos de texto (.txt) en MS. Excel

Generar archivos de texto ( .txt ) en MS Excel

Muchas veces necesitamos cargar grandes cantidades de información a nuestros programas contables, como por ejemplo: ventas, asientos de cancelación, etc. También, pagos masivos a través de las paginas web de los bancos nos solicitan archivos de texto, servicios del gobierno y en muchas otra ocasiones.

Normalmente, los programas contienen una opción para importar registros a través de archivos de texto, y usualmente tenemos la información en hojas de cálculo; entonces el problema se reduce a transformar los datos contenidos en Excel a  un archivo de texto con un formato establecido por el software.

En fin, hoy veremos como podemos lograrlo.

Tipo de archivos

Para empezar, existe dos tipos de archivos de texto:
-Archivos posicionales;
-Archivos delimitados.

El primero es un archivo donde cada campo se establece en una posición especifica. Los archivos delimitados separan sus campos con delimitador que puede ser una coma "," o cualquier caracter.

Supongamos que nuestros registros son los siguientes:


Factura RUC Importe
001-001253 20123456789 S/. 100.00
001-001253 20123456780 S/. 100.00

En los archivos posicionales la separación de campos se establece por la posición que ocupan.

En cambio en los archivos delimitados la separación se establece con una coma "," por ejemplo.


Métodos
Existen muchas formas de lograr nuestro propósito, pero nos centraremos en dos:

- Generar archivos de texto con formulas.
-Generar archivos de texto con ayuda de macros.

Easy Excel, easy life.

Formulas útiles

Para lograr archivos posicionales, normalmente debemos completar los campos con espacios en blanco o ceros. En nuestro ejemplo de la posición 1 a la 10 debe estar el primer registro, supongamos que nuestro campo solamente tiene 9 caracteres, debemos pues, completarlo con espacio en blanco.

Nuestros registros no tienen todos las mismas longitudes y por ello debemos concatenarlos con formulas condicionales. Para comprobar el largo del campo que queremos insertar utilizamos la formula LARGO, para insertar espacios en blanco usamos la formula REPETIR, para completar con ceros a la izquierda nuestros importes usamos la formula TEXTO, y por si no es obvio  para concatenar la formula CONCATENAR.

Supongamos (sí me gusta suponer), que la posición de los campos debe ser la siguiente

Campos Longitud Posición
Factura 12 1-12
RUC 11 13-23
Importe 6 24-39

Nuestra formula sería la siguiente:

Que en buen cristiano significa: Excel, une el contenido de la celda "A2" con el número de espacios en blanco que resulte de la diferencia de 12 y el largo de la celda "A2".

Para poner ceros a la izquierda debemos de utilizar la formula texto, que también nos sirve para poner la fecha en el formato que queramos.

Añadir ceros a la izquierda nunca fue más fácil.

La formula Texto en acción.


Para archivos delimitados solo necesitamos la formula CONCATENAR

Explicar cómo generar archivos de texto con vba, merece otra entrada.

Nos vemos por aquí, la próxima!


No hay comentarios:

Publicar un comentario