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.
muy buena informaci贸n sobre los archivos .txt.....
ResponderBorrarExelente y muy util
Hola Manuel
BorrarQue bueno saber que te ha servido.
Gracias por tu visita.
Saludos cordiales.
JASR
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?
ResponderBorrarHola Mario.
BorrarEso 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铆
y como seria la funcion? no se casi nada de excel :S
ResponderBorrar