Programación General => Java => Mensaje iniciado por: Antonio_Almeria en Martes 4 de Diciembre de 2007, 20:00
Título: Leer Hojas Excel Con Java
Publicado por: Antonio_Almeria en Martes 4 de Diciembre de 2007, 20:00
Hola a tod@s: estoy haciendo mi proyecto fin de carrera y una parte importante del mismo es leer unos datos desde una hoja de calculo Excel. Alguien sabria como hacerlo? He estado mirando por internet y esto es lo q he encontrado:
----------------------------------------------------------------------------------- public class HSSF1 { private HSSFWorkbook workbook=new HSSFWorkbook(); private FileInputStream inputfile; private FileOutputStream outputfile;
public HSSF1(){}
/*
Creamos el workbook que sirve para leer el excel, le pasamos un parametro que es la path completo de donde se encuentra en excel
/* creamos un HSSFWorkbook con nuestro excel */ HSSFWorkbook xls=example.getWorkbook("C://kerman.xls");
/* Elegimos la hoja que queremos leer del excel */ HSSFSheet sheet=xls.getSheetAt(0);
/* Nos recorremos las filas */ for (int j=9; j<17;j++){
/* Cogemos una fila HSSFRow row=sheet.getRow(fila);*/ HSSFRow row=sheet.getRow(j);
HSSFCell cell; int tipo;
String s="";
/* cogemos la celda que deseamos cell=row.getCell((short)celda); cell=row.getCell((short)1);
switch(cell.getCellType()){
case cell.CELL_TYPE_FORMULA: s =s+ cell.getNumericCellValue(); Double amount = new Double(s); NumberFormat numberFormatter; numberFormatter = NumberFormat.getNumberInstance(); s = numberFormatter.format(amount); break;
case cell.CELL_TYPE_NUMERIC: s=s+cell.getNumericCellValue(); Double amounts = new Double(s); NumberFormat numberFormatters; numberFormatters = NumberFormat.getNumberInstance(); s = numberFormatters.format(amounts); break;
} System.out.println("s"+s); s=""; }
HSSFRow row=sheet.getRow(17); Date p=null; HSSFCell cell=row.getCell((short)1); p=cell.getDateCellValue(); SimpleDateFormat formatDate = new SimpleDateFormat("dd-MM-yyyy"); String fecha = formatDate.format(p); System.out.println("p"+ fecha);
return (mapping.findForward("exito"));
}catch(Exception e){ request.setAttribute("exception",e); return(mapping.findForward("error")); } } }o la implementacion de la lectura del excel -----------------------------------------------------------------------------------
pero por ejemplo necesito la libreria jxl.jar y no se donde tengo q ponerla utilizando el jbuilder X. Si alguien tiene alguna idea estaria de lujo, asias a todos.
Título: Re: Leer Hojas Excel Con Java
Publicado por: Masiosare en Miércoles 5 de Diciembre de 2007, 01:59
Pues la dirección donde pongas ese archivo .JAR podrías darla como "CLASSPATH" cuando llames al java runtime o al JVM, o sea, usando solo el símbolo de sistema, si no me equivoco, sería mas o menos así:
%ubicaciondelarchivojar% es la ruta donde está el archivo JAR incluyendo nombre y extención, %direcciondetuclase% es la direccion de tu programa (o clase), y al ultimo el nombre de tu clase, no necesita extencion aunque puedes ponerla.
El Jbuilder lo que hace, según recuerdo, es automatizar los comandos del símbolo de sistema que compilan y ejecutan los codigos, (las llamadas a los programas del JDK y el runtime) pero no se con exactitud como configurarlo para que use determinados CLASSPATH.
aca un poco más de info sobre los CLASSPATH (http://www.chuidiang.com/java/classpath/classpath.php)
Título: Re: Leer Hojas Excel Con Java
Publicado por: Mr.Torture en Viernes 1 de Agosto de 2008, 17:27
hola...
estoy haciendo esto mismo.. ya logre generar mi excel y todo.. pero yo necesito en esta parte HSSFWorkbook xls=example.getWorkbook("C://kerman.xls"); en ves de leerlo del disco local.. leerlo de algun directorio en mi proyecto.. pero no puedo hacer esto.. dado q es una aplicaicon web..
hay manera de poder hacer esto??
desde ya gracias
Título: Re: Leer Hojas Excel Con Java
Publicado por: manix en Viernes 1 de Agosto de 2008, 17:57
por que hacerlo local? hazlo relativo y de esa forma lo llevas en tu proyecto, inlcuso si generas el jar queda empaquetado ya intentastes con el getResources("ruta relativa") ?
saludos
Título: Re: Leer Hojas Excel Con Java
Publicado por: Mr.Torture en Viernes 1 de Agosto de 2008, 18:19
claro claro.. esa es mi idea... pero no puedo conseguirlo...
esto es un prowecto web.. donde deberia poner el archivo y con que ruta accederia al mismo? mira que intente ponerlo por todos lado y no hay caso...
gracias por responder
Título: Re: Leer Hojas Excel Con Java
Publicado por: manix en Viernes 1 de Agosto de 2008, 18:25
hola
pero ya intentas asi?
Código: Java
getClass().getResources("documento.xml")
donde documento.xml esta en la carpeta raiz de tu proyecto
saludos
Título: Re: Leer Hojas Excel Con Java
Publicado por: Mr.Torture en Viernes 1 de Agosto de 2008, 20:01
hago esto URL url = this.getClass().getResource("template.xls"); y viene en null ... :S
Título: Re: Leer Hojas Excel Con Java
Publicado por: manix en Viernes 1 de Agosto de 2008, 21:16
hola
eso pasa porque no aparece el recurso. Dejame hacer una prueba y luego te cuento
saludos
Título: Re: Leer Hojas Excel Con Java
Publicado por: manix en Sábado 2 de Agosto de 2008, 19:24
hola
probado y las forma ue tienes esta bien, haz esto:
donde tu kerman.xls enta en la ruta tuProyecto/kerman.xls
saludos
Título: Re: Leer Hojas Excel Con Java
Publicado por: Mr.Torture en Lunes 4 de Agosto de 2008, 20:00
mmm
es q HSSFWorkbook xls=example.getWorkbook("kerman.xls"); no esta definido para el parametro del String...... tiene q entrarle un InputStream .. :S
Título: Re: Leer Hojas Excel Con Java
Publicado por: nuevajava en Jueves 21 de Agosto de 2008, 23:25
buenas tardes antes que todo queria agrdecer la ayuda ya resolvi como leer el archivo excel y como guardar en Jtable mi duda ahora es como puedo validar esos datos con respecto a un JPA las celdas de la tabla