• Jueves 16 de Mayo de 2024, 23:34

Autor Tema:  Leer Hojas Excel Con Java  (Leído 13669 veces)

Antonio_Almeria

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Leer Hojas Excel Con Java
« en: Martes 4 de Diciembre de 2007, 20:00 »
0
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

*/
public HSSFWorkbook getWorkbook(String s){

try{
inputfile=new FileInputStream(s);
workbook=new HSSFWorkbook(inputfile);
}catch(Exception e ){
System.out.println("error!!!!!!!!!!!!!!!!"+e.getMe ssage());
}
return workbook;
}

}

/*

Clase que lee el excel

*/

public class comActionLeerExcel extends Action
{
private static Logger logger = Logger.getLogger(comActionCrearExcel.class.getName ());

public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
try{

HSSF1 example = new HSSF1();

/* 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.

Antonio J. gonzalez lazaro
yallegaantonio@hotmail.com (por si alguien quiere exarme una manilla)

Masiosare

  • Miembro MUY activo
  • ***
  • Mensajes: 118
    • Ver Perfil
Re: Leer Hojas Excel Con Java
« Respuesta #1 en: Miércoles 5 de Diciembre de 2007, 01:59 »
0
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í:

Código: Text
  1. java -cp %ubicaciondelarchivojar%;%direcciondetuclase% %nombredetuclase%
  2.  

%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
El experto es aquel que sabe cada vez más sobre cada vez menos, hasta que sabe competamente todo sobre absolutamente nada.
[size=109]Ley de Murphy[/size]

Mr.Torture

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Re: Leer Hojas Excel Con Java
« Respuesta #2 en: Viernes 1 de Agosto de 2008, 17:27 »
0
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

manix

  • Miembro MUY activo
  • ***
  • Mensajes: 203
  • Nacionalidad: cr
    • Ver Perfil
    • http://apuntes.delibertad.com
Re: Leer Hojas Excel Con Java
« Respuesta #3 en: Viernes 1 de Agosto de 2008, 17:57 »
0
hola

Código: Java
  1. HSSFWorkbook xls=example.getWorkbook("C://kerman.xls");
  2.  

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

Mr.Torture

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Re: Leer Hojas Excel Con Java
« Respuesta #4 en: Viernes 1 de Agosto de 2008, 18:19 »
0
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

manix

  • Miembro MUY activo
  • ***
  • Mensajes: 203
  • Nacionalidad: cr
    • Ver Perfil
    • http://apuntes.delibertad.com
Re: Leer Hojas Excel Con Java
« Respuesta #5 en: Viernes 1 de Agosto de 2008, 18:25 »
0
hola

pero ya intentas asi?
Código: Java
  1. getClass().getResources("documento.xml")
  2.  

donde documento.xml esta en la carpeta raiz de tu proyecto

saludos

Mr.Torture

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Re: Leer Hojas Excel Con Java
« Respuesta #6 en: Viernes 1 de Agosto de 2008, 20:01 »
0
hago esto
URL url = this.getClass().getResource("template.xls");
y viene en null ...
:S

manix

  • Miembro MUY activo
  • ***
  • Mensajes: 203
  • Nacionalidad: cr
    • Ver Perfil
    • http://apuntes.delibertad.com
Re: Leer Hojas Excel Con Java
« Respuesta #7 en: Viernes 1 de Agosto de 2008, 21:16 »
0
hola

eso pasa porque no aparece el recurso. Dejame hacer una prueba y luego te cuento

saludos

manix

  • Miembro MUY activo
  • ***
  • Mensajes: 203
  • Nacionalidad: cr
    • Ver Perfil
    • http://apuntes.delibertad.com
Re: Leer Hojas Excel Con Java
« Respuesta #8 en: Sábado 2 de Agosto de 2008, 19:24 »
0
hola

probado y las forma ue tienes esta bien, haz esto:
Código: Java
  1. HSSFWorkbook xls=example.getWorkbook("kerman.xls");
  2.  
donde tu kerman.xls enta en la ruta tuProyecto/kerman.xls

saludos

Mr.Torture

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Re: Leer Hojas Excel Con Java
« Respuesta #9 en: Lunes 4 de Agosto de 2008, 20:00 »
0
mmm

es q HSSFWorkbook xls=example.getWorkbook("kerman.xls");
no esta definido para  el parametro del String......
tiene q entrarle un InputStream .. :S

nuevajava

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Leer Hojas Excel Con Java
« Respuesta #10 en: Jueves 21 de Agosto de 2008, 23:25 »
0
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