Criei um relatório no IReport com o tipo de conexão Microsoft Excel(xls) datasource, apontei o caminho da planilha e pelo IReport gero o relatório normalmente e ele é exibido em PDF.
Procurei aqui no grupo e não consegui encontrar algum exemplo para tirar minha duvida que é como realizar a chamada pelo Java conforme a imagem abaixo qual chamada posso usar e se possível se tem algum exemplo.

tentei com chamar o relatorio com o código abaixo mas é gerado o seguinte erro
**ERRO AO GERAR RELATORIO **
Unknown column name : codigo
A coluna codigo esta na planilha e na ferramenta iReport gera normalmente, somente quando chamo pela aplicação acontece isso.
try {
File arquivo = new File(Constantes.CAMINHO_ARQUIVO + Constantes.PLANILHA_RECIBO);
HashMap param = new HashMap();
JasperPrint relatorio = null;
System.out.println("Entra para gerar os relatorios");
String dir = System.getProperty("user.dir");;
relatorio = JasperFillManager.fillReport(dir + "/src/relatorios/teste_recibo.jasper", param, new JRXlsDataSource(arquivo));
JasperViewer.viewReport(relatorio, false);
} catch (Exception ex) {
JOptionPane.showMessageDialog(this, "ERRO AO GERAR RELATORIO \n" + ex.getMessage(), "ERRO!", JOptionPane.ERROR_MESSAGE);
System.out.println("ERRO AO GERAR RELATORIO \n" + ex.getMessage());
}
}
alguem teria alguma sugestão para contornar este problema? Tentei enviando uma coleção de dados mas da erro de UTF-8 ao compilar o ireport
Cê tem certeza que a coluna ta lá? Pelo excel eu não manjo nada mano. Vê se vc usou algum acento em “coluna”, se tá falando que é desconhecida, não tem muito o que fazer.
Troca isso: System.out.println("ERRO AO GERAR RELATORIO \n" + ex.getMessage());
Por isso: ex.printStackTrace();
A coluna esta sim, porem consegui resolver o problema mudando a conexão do relatório, primeiro estou lendo a planilha pela aplicação e carrego uma lista e mando para o iReport ae deu certo.
Obrigado pela força
1 curtida