lunes, 7 de septiembre de 2015

Como guardar un archivo *.txt o Layout desde Excel.


Muchas veces es común que algunos programas o aplicaciones requieran información que puede ser actualizada a través de archivo en formato txt, normalmente se les llama layout, estos archivo puedes ser fácilmente generados con Excel, simplemente con las opciones de guardado.

Como comentaba estos archivos llamados Layout, son archivo en con formato txt, que contiene información para alimentar la base de datos de alguna aplicación o programas, normalmente son campos de alguna tabla de la base de datos de ese programa. Entonces en este pequeño artículo veremos cómo hacer un archivo txt o layout.


Los Layout necesitan algún formato especial para que puedan ser leídos por la aplicación o programa en donde se subirán estos archivos, a veces no es necesario que venga la descripción del campo y solo se requiera directamente el dato de cada campo, ahora bien esos campos necesitan que en el formato sean separados por algún carácter en específico, pueden ser separados por Tabulaciones, por espacio, por coma (,), punto y coma (;), por pipes (|) por mencionar algunos que son los más utilizados.

Para hacer un archivo layout debes de conocer los datos o campos con información específica que se requieren para poder armar un Layout, una vez conocemos esto estaremos listo para diseñar el archivo. Conocer las datos significa que debo saber qué tipo de dato capturar en cada campo, ya sea que el campo me pida una fecha y por lo tanto debo procurar que ese campo lleve datos validos como fecha, también puede haber algún campo en el cual me solicite importes o números esos números podrían ser de tipo entero o con decimal, también puede haber campos que me solicite una cadena de texto con un determinado ancho, por ejemplo que debe contener 30 caracteres y no más, para conocer bien el tipo de datos normalmente lo programas proporcionan guías de como armar su layout.

Entendiendo esto, veamos un ejemplo de cómo se hace una archivo txt de texto plano.
En la siguiente imagen se muestra los campos que conformaran el layout para crear el archivo txt de ejemplo:
  


En la figura vemos el nombre de los campos y los datos de cada campo, si nuestro archivo nos lo pidieran sin el cabecero, es decir sin el nombre de los campos en ese caso solo proporcionaríamos los datos del campo en el orden especificado.

Si quisiéramos guardar el archivo txt delimitado por tabulaciones lo haríamos de la siguiente manera:
Nos vamos a la opción de guardar como, estando ahí buscamos el tipo de archivo que dice “Texto (Delimitado por tabulaciones) (*.txt)” y le damos guardar con el nombre y en el directorio que elijamos según las especificaciones de layout.


Si quisiéramos guardar el archivo txt delimitado por espacios lo haríamos de la siguiente manera:
Nos vamos a la opción de guardar como, estando ahí buscamos el tipo de archivo que dice “Texto con formato (Delimitado por espacios) (*.prn)” y le damos guardar con el nombre y en el directorio que elijamos según las especificaciones de layout, y en este la extencion del archivo se guarda con *.prn.
Notaran que al guardar su archivo *.txt o *.prn les aparecerá el siguiente mensaje, el cual debemos seleccionar la opción no, ya que si decimos que si todo nuestro archivo de Excel se volverá de tipo texto, entonces como el archivo de Excel nos sirve como plantilla para hacer nuestro layout debemos seleccionar que no, y luego aparecerá otro cuadro de dialogo pidiéndonos guardar el archivo y le damos cancelar. 
Ahora bien:
Si quisiéramos guardar el archivo txt delimitado por “,” “;” o por “|” tendríamos que hacer una operación adicional, y para realizarla podemos utilizar la Función Concatenar de Excel que vimos en el artículo Funciones de Texto En Excel.

Con la función concatenar lo que haremos es ir insertando entre cada dato de los campos el carácter con el que queremos se delimiten lo datos, por ejemplo si quisiéramos que fueran con Pipes (|) en una columna a lado pondríamos una fórmula como la siguiente que se hace con la función concatenar:  =CONCATENAR("|",A2,"|",B2,"|",C2,"|",D2,"|",E2,"|",F2,"|",G2,"|") el resultado que daría como sigue:
Cuando nos piden el layout de esta forma, generalmente nunca se incluye el encabezado de los campos o los nombres de los campos.

Ok, una vez que tenemos hecha la fórmula con el resultado deseado, ahora como guardaríamos el archivo txt, ya que en este caso solo nos interesa el resultado de la fórmula que aparece en la columna H, por lo tanto no lo podemos hacer en las 2 formas que mencionamos primero, bueno, lo mas sencillo es copiar el resultado de la columna H de cada una de las filas y luego abrir nuestro programo bloc de notas y pegar los datos ahí.



Estando en el bloc de notas lo guardamos con el nombre que deseemos o según las especificaciones del Layout, y con eso tendríamos nuestro archivo txt listo para subirlo al programa o aplicación.
De esta misma forma lo podríamos hacer si el caracter fuera un “,” “;” seria el mismo paso y en la formula de concatenado utilizaríamos el carácter deseado o especificado por el layout.

Bueno hasta aquí este sencillo tutorial acerca de como Crear archivos de texto o Layout, espero les sea de utilidad para aquellos que desconocían como hacerlo.


Saludos cordiales.

JASR
*****Tranquilos que todo es correcto.


Share this

5 Respuestas a "Como guardar un archivo *.txt o Layout desde Excel."

  1. muy buena información sobre los archivos .txt.....
    Exelente y muy util

    ResponderBorrar
    Respuestas
    1. Hola Manuel
      Que bueno saber que te ha servido.
      Gracias por tu visita.

      Saludos cordiales.
      JASR

      Borrar
  2. puedo generar el layout pero por ejemplo el programa que leera el layout me dice que el campo donde va el nombre de la persona tiene como maximo 20 caracteres y que si el nombre es menor a 20 caracteres llene con espacios. ejemplo. si pongo juan perez estoy usando 10 espacios y los otros 10 tienen que llenarse con espacios en el layout. como hago eso?

    ResponderBorrar
    Respuestas
    1. Hola Mario.

      Eso lo podrías hacer con una formula, que valide el ancho del dato escrito dentro de un campo con anchos fijos. Pudiera utilizar la funcion "largo" para identificar el ancho del dato y luego restarlo del ancho fijo del campo. Y luego llenar el resto con espacios. Podrías definir celdas con espacios de 1, 2, 3, 3 etc. espacios y según la diferencia en caracteres concatenar la celda con el espacio que faltare. Es una idea de muchas por decirlo así

      Borrar
  3. y como seria la funcion? no se casi nada de excel :S

    ResponderBorrar

Hola gracias por comentar.