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

26 pensamientos en “Exportar datos de Excel a un archivo de texto

  1. Eduardo

    Muchas gracias, excelente explicación. Saludos

  2. Oscar

    Excelente ejercicio, realmente no conocia que se podía hacer esto, me será de mucha ayuda. Gracias.

  3. Magnolia Marín

    Muy buena explicación, realmente es una página muy buena.

  4. titoalen

    Como siempre excelente. Muchas gracias

  5. MARGOTH

    Hola!! una pequeña consulta cuando guardo el archivo de excel con la opción de tipo de archivo CSV,automáticamente aparece un archivo (que en vista en miniatura) parace como una hoja de excel con el siguiente símbolo en el centro ” a, ” y cuando lo abro vuelve abrirse en una hoja de excel (en donde se observa el mismo cuadro) y no como un archivo de texto, como puedo solucionarlo. Gracias por tu respuesta y por los conocimientos que nos compartes :)

    1. Moisés Ortíz Autor

      Hola Margoth, eso sucede por una asociación que hace Windows automáticamente a los archivos CSV. Para cambiar el programa por defecto con el que se abre un archivo CSV debes hacer clic derecho sobre el icono y elegir la opción Abrir con > Elegir programa predeterminado.

  6. sergio

    muy entendible, excelente aportacion, te felicito

  7. Fausto

    Igual que muchas personas, aprendí lo básico de Excel con el aporte de amigos o compañeros de trabajo, unas veces mediante una explicación, otras mirando cómo trabajaba algún compañero, de manera que ha sido una suerte enorme toparme con esta ayuda, que como dicen muchos comentarios que he leido, además es explicada de una manera tan sencilla que se hace fácil su aprendizaje. Un sincero gracias.

  8. ezequiel

    exelente gracias

  9. Silvia Becerra

    Excelente!!! Me gusta tu blog. Siempre interesante. Saludos.

  10. RAUL

    muchas gracias por la información es excelente la explicacion

  11. Manuel

    Mis respetos, ya de plano solo que uno no quiera aprender. Excelentes aportaciones

  12. cesar

    Muchas gracias por la información

  13. Gabriel

    Muchas Gracias!! Muy buena la explicacion, sera muy util!

  14. denis

    son bastantes utiles las explicaciones que se dan en excel me gustaria que enviaras algunas un poquito mas complicadas para aprender mas

  15. Victor

    buen tutorial me ayudo, pero tengo una consulta, si deseo que los espacios en blanco se acomoden a la izquierda del campo, me explico en la celda A1(Nombre) los espacios se estan restantes para completar los 15 espacios del ejemplo se acomodan a la derecha, pero si yo quisiera que el campo vaya a la derecha y los espacios restantes fueran a la izquierda , cual seria la función.?
    De ante mano gracias por tu ayuda.

    1. Moisés Ortíz Autor

      Hola Víctor, utiliza la misma fórmula y solo invierte el orden de concatenación, es decir, coloca primero los espacios en blanco y al final la cadena de texto.

  16. carmen

    Gracias por su ayuda, como ya dijeron, excelente esplicación

  17. Jhon

    Porque en un texto si ocupo 3/4″ al pasarlos a formato csv, el resultado en ese archivo es 3/4″”, de antemano gracias por tu ayuda

    1. Moisés Ortíz Autor

      Hola Jhon, las dobles comillas adicionales son conocidas como “carácter de escape” y es un estándar para indicar que las dobles comillas originales deben ser incluidas como parte del valor y que no deben confundirse con las dobles comillas que generalmente se utilizan para delimitar una cadena de texto.
      Si realizas la acción inversa, es decir, si importas el archivo CSV a Excel notarás que el valor 3/4″” se importará correctamente como 3/4″ eliminando las segundas dobles comillas. Te dejo un artículo que habla sobre la importación:
      http://exceltotal.com/importar-archivos-de-texto/

  18. Angel

    Excelente ayuda, muy didáctico, me ha sido de gran utilidad. Gracias

  19. Alfredo

    Hola Moisés, esto es justo lo que buscaba, pero tengo una pregunta con respecto a la concatenación, ¿cómo puedo rellenar con Ceros (0) a la izquierda en vez de espacios en blanco a la derecha?

    1. Moisés Ortíz Autor

      Hola Alfredo, solo debes invertir el orden en que están indicados los argumentos de la función CONCATENAR, es decir, en tu caso debe ir primero la función REPETIR y luego la celda con el dato. Además debes reemplazar el espacio en blanco de la función REPETIR por el valor “0”.

  20. Beto

    Muy buena explicación, excelente aporte. Para la gente que trabajamos en Impuestos, nos viene de 10 para nuestro trabajo diario. Muchísimas gracias.

  21. Jhony Blanco

    Muchas gracias aprndo mucho de ustedes, en eta oportunidad quisiera saber como hacer para cuando transforme archivos de excel cuyos campo superen los 16 a 20 digitos no me conviertan los ultimos 4 digitos en cero

    1. Moisés Ortíz Autor

      Hola Jhony, tendrás que tratarlos como cadenas de texto porque si los conviertes a número no habrá manera de evitar que Excel convierta los últimos dígitos a cero. El máximo es de 16 dígitos para cualquier número en Excel.