Gerar relatorio sem usar banco de dados?

9 respostas
S

Eu gostaria de saber se há algum meio de gerar um relatório com dados ainda na memória, por exemplo, eu tenho um programa que faz uns calculos e queria imprimir(na impressora msm xD) esses resultados, nunca usei nenhuma api para mandar dados para impressora, como proceder?

9 Respostas

R

O JasperReports é bem versátil, permite que você gere relatórios a partir de várias fontes: bancos de dados SQL, arquivos XML, arquivos de texto e, atendendo a sua necessidade, objetos em memória. Sugiro que você baixe o iReport, que facilita a geração de relatórios baseados em JasperReports:

http://jasperforge.org/projects/ireport

S

roger_rf:
O JasperReports é bem versátil, permite que você gere relatórios a partir de várias fontes: bancos de dados SQL, arquivos XML, arquivos de texto e, atendendo a sua necessidade, objetos em memória. Sugiro que você baixe o iReport, que facilita a geração de relatórios baseados em JasperReports:

http://jasperforge.org/projects/ireport

Já estou usando o iReport, mas não encontro nenhum tutorial para usar ele com JavaBeans, o unico link que eu achei esta quebrado =(

R

Talvez os links abaixo ajudem:

http://books.google.com.br/books?id=GeLCEnT1VpMC&pg=PA138&lpg=PA138&dq=ireport+javabeans+example&source=bl&ots=abW6vIoaC3&sig=powaZAA7mNH65SO8_EhQg6zl260&hl=pt-BR&ei=C_KvSuLeA5aRtgeuzPWoCA&sa=X&oi=book_result&ct=result&resnum=4#v=onepage&q=ireport%20javabeans%20example&f=false

http://www.google.com.br/search?rlz=1C1GGLS_pt-BRBR332BR332&sourceid=chrome&ie=UTF-8&q=ireport+javabeans+example

fabiofalci

Se nada te servir no Jasper (o que é bem difícil) vc pode implementar seu
próprio DataSource.
http://jasperreports.sourceforge.net/api/net/sf/jasperreports/engine/JRDataSource.html

S

Eu consegui fazer a conexão com a classe factory do java beans, mas como eu passo um parametro pra ela? Não estou entendendo é isso, todos exemplo que vejo na classe factory as pessoas botam tipo assim:

public static ArrayList<Person> getBeanCollection() {
		
		person = new Person("Sue", "Smith", phones );
		people.add(person);		
		return people;
		
		
		
	}
Se eu fizer assim os dados que vão para o relatorio sempre vão ser os mesmo, não to entendendo como eu passo uma coleção variada, ela depende do programa e suas funcionalidades para ser gerada, alguem pode sanar minha duvida?
fabiofalci

Nesse método faça o que bem entender. Acesse banco, filesystem, rede, etc.
Monte uma lista e retorne para o report.

S

fabiofalci:
Nesse método faça o que bem entender. Acesse banco, filesystem, rede, etc.
Monte uma lista e retorne para o report.

Eu preciso que ele receba uma array com os dados que são gerados em tempo de execução, não tem como passar isso direto…
Meu programa faz vários calculos, e joga isso em uma array, eu preciso jogar essa array no relatorio

fabiofalci

Isso, o método getBeanCollection é chamado pelo report, nele vc irá chamar esse
teu programa que faz vários calculos, pegar o array que retorna, converter para algum objeto
que o report entenda e retornar isso numa lista.

S

fabiofalci:
Isso, o método getBeanCollection é chamado pelo report, nele vc irá chamar esse
teu programa que faz vários calculos, pegar o array que retorna, converter para algum objeto
que o report entenda e retornar isso numa lista.

Então esse metodo factory para o iReport só serve de modelo para eu criar o relatório?

Criado 15 de setembro de 2009
Ultima resposta 17 de set. de 2009
Respostas 9
Participantes 3