packagedados;importnet.sf.jasperreports.engine.*;importjava.sql.*;importjava.util.*;importnet.sf.jasperreports.view.JasperViewer;publicclassRelatorioDespesas{privateConnectionconexao;publicRelatorioDespesas()throwsSQLException,ClassNotFoundException{this.conexao=ConectaBD.getConectacao();this.conexao.createStatement();}publicvoidgeraRelatorio()throwsJRException,Exception{this.conexao=ConectaBD.getConectacao();this.conexao.createStatement();PreparedStatementst=conexao.prepareStatement("SELECT * FROM despesa");ResultSetrs=st.executeQuery();JRResultSetDataSourcejrRS=newJRResultSetDataSource(rs);Mapparameters=newHashMap();JasperFillManager.fillReportToFile("RELATORIOS/despesasrelatadas.jasper",parameters,jrRS);JasperExportManager.exportReportToHtmlFile("RELATORIOS/despesasrelatadas.jrprint");JasperViewer.viewReport("RELATORIOS/despesasrelatadas.html",false);}publicstaticvoidmain(String[]args)throwsJRException,Exception{newRelatorioDespesas().geraRelatorio();}}
Os diretórios estão certos de certeza absotula.
Eu queria que gerasse em pdf, mas n gera! so consegui gerar em html, mas mesmo assim não abre. Os erros apontados são:
A exceção ocorrida é FileNotFoundException, o que indica que seu projeto está sendo executado a partir de um caminho onde NÃO consegue localizar o arquivo “RELATORIOS\despesasrelatadas.jasper”. Experimente passar o caminho completo para este arquivo e acho que vai funcionar.
A
artursmp
roger, coloquei o caminho completo certinho de onde estão os arquivos, mas deu a mesma bronca ! n entendo como n ta conseguindo achar =/
eu instalei o plugin do ireport no netbeans fiz o design todo la do relatorio tudo certinho e tal, e baixei os jars do jasper e nada…
A
artursmp
n consigo entender o motivo desse erro ! sera que pode ser algum problema com os jars que eu baixei ?
alguem ja passou por algo parecido ?
R
roger_rf
A exceção emitida é a mesma? Por favor envie novamente seu código-fonte atualizado e a listagem da exceção para analisarmos.
A
artursmp
roger_rf, consegui abrir o relatório em formato .jasper e nao em pdf, ou no máximo em html (gostaria mto que fosse em pdf ou pelo menos html).
ele abre o relatório no jasper view tudo ok.
quando eu tentava gerar o html, ele gerava la no diretorio, em pdf n gerava e dava erro. Mesmo gerando em html não consegue abrir ta ligado.
vou te mostrar o codigo
packagedados;importnet.sf.jasperreports.engine.*;importjava.sql.*;importjava.util.*;importjavax.swing.JFrame;importnet.sf.jasperreports.view.JasperViewer;publicclassRelatorioDespesas{privateConnectionconexao;publicRelatorioDespesas()throwsSQLException,ClassNotFoundException{this.conexao=ConectaBD.getConectacao();this.conexao.createStatement();}publicvoidgeraRelatorio()throws/*JRException, */Exception{this.conexao=ConectaBD.getConectacao();this.conexao.createStatement();PreparedStatementst=conexao.prepareStatement("SELECT * FROM despesa");ResultSetrs=st.executeQuery();JRResultSetDataSourcejrRS=newJRResultSetDataSource(rs);Mapparameters=newHashMap();JasperFillManager.fillReportToFile("C:/reports/despesasrelatadas.jasper",parameters,jrRS);JasperViewer.viewReport("C:/reports/despesasrelatadas.jrprint",false,false);}publicstaticvoidmain(String[]args)throwsJRException,Exception{newRelatorioDespesas().geraRelatorio();}}
olha, caso eu n consiga exportar e abrir em pdf ou html, como faço pra dentro da minha camada de gui, em um clique de botão eu
abrir o relatorio em .jasper ?
valeu mesmo cara!
R
roger_rf
Para que o Jasper possa gerar arquivos PDF, é preciso que você inclua na sua aplicação o arquivo JAR da biblioteca iText. Você incluiu este arquivo?
A
artursmp
não sabia! vou baixar o .jar
acho q com isso vai conseguir exportar porém o jasperview talvez n consiga abrir!
caso eu consigo como faço pra chamar no meu pacote gui no clique de um botão ?
valeu cara!
R
roger_rf
O JasperViewer não é capaz de abrir arquivos PDF, você provavelmente terá de delegar essa tarefa ao sistema operacional:
if(Desktop.isDesktopSupported()){
Desktop.getDesktop().open(newFile("caminho do arquivo PDF"));
}
Para disparar o relatório na sua GUI, creio que o melhor é criar um JFrame, incluir um JButton no JFrame e, no evento de clique do JButton (pode ser registrado via addActionListener()), dispare o método geraRelatorio() da classe RelatorioDespesas.
A
artursmp
roger_rf:
O JasperViewer não é capaz de abrir arquivos PDF, você provavelmente terá de delegar essa tarefa ao sistema operacional:
if(Desktop.isDesktopSupported()){
Desktop.getDesktop().open(newFile("caminho do arquivo PDF"));
}
Para disparar o relatório na sua GUI, creio que o melhor é criar um JFrame, incluir um JButton no JFrame e, no evento de clique do JButton (pode ser registrado via addActionListener()), dispare o método geraRelatorio() da classe RelatorioDespesas.
Roger, valeu aí pela ajuda, agora vai dar tudo certo !