Ver Mensaje Individual
  #3 (permalink)  
Antiguo 19/07/2010, 03:31
Erickvk
 
Fecha de Ingreso: septiembre-2007
Mensajes: 268
Antigüedad: 17 años, 4 meses
Puntos: 8
Respuesta: control del boton cancelar

Cita:
Iniciado por ioel10 Ver Mensaje
Buenos días,

¿Podrías poner la parte de código donde generas el excel y donde retorna después de haber cerrrado?

Un saludo y buen día.
InputStream objInputStream = this.getClass().getResourceAsStream("/"+SITEConstantes.CTE_RUTA_DIR_CONFIGURACION+SITECo nstantes.CTE_URL_PLANTILLA_EXCEL);

POIFSFileSystem objPOIFSFileSystem = new POIFSFileSystem (objInputStream);
HSSFWorkbook objHSSFWorkbook = new HSSFWorkbook(objPOIFSFileSystem);
HSSFSheet objHSSFSheet = objHSSFWorkbook.getSheet(BLCEConstantes.CTE_ASSETS );

HSSFRow objHSSFRow = objHSSFSheet.getRow(0);
String sNombreCliente = (String)PhmExcel.get(CLIEConstantes.CTE_NOMBRE);
objHSSFRow.getCell(0).setCellValue(sNombreCliente) ;
String sEscala = (String)PhmExcel.get(AXESConstantes.CTE_ESCALA);
String nombreEscala = BLCEConstantes.CTE_EUR_000;
if(sEscala.equals("3")) {

nombreEscala = BLCEConstantes.CTE_EUR_MILION;
}
objHSSFRow = objHSSFSheet.getRow(2);
objHSSFRow.getCell(4).setCellValue(nombreEscala);

Vector vExcel = (Vector)PhmExcel.get(AXESConstantes.CTE_VECTOR_EXC EL);
for (int i=0;i<vExcel.size();i++)
{

}// for (int i=0;i<vExcel.size();i++)

objHSSFSheet = objHSSFWorkbook.getSheet(BLCEConstantes.CTE_LIABIL ITIES);
for (int i=0;i<vExcel.size();i++)
{

}// for (int i=0;i<vExcel.size();i++)
objHSSFSheet = objHSSFWorkbook.getSheet(BLCEConstantes.CTE_PROFIT );
for (int i=0;i<vExcel.size();i++)
{
}//for (int i=0;i<vExcel.size();i++)

// Crea el evaluador de fórmulas
FormulaEvaluator objFormulaEvaluator = objHSSFWorkbook.getCreationHelper().createFormulaE valuator();




OutputStream objOutputStream = PreqResponse.getOutputStream();
PreqResponse.setHeader("Pragma", "no-cache");
PreqResponse.setContentType("application/x-download");
PreqResponse.setHeader("Content-Disposition","attachment; filename=\"Balance_normalizado.xls\"");

objHSSFWorkbook.write(objOutputStream);
objOutputStream.flush();
objOutputStream.close();

}
catch(Exception sql)
{
HashMap hmExcepcion=new HashMap();
if (sql.getCause() == null)
{
hmExcepcion.put(PLOGConstantes.CTE_PARAM_MSG_EXC," se ha cancelado la descarga del archivo");
objPLOGLog.error(sNumeroIdentificativoTrazas+" "+sFechaSistema+" "+CTE_NOMBRE_COMPONENTE,SITE.PLOG.PLOGConstantes.C TE_M0009,hmExcepcion);
}
else{
hmExcepcion.put(PLOGConstantes.CTE_PARAM_MSG_EXC," "+sql.getMessage());
objPLOGLog.error(sNumeroIdentificativoTrazas+" "+sFechaSistema+" "+CTE_NOMBRE_COMPONENTE,SITE.PLOG.PLOGConstantes.C TE_M0009,hmExcepcion);
throw new SITEExcepcion(SITEErrores.COD_ERROR_GENERICO);
}

} // catch(Exception sql)

Solo falla en internet explorer 7, porque en el ocho no lanza excepcion y en firefox tampoco lanza excepcion.

Da una clienteAbortException, que hereda de IOException, pero me he bajado el jar de catalina y hecho un catch de la clase pero sigue pasando por el catch de exception.