Problema Jakarta POI EXCEL [RESOLVIDO]

3 respostas
hopster

Galera,

Uso uma planilha base para inserir os dados de uma consulta sql, como por exemplo abaixo o "arquivo.xls" e está funcionando perfeito, porém funciona apenas uma vez. Parece que quando vou reutilizar a planilha ela está bloqueada.... Quando reinicio o tomcat ela funciona novamente, porém apenas uma vez.

Alguém sabe como resolver?

vai ai meu código:

public static void exportarPOI(String caminho,String[] primeira, int coluna,int linha,int linha2, String nome) throws IOException {

          POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream("arquivo.xls"));


 HSSFWorkbook wb = new HSSFWorkbook(fs);
 HSSFSheet sheet = wb.getSheetAt(0);
 HSSFRow row = null;

    int vai=1;
    try {
               
                 for(int i=0; i<linha; i++){              
                        row = sheet.getRow(vai);             
                        row.createCell((short) coluna).setCellType(0);                        
                        row.getCell(coluna).setCellValue(primeira[i]);  
                        vai++;
                 }

        } catch (Exception e) {   }



FacesContext fc = FacesContext.getCurrentInstance();
HttpServletResponse res = (HttpServletResponse) fc.getExternalContext().getResponse();

   try {

      OutputStream out = res.getOutputStream();
      res.setContentType("application/vnd.ms-excel");
      res.setHeader("Content-disposition", "inline; filename="+nome+".xls");
         wb.write(out);
         out.flush();
         out.close();
   } catch (FileNotFoundException fne) {} catch (IOException ioe) {}


 
}
>

3 Respostas

T

Abriu um arquivo, tem de fechar.

hopster

Beleza…

agora mudei para

FileInputStream fis = new FileInputStream("arquivo.xls");
POIFSFileSystem fs = new POIFSFileSystem(fis);

e no final do código…

fis.close();

mas continua dando o mesmo erro… tens alguma sugestão?

hopster

agora está ok com o código acima… era apenas o caminho do arquivo…

Criado 22 de julho de 2009
Ultima resposta 22 de jul. de 2009
Respostas 3
Participantes 2