iReport - Saída em excel

Lista,

Tenho o método abaixo (passado por um colega) que deveria exibir no browser o relatório em excel, porém dá o erro abaixo.
Alguem pode me ajudar?
Vi que tem esse tal do java.lang.NoClassDefFoundError: jxl/write/biff/RowsExceededException mas não consigo encontrar essa classse.
Falta algum jar na minha aplicação? Onde conseguí-lo?

Muito obrigado,

Marques

jasperDesign = JRXmlLoader.load(reportDesignFile);
 				
 //Compila o relatório 
 jasperReport = JasperCompileManager.compileReport(jasperDesign);
 			    
 //Preenche o relatório com os parametros e o data source
 jasperPrint = JasperFillManager. fillReport(jasperReport, param, ds);
 
 //-------------------------------------------------
 //XLS OUTPUT STREAM
 //-------------------------------------------------			
 				
 JExcelApiExporter exporter = new JExcelApiExporter(); 
 ByteArrayOutputStream xlsReport = new ByteArrayOutputStream(); 
 exporter.setParameter(JExcelApiExporterParameter.JASPER_PRINT, jasperPrint); 
 exporter.setParameter(JExcelApiExporterParameter.OUTPUT_STREAM, xlsReport); 
 exporter.setParameter(JExcelApiExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE); 
 exporter.setParameter(JExcelApiExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.TRUE); 
 exporter.setParameter(JExcelApiExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.TRUE); 
 
 exporter.exportReport(); 
 byte[] bytes = xlsReport.toByteArray(); 
 response.setContentType("application/vnd.ms-excel"); 
 response.setContentLength(bytes.length); 
 xlsReport.close(); 
 OutputStream ouputStream = response.getOutputStream(); 
 ouputStream.write(bytes, 0, bytes.length); 
 ouputStream.flush(); 
 ouputStream.close();
Exception report
 
 message 
 
 description The server encountered an internal error () that prevented it from fulfilling this request.
 
 exception 
 
 javax.servlet.ServletException: jxl/write/biff/RowsExceededException
 	org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:298)
 	org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
 	org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
 	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
 	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
 	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
 	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
 	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
 
 
 root cause 
 
 java.lang.NoClassDefFoundError: jxl/write/biff/RowsExceededException
 	br.com.fit.action.EstimativaColheitaAction.toExcel(EstimativaColheitaAction.java:1646)
 	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 	sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
 	sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 	java.lang.reflect.Method.invoke(Unknown Source)
 	org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274)
 	org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
 	org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
 	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
 	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
 	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
 	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
 	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
 
 
 note The full stack trace of the root cause is available in the Apache Tomcat/5.5.20 logs.

[quote=Marques]Lista,

Tenho o método abaixo (passado por um colega) que deveria exibir no browser o relatório em excel, porém dá o erro abaixo.
Alguem pode me ajudar?
Vi que tem esse tal do java.lang.NoClassDefFoundError: jxl/write/biff/RowsExceededException mas não consigo encontrar essa classse.
Falta algum jar na minha aplicação? Onde conseguí-lo?

Muito obrigado,

Marques

jasperDesign = JRXmlLoader.load(reportDesignFile);
 				
 //Compila o relatório 
 jasperReport = JasperCompileManager.compileReport(jasperDesign);
 			    
 //Preenche o relatório com os parametros e o data source
 jasperPrint = JasperFillManager. fillReport(jasperReport, param, ds);
 
 //-------------------------------------------------
 //XLS OUTPUT STREAM
 //-------------------------------------------------			
 				
 JExcelApiExporter exporter = new JExcelApiExporter(); 
 ByteArrayOutputStream xlsReport = new ByteArrayOutputStream(); 
 exporter.setParameter(JExcelApiExporterParameter.JASPER_PRINT, jasperPrint); 
 exporter.setParameter(JExcelApiExporterParameter.OUTPUT_STREAM, xlsReport); 
 exporter.setParameter(JExcelApiExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE); 
 exporter.setParameter(JExcelApiExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.TRUE); 
 exporter.setParameter(JExcelApiExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.TRUE); 
 
 exporter.exportReport(); 
 byte[] bytes = xlsReport.toByteArray(); 
 response.setContentType("application/vnd.ms-excel"); 
 response.setContentLength(bytes.length); 
 xlsReport.close(); 
 OutputStream ouputStream = response.getOutputStream(); 
 ouputStream.write(bytes, 0, bytes.length); 
 ouputStream.flush(); 
 ouputStream.close();

[code]
Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: jxl/write/biff/RowsExceededException
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:298)
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

root cause

java.lang.NoClassDefFoundError: jxl/write/biff/RowsExceededException
br.com.fit.action.EstimativaColheitaAction.toExcel(EstimativaColheitaAction.java:1646)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274)
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

note The full stack trace of the root cause is available in the Apache Tomcat/5.5.20 logs.
[/code][/quote]

//////////////////////////
Uma dica.
Quando o relatorio estar no preview. Clicando no disquete a acima na esquerda (Exportar), escolha o tipo CSV.

de um nome ao arquivo.

Voce abre com Excel, BrOffice.
Lindberg
//////////////////////////