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

generar automáticamente registros de Excel en java

Estas en el tema de generar automáticamente registros de Excel en java en el foro de Java en Foros del Web. Hola Básicamente en lo que estoy enredado es, ¿como generar un código que me traiga archivos en formato .CSV que se encuentran guardados en una ...
  #1 (permalink)  
Antiguo 18/09/2013, 16:02
 
Fecha de Ingreso: septiembre-2013
Mensajes: 1
Antigüedad: 10 años, 7 meses
Puntos: 0
generar automáticamente registros de Excel en java

Hola

Básicamente en lo que estoy enredado es, ¿como generar un código que me traiga archivos en formato .CSV que se encuentran guardados en una carpeta, y que me traiga el archivo mas reciente por fecha ....
  #2 (permalink)  
Antiguo 19/09/2013, 08:27
 
Fecha de Ingreso: septiembre-2010
Mensajes: 91
Antigüedad: 13 años, 7 meses
Puntos: 9
Respuesta: generar automáticamente registros de Excel en java

Buen dia, primero que nada lo que necesitas hacer seria armar el nombre del documento dinamicamente, para asi inicializar un objeto tipo FileReader que ira a leer tu archivo (de la ruta que le espeficiques) para asi recorrerlo.

seria algo similar a esto:

Código Java:
Ver original
  1. public void leerExcel(FileUploadEvent file) throws FileNotFoundException, IOException {
  2.     File bow = null;
  3.     FileReader freader = null;
  4.     CsvReader datos = null;
  5.     String ruta = "ruta/nombredelarchivo.csv";//esta es la que armaras dinamicamente en tu caso
  6.     bow = new File(ruta); //Luego inicializas el objeto bow con la ruta para que sea leido
  7.     freader = new FileReader(bow);
  8.     datos = new CsvReader(freader);
  9.     int contador = 0;
  10.     int cantidadCamposArchivo = 10; //Esta es la cantidad de columnas del archivo csv, es muy importante este dato.
  11.     while (datos.readRecord()) {
  12.         for (int i = 0; i < cantidadCamposArchivo; i++) {
  13.             String sql = "insert into tabla(columna1,columna2,columna3,etc)values("; //Aca no le agregas parametros, los valores se contatenan en el datos.get(i)
  14.             sql += datos.get(i);
  15.             if (contador < cantidadCamposArchivo - 1) { //Aca debes ponerle el -1 sino nunca entrara en el "else" porque el i igual queda < cantidadCampos
  16.                 sql = ",";
  17.                 contador += 1;
  18.             } else {
  19.                 sql += ")";
  20.                 sql = "";
  21.         ejecutarQuery(sql); //Aca mandas el query a ejecutarse a la base por medio de otra funcion
  22.                 contador = 0;
  23.             }
  24.         }
  25.     }
  26.     datos.close();
  27. }

Espero te sirva. Saludos

Última edición por CRauda; 19/09/2013 a las 08:44

Etiquetas: excel, registros
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 16:09.