Gerar xls com irport com varias planilhas

Boa tarde galera, seguinte eu preciso criar um relatório e quero faze-lo com ireport, ele será gerado em pdf e Excel, por isso a escolha do ireport, o problema é que tenho que gerar várias planilhas dentro deste relatório, há alguma forma de gerar N planilhas com o ireport??

Obrigado

Boa tarde,

Basicamente voce vai gerar uma lista de JasperPrint e no JRXlsExporter voce vai passar os parametros abaixo:

final JRXlsExporter ex = new JRXlsExporter();
		ex.setParameter(JRXlsExporterParameter.JASPER_PRINT_LIST, Lista_de_JapserPrint);
		ex.setParameter(JRXlsAbstractExporterParameter.SHEET_NAMES, Array_Nome_abas);
1 curtida

Muito obrigado pela ajuda!

Bom dia salina_foz, preciso fazer algo semelhante porem estou com algumas duvidas e não encontro quase nada a respeito, estou criar um relatorio em excel usando ireport e preciso de duas abas nesta planilha, como fica o arquivo do ireport? este e o metodo que passa as informações para o ireport:

public void executarRelatorioDemandasProcessos8(ActionEvent action) throws Exception {
        FacesContext context = FacesContext.getCurrentInstance();
        HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();
        try {
            ServletOutputStream servletOutputStream = response.getOutputStream();
            Map<String, Object> parametros = new HashMap<String, Object>();
            
            List dados = new ArrayList();
            List dados2 = new ArrayList();
            List lista = null;
            Map record = null;
            Map record2 = null;

            //Lista com os id's das demandas
            List<Long> listaIds = new ArrayList<Long>();
            parametros.put("TITULO", "BTCALL CENTER - RELATÓRIO DEMANDAS CONTEUDISTAS");
            
            Iterator<?> iterator = getRelatorioPesqDemandasProcessos8().iterator();

            while (iterator.hasNext()) {

                CelulasDemanda d = (CelulasDemanda) iterator.next();
                record = new HashMap();
                listaIds.add(d.getDemanda().getId());

                record.put("id", d.getDemanda().getId());
                 ///Mais itens... 
                
                //adiciona o List dados
                dados.add(record);
            }

            Iterator<?> iterator2 = getCDatasDemandasPorDemanda(listaIds).iterator();

                while (iterator2.hasNext()) {
                    CdatasDemandas c = (CdatasDemandas) iterator2.next();
                    record2 = new HashMap();
                    record2.put("demanda", c.getDemanda());
                    ///Mais itens...
                    dados2.add(record2);
            }
            //Instancia o arquivo de swap, informando:
            // Diretorio,
            // Tamanho de cada bloco (4kb)
            // Numero mínimo de blocos que o  swap será aumentado sempre que estiver cheio
            //JRSwapFile arquivoSwap = new JRSwapFile("/usr/share/apache-tomcat-7.0.53/webapps/genteemacao/tmp/", 4096, 100);
            // Instancia o virtualizador 
            //JRAbstractLRUVirtualizer virtualizer = new JRSwapFileVirtualizer(100, arquivoSwap, true);
            //parametros.put(JRParameter.REPORT_VIRTUALIZER, virtualizer);
            //cria uma fonte de dados para cole??es 
            JRBeanCollectionDataSource fonteDados = new JRBeanCollectionDataSource(dados);
            JRBeanCollectionDataSource fonteDados2 = new JRBeanCollectionDataSource(dados2);

            imprimirExcel(fonteDados, "RelatorioConteudistas_UltimateVersion", parametros);
            imprimirExcel(fonteDados2, "RelatorioCdatasDemandas", parametros);

            servletOutputStream.flush();
            servletOutputStream.close();

        } catch (IOException e) {
            e.printStackTrace();
            throw new Exception("Um erro ocorreu quando o relatório estava sendo executado.");
        } finally {
            context.responseComplete();
        }
    }

Uma de minhas duvidas eh: no metodo imprimir excel, eu passo um jrxml diferente, ou e um mesmo xml que eu configuro as duas abas?