Foros del Web » Programación para mayores de 30 ;) » Java »

Ayuda con Excel y Java

Estas en el tema de Ayuda con Excel y Java en el foro de Java en Foros del Web. Hola que tal buenas tardes, tengop el siguiente problema. Me gustaria saber si hay una forma de que teniendo, abriendo un archivo excel desde java, ...
  #1 (permalink)  
Antiguo 05/10/2010, 14:47
 
Fecha de Ingreso: octubre-2010
Mensajes: 46
Antigüedad: 14 años, 1 mes
Puntos: 1
Ayuda con Excel y Java

Hola que tal buenas tardes, tengop el siguiente problema.

Me gustaria saber si hay una forma de que teniendo, abriendo un archivo excel desde java, todo su contenido lo pase a un Jframe o algo por el estilo, solo para visualización de los datos, y si es asi, si me podrian ayudar a implementarla por favor.

Agradezco de antemano su atención, grax. !!
  #2 (permalink)  
Antiguo 06/10/2010, 01:48
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 16 años, 2 meses
Puntos: 188
Respuesta: Ayuda con Excel y Java

Tienes que descargarte la última versión de apache POI, y agregar esa librería a las que tengas en el proyecto.

Una vez lo tengas puedes ver la documentación sobre las clases y métodos de esa librería aquí:

http://poi.apache.org/apidocs/overview-summary.html

Yo la he utilizado para trabajar con jsp, pero seguramente se pueda utilizar para aplicaciones de escritorio.

Lo básico: Se usan 3 clases básicas, HSSFWorkbook (libro excel), HSSFSheet (Hoja excel dentro del libro) y HSSFCell (celda o casilla). Para desplazarse por filas y columnas se usan shorts, aunque en la práctica son ints, y debes tener en cuenta que la fila 1 se definiría como row = (short) 0, como si fuese el elemento 0 de un array, es decir el primero de ellos, e igual ocurre con las columnas.

Es decir, si quieres acceder a la celda que está en la fila 3, columna 4 de la segunda hoja de un libro excel de tres hojas que tienes en una direccion de tu pc, tendrías que hacer lo siguiente:

1º Abrir la plantilla como un libro de excel
String ruta = "C:/.../TuExcel.xls";
HSSFWorkbook tuWorkBook = null;
try {
FileInputStream tuFlujoDeDatos = new FileInputStream(ruta );
if (tuFlujoDeDatos == null) {
// No se encuentra la plantilla - aqui puedes enviar un mensaje de log o lo que quieras
return null;
}
// Si todo ha ido bien
HSSFWorkbook tuWorkBook = new HSSFWorkbook(tuFlujoDeDatos );
2º Se accede a la hoja y a la casilla
HSSFSheet tuSheet = tuWorkBook.getSheetAt(1); // Segunda hoja del libro excel (debe existir en tu plantilla porque de lo contrario te dará una excepción al estar fuera del índice.
short row = (short) 2; // Tercera fila
short column = (short) 3; // Cuarta columna
HSSFRow tuRow= tuSheet.getRow(row);
HSSFCell tuCell = tuRow.getCell(column);
3º Ahora que tienes la celda ya puedes extraerle el contenido
//Esto te lo dejo a ti, mira la documentación que te puse sobre HSSFcell y sobre como extraer información de la misma.

Por cierto, yo trabajo con una versión un poco más antigua de apache poi, con lo cual algunas cosas deben haber cambiado. Si te descargas las fuentes de la librería de POI, existen algunos ejemplos de código que puedes mirar.

Otra cosa, poi no es solo HSSF, aunque HSSF es realmente lo único que necesitas para eso :) xD

// catch y finalización del documento aparte ^-^

Suerte

Última edición por Fuzzylog; 06/10/2010 a las 02:02 Razón: .
  #3 (permalink)  
Antiguo 07/10/2010, 08:26
 
Fecha de Ingreso: octubre-2010
Mensajes: 46
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: Ayuda con Excel y Java

Muchisimas gracias, muy completa la explicación, es lo que estaba buscando, te lo agradezco =) =)

Etiquetas: excel
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:07.