Una de las cosas que debemos tener en cuenta para una aplicación es buscar la compatibilidad entre sistemas, y algo que utiliza mucho el usuario son los libros y hojas de cálculo (excel), es por eso que explicare de forma breve como crear un archivo directo desde una clase específica.
Lo primero que debemos hacer es cargar la librería "POI" brindada por Apache, pues es quien se encargará de hacer todo el trabajo de una forma simple y sin complicaciones. Una vez hecho esto debemos importar las librerías necesarias a nuestro proyecto:
Lo primero que debemos hacer es cargar la librería "POI" brindada por Apache, pues es quien se encargará de hacer todo el trabajo de una forma simple y sin complicaciones. Una vez hecho esto debemos importar las librerías necesarias a nuestro proyecto:
import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.hssf.usermodel.HSSFWorkbook;Ahora el libro sobre el cual trabajaremos, le indicamos el nombre al archivo y declaramos las hojas que tendrá dicho libro:
Workbook libro = new HSSFWorkbook(); FileOutputStream archivo = new FileOutputStream("nombre_del_archivo.xls"); Sheet hoja1 = libro.createSheet("Hoja1"); Sheet hoja2 = libro.createSheet("Hoja2"); Sheet hoja3 = libro.createSheet("Hoja3"); /* . . . Podemos crear N cantidad de hojas*/ Sheet hojaN = libro.createSheet("HojaN");Con esto ya solo nos queda rellenar las filas y columnas de nuestro libro:
//Primero la cantidad de filas for (int x = 0; x < 10; x++) { Row fila = hojaN.createRow((short)x); //Dentro del ciclo rellenamos las celdas para dicha hoja for (int i = 0; i < 10; i++) { Cell celda = fila.createCell((short)i); //Con esto indicamos el contenido de cada celda celda.setCellValue("El texto de la celda"); } }Por último guardamos y cerramos el archivo para evitar posibles errores:
libro.write(archivo); archivo.close();Y ahora el ejemplo de como debería quedar todo:
import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class excel { public static void main(String[] args) throws IOException { Workbook libro = new HSSFWorkbook(); FileOutputStream archivo = new FileOutputStream("ejemplo.xls"); Sheet hoja = libro.createSheet("Libro de pruebas"); for (int x = 0; x < 20; x++) { Row fila = hoja.createRow((short)x); for (int i = 0; i < 5; i++) { Cell celda = fila.createCell((short)i); celda.setCellValue("Hola Mundo (Carlitox en la Web)"); } } libro.write(archivo); archivo.close(); } }Esto es lo básico, sin embargo la librería tiene miles de posibilidades, para más información puedes consultar la documentación, que por cierto esta bien detallada: Busy Developers' Guide to HSSF and XSSF Features
Recibe notificaciones por correo