Exportar datos de Excel a un archivo de texto

Los archivos de texto son uno de los métodos de intercambio de datos más populares en la actualidad ya que pueden ser abiertos y consultados por diversas aplicaciones en diferentes sistemas operativos como Windows, Mac OS, Linux, iOS, Android, etc.

Los archivos de texto no dependen de ninguna herramienta de software específica, ni tienen problemas de compatibilidad entre versiones porque se han creado de la misma manera por décadas y por lo tanto cualquier herramienta de edición de documentos puede leer un archivo de texto. Por esta razón es muy probable que en más de una ocasión tengas la necesidad de exportar los datos de Excel a un archivo de texto de manera que tus datos puedan ser integrados o analizados desde otro sistema de información.

Formatos de archivo de texto

Existen dos formatos de archivo de texto que son ampliamente utilizados:

  • Archivos de texto delimitados por tabulaciones (TXT): Cada valor de la columna está separado por el carácter de tabulación. A simple vista tendrás la impresión de que existen varios espacios en blanco entre cada columna, pero en realidad es solo el carácter tabulador el que los separa.
  • Archivos de texto delimitados por comas (CSV): Cada campo en el archivo de texto está separado por una coma. Este formato es tan conocido y utilizado que es almacenado con su propia extensión de archivo .CSV aunque sigue siendo un archivo de texto plano. Las siglas CSV provienen de su nombre en inglés Comma-Separated Values.

A continuación veremos lo simple que es crear cada uno de estos dos tipos de archivos en Excel. La hoja de datos que exportaremos en nuestros ejemplos será la siguiente:

Exportar datos de Excel a un archivo de texto

Crear un archivo de texto delimitado por tabulaciones

Para crear un archivo de texto delimitado por tabulaciones en Excel debemos pulsar la ficha Archivo y seleccionar la opción Guardar como. Se mostrará el cuadro de diálogo Guardar como y para la opción Tipo debemos elegir Texto (delimitado por tabulaciones):

Exportar archivos de texto en Excel

Una vez que pulses el botón Guardar se mostrarán algunas advertencias. La primera de ellas nos advierte que el tipo de archivo seleccionado no es compatible con libros que tienen múltiples hojas y que por lo tanto solo se exportarán los datos de la hoja activa. Esto quiere decir que, si tienes un libro con datos en varias hojas, deberás exportar cada hoja a un archivo de texto diferente.

Será muy probable que también se muestre una segunda advertencia indicando que nuestro archivo contiene formatos que no son compatibles con los archivos de texto delimitados por tabulaciones. Solamente deberás pulsar el botón Sí para continuar con el proceso y como resultado obtendremos un archivo de texto como el siguiente:

Exportar de Excel a TXT

Crear un archivo de texto delimitado por comas

El procedimiento para crear un archivo de texto delimitado por comas (CSV) es prácticamente similar al ejemplo anterior con la diferencia de que en el cuadro de diálogo Guardar como debemos seleccionar el tipo de archivo CSV (delimitado por comas):

Exportar datos de Excel a un archivo CSV

Obtendremos las mismas advertencias que en el ejemplo anterior pero como resultado tendremos el siguiente archivo de texto:

Cómo exportar de Excel a CSV

Dependiendo del país donde te encuentres y la configuración regional de tu equipo, es probable que Excel genere este tipo de archivo utilizando el punto y coma (;) en lugar de la coma (,) pero esto no es un asunto de Excel sino de Windows y el carácter definido como el separador de listas. A continuación veremos cómo cambiar el carácter utilizado por Excel para generar los archivos de texto.

Carácter delimitador para archivos de texto

Por supuesto que para cambiar el carácter delimitador utilizado por Excel al crear el archivo de texto se podría hacer un simple remplazo con cualquier editor de texto, pero si ésta es una actividad que realizas frecuentemente tal vez sea conveniente hacer un cambio de fondo. El carácter utilizado por Excel como delimitador en un archivo de texto es el que se encuentra definido en Panel de Control > Reloj, idioma y región > Cambiar formato de fecha, hora o número y dentro del cuadro de diálogo mostrado pulsar el botón Configuración adicional:

Cambiar carácter delimitador de CSV en Excel

En dicho cuadro de diálogo encontrarás la opción Separador de listas y el carácter especificado es el utilizado por Excel. Para mi configuración regional, que es Español (México), tengo la coma (,) como el separador de listas pero si hago el cambio hacia punto y coma, al crear de nuevo el archivo CSV obtendré el siguiente resultado:

Archivo CSV con punto y coma como delimitador

Observa que en esta ocasión Excel ha utilizado el punto y coma como el separador entre cada uno de los campos.

Campos de longitud determinada

En algunas ocasiones me he encontrado con el requerimiento de generar un archivo de texto que tenga campos de longitud determinada es decir, en caso de que una cadena de texto no sea de la longitud máxima permitida, se deberá rellenar con espacios en blanco. La solución a este problema es tratar los datos dentro de Excel antes de generar el archivo de texto.

Supongamos que para nuestra hoja de datos de ejemplo necesitamos crear un archivo de texto que tenga un ancho máximo de 15 caracteres, tanto para la columna Nombre como para la columna Apellido, y una longitud máxima de 25 caracteres para el correo electrónico. Los datos los generaré en una hoja diferente y utilizaré la siguiente fórmula para la primera columna:

=CONCATENAR(Hoja1!A1,REPETIR(" ",15-LARGO(Hoja1!A1)))

La función principal de esta fórmula es la función CONCATENAR que como primer argumento tiene el texto original de la Hoja1. El segundo argumento de la función CONCATENAR es la función REPETIR que tendrá el objetivo de generar una cadena de espacios en blanco cuyo número estará determinado por la diferencia entre el número máximo de caracteres admitidos (15) menos el número de caracteres de la cadena de texto original el cual obtenemos con la función LARGO. Por ejemplo, para la celda con el nombre Carlos, la función REPETIR generará una cadena de 9 espacios en blanco que será concatenada a la derecha de la cadena de texto “Carlos”.

La fórmula anterior nos sirve para obtener los valores de las columnas Nombre y Apellido. Para la columna Correo electrónico solo es necesario modificar el segundo argumento de la función REPETIR reemplazando el número 15 por el número 25 que es el máximo número de caracteres permitido para dicha columna.

Exportar de Excel a texto con ancho fijo

Una vez aplicada esta fórmula a nuestro rango de datos podremos realizar la exportación a un archivo de texto. Ya que en este caso no necesitamos ningún tipo de separador podemos guardar el archivo como Texto Unicode y el resultado será el siguiente:

Exportar Excel a fichero de texto con longitud fija de columnas

Así como en este último ejemplo he dado un tratamiento especial a los datos antes de exportarlos, es posible hacer diferentes modificaciones para ajustarnos a los requerimientos del archivo de texto que vamos a exportar. Algunas modificaciones que se realizan con cierta frecuencia son las siguientes:

  • Colocar comillas simples o dobles alrededor de las cadenas de texto.
  • Exportar valores numéricos con algún número específico de decimales
  • Dar algún formato específico a una fecha por ejemplo, cambiar al formato inglés que utiliza mm/dd/aa en lugar de dd/mm/aa.

Estos cambios los podemos hacer con funciones de Excel de manera que coloquemos los datos en una hoja tal como los necesitamos y posteriormente hacer la exportación hacia un archivo de texto.

Artículos relacionados
Importar archivos de texto en Excel
Importar datos desde Access