Tutorial relatório Grails com IReport
23/01/2018 01:27
dependencies {
compile('com.lowagie:itext:2.1.7')
compile('org.apache.poi:poi:3.10-FINAL')
compile('net.sf.jasperreports:jasperreports:5.6.1') {
exclude module: 'antlr'
exclude module: 'commons-logging'
exclude module: 'ant'
exclude module: 'mondrian'
exclude module: 'commons-javaflow'
exclude module: 'barbecue'
exclude module: 'xml-apis-ext'
exclude module: 'xml-apis'
exclude module: 'xalan'
exclude module: 'groovy-all'
exclude module: 'hibernate'
exclude module: 'saaj-api'
exclude module: 'servlet-api'
exclude module: 'xercesImpl'
exclude module: 'xmlParserAPIs'
exclude module: 'spring-core'
exclude module: 'bsh'
exclude module: 'spring-beans'
exclude module: 'jaxen'
exclude module: 'barcode4j'
exclude module: 'batik-svg-dom'
exclude module: 'batik-xml'
exclude module: 'batik-awt-util'
exclude module: 'batik-dom'
exclude module: 'batik-css'
exclude module: 'batik-gvt'
exclude module: 'batik-script'
exclude module: 'batik-svggen'
exclude module: 'batik-util'
exclude module: 'batik-bridge'
exclude module: 'persistence-api'
exclude module: 'jdtcore'
exclude module: 'bcmail-jdk16'
exclude module: 'bcprov-jdk16'
exclude module: 'bctsp-jdk16'
exclude module: 'bcmail-jdk14'
exclude module: 'bcprov-jdk14'
exclude module: 'bctsp-jdk14'
exclude module: 'xmlbeans'
exclude module: 'olap4j'
}
}?
import grails.util.Holders
import net.sf.jasperreports.engine.JasperCompileManager
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
?
class JasperService {
byte[] generateReport(String reportPath = '/reports/Clientes.jasper',
Collection data = [],
Map parameters = null) {
def resource = Holders.grailsApplication.mainContext.getResource(reportPath)
def dataSource = new JRBeanCollectionDataSource(data)
JasperPrint print = JasperFillManager.fillReport(resource.inputStream, parameters, dataSource)
OutputStream out = new ByteArrayOutputStream()
JasperExportManager.exportReportToPdfStream(print, out)
out.toByteArray()
}
def compileReport(String reportPath = '/reports/Clientes.jrxml') {
def resource = Holders.grailsApplication.mainContext.getResource(reportPath)
JasperCompileManager.compileReportToFile(resource.file.path)
}
}
Para se registrar, clique aqui.