top of page

Java - iReport Kullanimi

  • Writer: Sevdanur GENC
    Sevdanur GENC
  • Jun 7, 2012
  • 5 min read

Java'da verilerinizi kendi tasarladiginiz raporlar kullanalabilmeniz icin projenize ekleyeceginiz library ve plug-in 'ler sayesinde projelerinizi daha kullanabilir hale getirebilirsiniz. Bunun icin oncelikle iReport ismi verilen plug-in i kullandiginiz arayuzunuz icin download edip, IDE'nize yuklemelisiniz. Kullandigim IDE, Netbeans oldugu icin; Netbeans in kendi sitesinde bulunan plug-in menusunden download edebilirsiniz. iReport Linki ; http://plugins.netbeans.org/plugin/4425/ireport

Yukleyebileceginiz Library'lerin listesi ise hemen yanda bulunmaktadir. iReport'la donwsload ettigimiz paket icerisindeki library'ler ayni zamanda libraries listesinde bulunmaktadir. iReport-4.5.0.nbmjasperreports-components-plugin-4.5.0.nbmjasperreports-extensions-plugin-4.5.0.nbmjasperserver-plugin-4.5.0.nbm Bu paketleri kurduktan sonra, Proje icerisinde New-Other yardimiyla karsimiza gelen dialog penceresinde kategoriler alanina iReport la ilgili alan gelmistir. Bizim yapacagimiz simdi ki islem ise, report wizard i kullanarak bir verilerimi rapor haline getirebilecegimiz bir tasarim hazirlayabilmek. * Tools -> Plugin menusunden Plugins penceresi yardimi ile ireport paketimizi ekleriz.

Dilerseniz adim adim bunu gerceklestirelim ;

                      File Types olarak Report Wizard secilir ve next ile devam edilir.

                        Tasarimimizi olusturabilecegimiz bir layout tipi secer ve ilerleriz.


                        Goruldugu gibi Design Query kismina tiklanildiginda yazmis oldugumuz sql sorgusuna bakarak veritabanindan tabloyu cekiyor ve uzerinde farkli islemler yapabilmeniz icin avantajlar sunuyor. Tekrar devam edecek olursak, artik besinci adimda tablomuzda ki hangi alanlarin rapor tasariminda gozukmesini istiyorsak bunlari seceriz.

                          Sorgunuzun yapisina gore bunu kullanabilir yada artik next butonu ile tasariminizi tamamlayabilirsiniz.

                    Bu islemlerin sonucunda olusturmus oldugumuz rapor un Jasper uzantili tasarim ekranida asagidaki gibi olup uzerinde properties penceresinde ki ozelliklerle istediginiz ozellikleri yapabilirsiniz. (report6.jrxml)



                                Uygulamanin kaynak kodlarina gelecek olursak ;

Kitaplar.Java Kaynak Kodlari ;

package paket; import java.io.Serializable; import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.Table; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import javax.xml.bind.annotation.XmlRootElement; @Entity @Table(name = "KITAPLAR") @XmlRootElement @NamedQueries({ @NamedQuery(name = "Kitaplar.findAll", query = "SELECT k FROM Kitaplar k"), @NamedQuery(name = "Kitaplar.findByIsbn", query = "SELECT k FROM Kitaplar k WHERE k.isbn = :isbn"), @NamedQuery(name = "Kitaplar.findByBaslik", query = "SELECT k FROM Kitaplar k WHERE k.baslik = :baslik"), @NamedQuery(name = "Kitaplar.findByKacincibaski", query = "SELECT k FROM Kitaplar k WHERE k.kacincibaski = :kacincibaski"), @NamedQuery(name = "Kitaplar.findByBasimyili", query = "SELECT k FROM Kitaplar k WHERE k.basimyili = :basimyili"), @NamedQuery(name = "Kitaplar.findByYayineviid", query = "SELECT k FROM Kitaplar k WHERE k.yayineviid = :yayineviid"), @NamedQuery(name = "Kitaplar.findByResim", query = "SELECT k FROM Kitaplar k WHERE k.resim = :resim"), @NamedQuery(name = "Kitaplar.findByFiyat", query = "SELECT k FROM Kitaplar k WHERE k.fiyat = :fiyat")}) public class Kitaplar implements Serializable { private static final long serialVersionUID = 1L; @Id @Basic(optional = false) @NotNull @Size(min = 1, max = 20) @Column(name = "ISBN") private String isbn; @Basic(optional = false) @NotNull @Size(min = 1, max = 100) @Column(name = "BASLIK") private String baslik; @Basic(optional = false) @NotNull @Column(name = "KACINCIBASKI") private int kacincibaski; @Basic(optional = false) @NotNull @Size(min = 1, max = 4) @Column(name = "BASIMYILI") private String basimyili; @Basic(optional = false) @NotNull @Column(name = "YAYINEVIID") private int yayineviid; @Basic(optional = false) @NotNull @Size(min = 1, max = 20) @Column(name = "RESIM") private String resim; @Basic(optional = false) @NotNull @Column(name = "FIYAT") private float fiyat; public Kitaplar() { } public Kitaplar(String isbn) {        this.isbn = isbn;    } public Kitaplar(String isbn, String baslik, int kacincibaski, String basimyili, int yayineviid, String resim, float fiyat) { this.isbn = isbn; this.baslik = baslik; this.kacincibaski = kacincibaski; this.basimyili = basimyili; this.yayineviid = yayineviid; this.resim = resim; this.fiyat = fiyat; } public String getIsbn() {        return isbn;    } public void setIsbn(String isbn) {        this.isbn = isbn;    } public String getBaslik() {        return baslik;    } public void setBaslik(String baslik) {        this.baslik = baslik;    } public int getKacincibaski() {        return kacincibaski;    } public void setKacincibaski(int kacincibaski) {        this.kacincibaski = kacincibaski;  } public String getBasimyili() {        return basimyili;    } public void setBasimyili(String basimyili) {        this.basimyili = basimyili;    }    public int getYayineviid() {        return yayineviid;    } public void setYayineviid(int yayineviid) {        this.yayineviid = yayineviid;    } public String getResim() {        return resim;    } public void setResim(String resim) {        this.resim = resim;    } public float getFiyat() {        return fiyat;    } public void setFiyat(float fiyat) {        this.fiyat = fiyat;    } @Override public int hashCode() { int hash = 0; hash += (isbn != null ? isbn.hashCode() : 0); return hash; } @Override public boolean equals(Object object) { if (!(object instanceof Kitaplar)) { return false; } Kitaplar other = (Kitaplar) object; if ((this.isbn == null && other.isbn != null) || (this.isbn != null && !this.isbn.equals(other.isbn))) { return false; } return true; } @Override public String toString() { return "paket.Kitaplar[ isbn=" + isbn + " ]"; } }

AbstractFacade.Java Kaynak Kodlari ;

package paket; import java.util.List; import javax.persistence.EntityManager; public abstract class AbstractFacade<T> { private Class<T> entityClass; public AbstractFacade(Class<T> entityClass) { this.entityClass = entityClass; } protected abstract EntityManager getEntityManager(); public void create(T entity) { getEntityManager().persist(entity); } public void edit(T entity) { getEntityManager().merge(entity); } public void remove(T entity) { getEntityManager().remove(getEntityManager().merge(entity)); } public T find(Object id) { return getEntityManager().find(entityClass, id); } public List<T> findAll() { javax.persistence.criteria.CriteriaQuery cq = getEntityManager().getCriteriaBuilder().createQuery(); cq.select(cq.from(entityClass)); return getEntityManager().createQuery(cq).getResultList(); } public List<T> findRange(int[] range) { javax.persistence.criteria.CriteriaQuery cq = getEntityManager().getCriteriaBuilder().createQuery(); cq.select(cq.from(entityClass)); javax.persistence.Query q = getEntityManager().createQuery(cq); q.setMaxResults(range<1>

- range<0>

); q.setFirstResult(range<0>

); return q.getResultList(); } public int count() { javax.persistence.criteria.CriteriaQuery cq = getEntityManager().getCriteriaBuilder().createQuery(); javax.persistence.criteria.Root<T> rt = cq.from(entityClass); cq.select(getEntityManager().getCriteriaBuilder().count(rt)); javax.persistence.Query q = getEntityManager().createQuery(cq); return ((Long) q.getSingleResult()).intValue(); } }

KitaplarFacade.Java Kaynak Kodlari ;

package paket; import javax.ejb.Stateless; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; @Stateless public class KitaplarFacade extends AbstractFacade<Kitaplar> { @PersistenceContext(unitName = "RaporProjesiPU") private EntityManager em; protected EntityManager getEntityManager() { return em; } public KitaplarFacade() { super(Kitaplar.class); } }

DemoBean.Java Kaynak Kodlari ;

package paket; import java.io.IOException; import java.io.Serializable; import java.util.HashMap; import java.util.List; import javax.ejb.EJB; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; import javax.faces.context.FacesContext; import javax.faces.event.ActionEvent; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import net.sf.jasperreports.engine.JRException; import net.sf.jasperreports.engine.JRExporterParameter; import net.sf.jasperreports.engine.JasperExportManager; import net.sf.jasperreports.engine.JasperFillManager; import net.sf.jasperreports.engine.JasperPrint; import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; import net.sf.jasperreports.engine.export.oasis.JROdtExporter; import net.sf.jasperreports.engine.export.ooxml.JRDocxExporter; import net.sf.jasperreports.engine.export.ooxml.JRDocxExporterParameter; import net.sf.jasperreports.engine.export.ooxml.JRPptxExporter; import net.sf.jasperreports.engine.export.ooxml.JRXlsxExporter; @ManagedBean @SessionScoped public class DemoBean implements Serializable{ private List<Kitaplar> listOfUser; @EJB KitaplarFacade userFacade; public List<Kitaplar> getListOfUser() { listOfUser=userFacade.findAll(); return listOfUser; } public void setListOfUser(List<Kitaplar> listOfUser) { this.listOfUser = listOfUser; } JasperPrint jasperPrint; public void init() throws JRException{ JRBeanCollectionDataSource beanCollectionDataSource=new JRBeanCollectionDataSource(listOfUser); jasperPrint=JasperFillManager.fillReport("C:\\NetBeansProjects\\RaporProjesi\\web\\reports\\report6.jasper", new HashMap(),beanCollectionDataSource); } public void PDF(ActionEvent actionEvent) throws JRException, IOException{ init(); HttpServletResponse httpServletResponse=(HttpServletResponse)FacesContext.getCurrentInstance().getExternalContext().getResponse(); httpServletResponse.addHeader("Content-disposition", "attachment; filename=report.pdf"); ServletOutputStream servletOutputStream=httpServletResponse.getOutputStream(); JasperExportManager.exportReportToPdfStream(jasperPrint, servletOutputStream); } public void HTML(ActionEvent actionEvent) throws JRException, IOException{ init(); HttpServletResponse httpServletResponse=(HttpServletResponse)FacesContext.getCurrentInstance().getExternalContext().getResponse(); httpServletResponse.addHeader("Content-disposition", "attachment; filename=report.html"); //ServletOutputStream servletOutputStream=httpServletResponse.getOutputStream(); JasperExportManager.exportReportToHtmlFile(jasperPrint, "http://localhost:8080/RaporProjesi/faces/reports/report.html"); } public void DOCX(ActionEvent actionEvent) throws JRException, IOException{ init(); HttpServletResponse httpServletResponse=(HttpServletResponse)FacesContext.getCurrentInstance().getExternalContext().getResponse(); httpServletResponse.addHeader("Content-disposition", "attachment; filename=report.docx"); ServletOutputStream servletOutputStream=httpServletResponse.getOutputStream(); JRDocxExporter docxExporter=new JRDocxExporter(); docxExporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); docxExporter.setParameter(JRExporterParameter.OUTPUT_STREAM, servletOutputStream); docxExporter.setParameter(JRDocxExporterParameter.OUTPUT_STREAM, servletOutputStream); docxExporter.exportReport(); } public void XLSX(ActionEvent actionEvent) throws JRException, IOException{ init(); HttpServletResponse httpServletResponse=(HttpServletResponse)FacesContext.getCurrentInstance().getExternalContext().getResponse(); httpServletResponse.addHeader("Content-disposition", "attachment; filename=report.xlsx"); ServletOutputStream servletOutputStream=httpServletResponse.getOutputStream(); JRXlsxExporter docxExporter=new JRXlsxExporter(); docxExporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); docxExporter.setParameter(JRExporterParameter.OUTPUT_STREAM, servletOutputStream); docxExporter.exportReport(); } public void ODT(ActionEvent actionEvent) throws JRException, IOException{ init(); HttpServletResponse httpServletResponse=(HttpServletResponse)FacesContext.getCurrentInstance().getExternalContext().getResponse(); httpServletResponse.addHeader("Content-disposition", "attachment; filename=report.odt"); ServletOutputStream servletOutputStream=httpServletResponse.getOutputStream(); JROdtExporter docxExporter=new JROdtExporter(); docxExporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); docxExporter.setParameter(JRExporterParameter.OUTPUT_STREAM, servletOutputStream); docxExporter.exportReport(); } public void PPT(ActionEvent actionEvent) throws JRException, IOException{ init(); HttpServletResponse httpServletResponse=(HttpServletResponse)FacesContext.getCurrentInstance().getExternalContext().getResponse(); httpServletResponse.addHeader("Content-disposition", "attachment; filename=report.pptx"); ServletOutputStream servletOutputStream=httpServletResponse.getOutputStream(); JRPptxExporter docxExporter=new JRPptxExporter(); docxExporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); docxExporter.setParameter(JRExporterParameter.OUTPUT_STREAM, servletOutputStream); docxExporter.exportReport(); } }

Index.XHTML Kaynak Kodlari ;

<?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:p="http://primefaces.prime.com.tr/ui" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"> <h:head> <title>Facelet Title</title> </h:head> <h:body> <h:form> <h:commandButton value="PDF" actionListener="#{demoBean.PDF}"/> <h:commandButton value="Docx" actionListener="#{demoBean.DOCX}"/> <h:commandButton value="Xlsx" actionListener="#{demoBean.XLSX}"/> <h:commandButton value="Odt" actionListener="#{demoBean.ODT}"/> <h:commandButton value="Ppt" actionListener="#{demoBean.PPT}"/> <h:commandButton value="Html" actionListener="#{demoBean.HTML}"/> </h:form> <h:dataTable border="1" value="#{demoBean.listOfUser}" var="istek"> <h:column> <f:facet name="header"> User Name </f:facet> #{istek.isbn} </h:column> <h:column> <f:facet name="header"> Sicil </f:facet> #{istek.baslik} </h:column> <h:column> <f:facet name="header"> Sicil </f:facet> #{istek.basimyili} </h:column> <h:column> <f:facet name="header"> Sicil </f:facet> #{istek.kacincibaski} </h:column> <h:column> <f:facet name="header"> Sicil </f:facet> #{istek.yayineviid} </h:column> </h:dataTable> </h:body> </html> Keyifli Calismalar Dilerim...

Recent Posts

See All
C# Dependency Injection

Dependency Injection (DI) aslinda bir tasarım şablonu olarak bilinmektedir ve genel amacı nesneler arasında bulunan bağımlılıkları azaltarak kullandığı İnterface'ler sayesinde implement edilen içerikl

 
 
 
Windows Azure Nedir?

Windows Azure, hizmet yönetim ortamlarını ve servislerini barındırarak geliştirilmiş bulut teknolojilerinin oluştuğu bir işletim sistemi gibi düşünülebilir. Windows azure, Microsoft veri merkezleri

 
 
 
Navigation - Navigasyon

Kullanıcıların Metro Style uygulamalarında kolay bir şekilde kullanabilmeleri ve sayfalar arası geçişleri daha sezgizel bir şekilde yapabilmeleri için geliştirilmiş bir yöntemdir. Bu özellik sayesinde

 
 
 

Comments


©2035 by Sevdanur Genc. Powered and secured by Wix

bottom of page