def index = {
def reportFile = servletContext.getResource("/report/test_text.jasper")
def reportName = "testing"
def parameters = new HashMap();
createPdfFile(generateTextReport(reportFile, parameters).toByteArray(), reportName)
return null;
}
private generateTextReport(jasperFile, parameters) {
InputStream input = jasperFile.openStream()
JRTextExporter exporter = new JRTextExporter()
ByteArrayOutputStream byteArray = new ByteArrayOutputStream()
def env = grails.util.GrailsUtil.environment
def config = new ConfigSlurper(env).parse(new File('./grails-app/conf/DataSource.groovy').toURL())
def url = config.dataSource.url
def driverName = config.dataSource.driverClassName
def username = config.dataSource.username
def password = config.dataSource.password
Class.forName(driverName)
Connection connection = DriverManager.getConnection(url, username, password)
JasperPrint jasperPrint = JasperFillManager.fillReport(input, null, connection)
jasperPrint.setLocaleCode(Locale.getDefault().getCountry())
exporter.setParameter(JRTextExporterParameter.CHARACTER_ENCODING, "UTF-8");
exporter.setParameter(JRTextExporterParameter.PAGE_WIDTH, 76);
exporter.setParameter(JRTextExporterParameter.PAGE_HEIGHT, 80);
exporter.setParameter(JRTextExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRTextExporterParameter.OUTPUT_STREAM, byteArray);
exporter.exportReport()
return byteArray
}
private createPdfFile(contentBinary, fileName) {
response.setHeader("Content-disposition", "attachment; filename=" + fileName + ".txt");
response.contentType = "text/plain"
response.outputStream << contentBinary
}
01 เมษายน 2552
JasperReport Export Text File
วิธีการ export Jasper Report เป็น Text Format เขียนแบบนี้ครับ
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)

เอา code นี้ไปใช้ยังไงคับ
ตอบลบผมไม่รู้ว่าจาเอาไปวางตรงไหน
ลองดูใน server มันเป็น jar file
export ออกมาก็เป็น .class แก้ไรไม่ได้อ่ะคับ
อธิบายเพิ่มเติมได้ไหมครับ
ขอบคุณคับ
code เป็น method ที่ไปเรียก jasper file ที่ compile แล้วชื่อ test_text.jasper นะครับ
ตอบลบที่ผมเอาไปใช้ คือ เหมือนตอน กดปุ่ม export text file จากหน้า web นะครับ
ก็จะมาเรียก method ที่ชื่อ index โดยเจ้า index นี้ก็จะ export report ออกมา แล้วเอามาแปลงเป็น stream ส่งออกไปหน้า web นะครับ
ขอบคุณค่ะ
ตอบลบ