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.