0 votos
por (20 puntos) en General
 hola comunidad les cuento soy nuevo llego recién una semana trabajando como programador lo que pasa es que tengo que hacer un metodo que me lee excel y luego me los pase a base de datos y que pueda ser cargado mediante un fileUpload (igual que subir una foto a facebook)  lo que pasa es que el archivo me llega  null  si me pudieran ayudar o orientar se los agradeseria mucho  les adjunto mi codigo



/**
     * Import excel file into contacts
     *     
* @param fileUpload : XLS or XLSX file
     */
    public void handleFileUpload(FileUploadEvent fileUpload) throws IOException, InvalidFormatException {
        RequestContext context = RequestContext.getCurrentInstance();
        List<Excel> excels = new ArrayList<Excel>();
        try {
            String fileName = fileUpload
                    .getFile()
                    .getFileName()
                    .substring(
                    fileUpload.getFile().getFileName()
                    .indexOf("."));
            // Store file in user home
            copyFile(fileName, fileUpload.getFile().getInputstream());
            // Get stored file
            File file = new File(System.getProperty("user.home") + "/"
                    + fileName);
            // Get the workbook instance for XLS file
            Workbook workbook = WorkbookFactory
                    .create(new FileInputStream(file));
            // Get first sheet from the workbook
            Sheet sheet = workbook.getSheetAt(0);
            // Iterate through each rows from first sheet
            Iterator<Row> rowIterator = sheet.iterator();
            while (rowIterator.hasNext()) {
                Row row = rowIterator.next();
                Excel exc = new Excel();
                System.out.println("A1 :" + nombre);
                System.out.println("b1 :" + dia);
                System.out.println("c1 :" + hora);
                excels.add(exc);
            }
        } catch (IOException e) {
            System.out.println(e);
        }
    }

    /**
     * Save uploaded File into user home dir
     *
     * @param fileName
     * @param in
     */
    private void copyFile(String fileName, InputStream in) {
        try {
            OutputStream out = new FileOutputStream(new File(
                    System.getProperty("user.home") + "/" + fileName));

            int read = 0;
            byte[] bytes = new byte[1024];

            while ((read = in.read(bytes)) != -1) {
                out.write(bytes, 0, read);
            }

            in.close();
            out.flush();
            out.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }


Por favor, accede o regístrate para responder a esta pregunta.

Preguntas relacionadas

0 votos
1 respuesta
preguntado por Dania Paulina Lugo (20 puntos) Abr 20, 2022 en C/C++
0 votos
0 respuestas
0 votos
0 respuestas
preguntado por lucas25393 (20 puntos) Mar 4, 2016 en General
0 votos
1 respuesta
preguntado por ADILIA (20 puntos) Ene 28, 2016 en General
Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código

Categorías

...