Escribir datos desde Java en un archivo de Excel

Algunos se preguntaran, como podemos pasar datos de arreglos, de JTable, objetos que contienen datos a archivos de Excel, todo esto se reduce en algo bastante simple que es el uso de Clases de Java orientadas al flujo de salida, ¡No me la pongas difícil, explícate mejor!

¿Qué son Flujos de salida?

Flujo: secuencia ordenada de datos
De entrada: las que tiene una fuente de datos, mejor dicho son las que te permiten leer datos.
De salida: los que tienen un destino para la secuencia de datos, mejor dicho son las que permiten escribir en un archivo.

Nos vamos a limitar a hablar solo de las clases de flujo de salida, -ojo si ya las conoces salta directamente a ver cómo vas a pasar los datos a Excel con estas clases-, listo estas dos clases son: OutputStream (escribe de forma de bytes) y Writer (escribir caracteres), en nuestro caso vamos a escribir directamente caracteres al archivo de Excel, entonces, vamos a usar la clase Writer.

Veamos cómo se estructura esta clase:

Observen la , tiene varios métodos write(…), ¿cuál de todos ellos podemos usar? Vamos a pasar caracteres (texto, números, etc), entonces lo que se nos hace más fácil es usar write(String p0), ahora si nos damos cuenta en el diagrama la clase Write es abstracta, es decir, no podemos usarla directamente, para ello vamos a usar la clase FileWrite que nos permite interactuar con un archivo.

¿Cómo se usa?

  1. Se tiene un archivo por ejemplo, de texto plano
  2. Se le pasa el archivo al objeto FileWriter
  3. Se escribe en el archivo con el método write(String p0)
File file = new File("archivo.txt");
FileWriter salida = new FileWriter(file);
salida.write("Texto que se escribe en un archivo");

¿Ya sé cómo funciona esto ahora como escribo en Excel?

Ahora quiero que veas si lo que voy a decir a continuación tiene lógica:
Cuando ejecutamos Excel y estamos en un documento nuevo, escribimos en una celda cualquiera y queremos pasar a otra celda que hacemos?

  1. Presionamos la tecla Enter para pasar a la siguiente fila?
  2. Presionamos Tab para pasar a la siguiente columna?

Bien si te parece lógico lo que dije sigue leyendo, si no, igual sigue leyendo para que entiendas lo que trato de decir.

Si hacemos una comparación, para representar la tecla

Enter se ecribe «\n» y para el
Tab se escribe «\t»

Cierto?
Entonces tratemos de representar esa misma lógica en Java. Cómo? De la siguiente forma:

File file = new File("archivo.xls");
FileWriter salida = new FileWriter(file);
salida.write("Primera Columna, Primera Fila");
salida.write("\t"); //pasamos a la siguiente columna
salida.write("Segunda Columna, Primera Fila");
salida.write("\n"); //pasamos a la siguiente fila
salida.write("Primera Columna, Segunda Fila");
salida.write("\t"); //pasamos a la siguiente columna
salida.write("Segunda Columna, Segunda Fila");

Queda algo como esto:

Primera Columna, Primera Fila Primera Columna, Segunda Fila
Segunda Columna, Primera Fila Segunda Columna, Segunda Fila

Entonces, es fácil escribir en un archivo de Excel, solo considerar que es cualquier archivo, a partir de la explicación ya podemos pasar cualquier dato desde java, inclusive de un JTable, ahora el único problema de usar esta forma es que no se puede dar formato a las celdas del archivo Excel.

Listo!, si tienes una mejor forma de pasar los datos desde Java a Excel por favor retroalimenta este post!, así todos aprendemos.

¡Comparte!

Facebook
Twitter
WhatsApp
LinkedIn

Enseño como usar herramientas digitales y los trucos para generar ingresos online.

7 comentarios en “Escribir datos desde Java en un archivo de Excel”

  1. Oye! Mil gracias por tu aporte. Increible el \t para el tab en excel, funciona. En serio gracias graciass por tu colaboración. Sigue Adelante!!!!!!

Responder a Juan C. Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Post Recientes

¿Necesitas generar ventas?

Hey!, soy Xuxan Vigo y llevo años ayudando a los negocios a crecer, actualmente busco compartir todo lo que tengo este conocimiento.

Olvidate del SPAM, se te enviará lo prometido. Las actualizaciones de mi web en artículos, seminarios, plantillas y más.

¿Listo para aprender, emprender y mas?

Recibe solo contenido Interesante al unirte a mi gran comunidad:

Artículos de Marketing Digital

Atento a las próximas videoconferencias

Plantillas para planificar tus estrategias

No te lo pierdas

Déjanos tus datos!

Olvidate del SPAM, se te enviará lo prometido. Las actualizaciones de mi web en artículos, seminarios, plantillas y más.