IReport - Arquivo Jasper exportar para XLS em um Servlet

Pessoal, tenho uma aplicacao aqui que gera um arquivo jasper, eu consigo exportar para pdf fazendo assim:

[code] Relatorio daoReport = null;
File reportFile = null;

String caminhoRelatorio = “Relatorios\” + codigoRelatorio;
JasperCompileManager.compileReportToFile(caminhoRelatorio + “.jrxml”, caminhoRelatorio + “.jasper”);

//essa classe Relatorio só faz conexao com o banco de dados

ResultSet resultSet = daoReport.executeQueryReport(mapFiltros);

byte[] bytes = JasperRunManager.runReportToPdf(reportFile.getPath(), new HashMap(), new JRResultSetDataSource(resultSet));

return bytes;
[/code]

Esse método eh chamado pelo servlet, que recebe esses bytes.

Eu queria fazer com que eu gerasse esses bytes de um arquivo xls já, tentei fzr assim

[code] ResultSet resultSet = daoReport.executeQueryReport(mapFiltros);
JasperPrint jasperPrint = JasperFillManager.fillReport(reportFile.getPath(), new HashMap(), new JRResultSetDataSource(resultSet));

ByteArrayOutputStream baos = new ByteArrayOutputStream();
JRXlsExporter exporter = new JRXlsExporter();

exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, baos);
exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.FALSE);
exporter.exportReport();
byte[] bytes = baos.toByteArray();

return bytes; [/code]

Esse resultset apenas executa a query no banco de dados, para preencher o relatório…

Desculpem o amadorismo é que comecei a pouco tempo a usar essa ferramenta, desde já agradeço !

No servlet para o PDF está assim:

[code]

response.setContentType(“application/pdf”);

    response.setContentLength(bytes.length);

    ServletOutputStream servletOutputStream = response.getOutputStream();
    servletOutputStream.write(bytes, 0, bytes.length);
    servletOutputStream.flush();
    servletOutputStream.close();

//Esse bytes recebe do relatorio gerado[/code]

No servlet que modifiquei para gera o Xls está assim: //Mas não funciona

response.setContentType("application/xls"); response.setHeader("Content-disposition", "attachment; filename=file.xls"); response.setContentLength(bytes.length); ServletOutputStream outputStream = response.getOutputStream(); outputStream.write(bytes, 0, bytes.length); outputStream.flush(); outputStream.close();

O que acontece? Qual o erro?