Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/09/2013, 11:45
CRauda
 
Fecha de Ingreso: septiembre-2010
Mensajes: 91
Antigüedad: 14 años, 5 meses
Puntos: 9
Respuesta: Como pasar un excel a java ?

Si lo que quieres es leer el archivo y guardar cada fila en una tabla de tu base de datos puedes usar algo como esto que he hecho yo, solo tendrias que mejorarlo segun lo que requieras, porque en este codigo le he quitado muchas validaciones y procedimientos extras que uso yo para mi caso... Ahi deberas ir agregando lo que necesites, solo te pondre como lo basico practicamente:

Código:
private void cargarArchivo(){
                           File bow = null;
			   FileReader freader = null;
                           CsvReader datos = null;
			   String rutaarch = "C:\\OPArchivos\\docCarga.xls";
			   bow = new File(rutaarch);
                           freader = new FileReader(bow);
                           datos = new CsvReader(freader);
			   int contador = 0;
			   int cantidadCamposArchivo = 10;
			   while (datos.readRecord()){
					for (i=0;i<cantidadCamposArchivo;i++){ //queda con < porque la primera posicion es 0
						sql = "insert into " + TuBase + "." + TuTabla + "(" + TusCampos + ") values (";
						sql += datos.get(i);
						if(contador < cantidadCamposArchivo){
							sql+=",";
							contador++;
						}else{
							sql+=")";
							//llamar funcion para insertar: ejm: insertarValor(sql);
							sql = "";
							contador = 0;
						}
					}
				}
                         datos.close();
		}
En mi caso yo armo dinamicamente el query del insert para ir guardando fila por fila a travez de otra funcion a la cual unicamente le envio el query ya armado y hago el execute.

Como nota importante la variable cantidadCamposArchivo determina cuantas columnas tiene tu archivo, debes establecerle eso para que no intente obtener columnas mas a la derecha de las que requieres, y tener cuidado que llenes la misma cantidad de columnas del archivo que columnas de la tabla hayas especificado en el query.

Espero que te sirva.

Saludos.

Última edición por CRauda; 11/09/2013 a las 11:54 Razón: Hacia falta un for