Multiple Format এ Export করা

JasperReports ফরম্যাট এবং আউটপুট - জ্যাসপার রিপোর্ট (JasperReports) - Java Technologies

404

JasperReports হল একটি শক্তিশালী রিপোর্টিং লাইব্রেরি যা একাধিক ডেটা সোর্স থেকে রিপোর্ট তৈরি করতে এবং বিভিন্ন ফরম্যাটে এক্সপোর্ট করতে সহায়ক। এটি আপনাকে রিপোর্টকে PDF, HTML, CSV, Excel (XLS), RTF, XML, Text, এবং অন্যান্য ফরম্যাটে এক্সপোর্ট করার সুবিধা দেয়।

এখানে আমরা দেখবো কীভাবে JasperReports ব্যবহার করে একাধিক ফরম্যাটে রিপোর্ট এক্সপোর্ট করা যায়। উদাহরণ হিসাবে, একটি সাধারণ Employee Report তৈরি করে তা বিভিন্ন ফরম্যাটে এক্সপোর্ট করা হবে।


ধাপ ১: JasperReport তৈরি করা

প্রথমে একটি JasperReport তৈরি করা দরকার। এই উদাহরণে, আমরা একটি সাধারণ Employee রিপোর্ট তৈরি করবো এবং এটি বিভিন্ন ফরম্যাটে এক্সপোর্ট করবো।

Employee Report Model (Employee.java)

public class Employee {
    private int id;
    private String name;
    private String department;

    // Constructors
    public Employee(int id, String name, String department) {
        this.id = id;
        this.name = name;
        this.department = department;
    }

    // Getters and Setters
    public int getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public String getDepartment() {
        return department;
    }
}

Employee Report (EmployeeReport.jrxml)

এটি একটি খুবই সাধারণ JasperReports রিপোর্ট। আমরা Employee তথ্যকে তালিকা আকারে দেখাবো।

<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports 
                                  http://jasperreports.sourceforge.net/xsd/jasperreport.xsd"
              name="EmployeeReport" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
    <field name="id" class="java.lang.Integer"/>
    <field name="name" class="java.lang.String"/>
    <field name="department" class="java.lang.String"/>

    <detail>
        <band height="20">
            <textField>
                <reportElement x="0" y="0" width="50" height="20"/>
                <textFieldExpression><![CDATA[$F{id}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement x="60" y="0" width="200" height="20"/>
                <textFieldExpression><![CDATA[$F{name}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement x="270" y="0" width="150" height="20"/>
                <textFieldExpression><![CDATA[$F{department}]]></textFieldExpression>
            </textField>
        </band>
    </detail>
</jasperReport>

ধাপ ২: Java Code দিয়ে Report তৈরি এবং Export করা

আমরা Java কোড ব্যবহার করে রিপোর্ট তৈরি করবো এবং বিভিন্ন ফরম্যাটে এক্সপোর্ট করবো, যেমন PDF, HTML, Excel, এবং CSV

Java কোড: JasperReports Report Export

import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class JasperReportsExportExample {
    public static void main(String[] args) {
        try {
            // Sample Data
            List<Employee> employees = new ArrayList<>();
            employees.add(new Employee(1, "John Doe", "HR"));
            employees.add(new Employee(2, "Jane Smith", "Finance"));
            employees.add(new Employee(3, "Robert Brown", "IT"));

            // JRBeanCollectionDataSource for Employee data
            JRBeanCollectionDataSource dataSource = new JRBeanCollectionDataSource(employees);

            // Compile the .jrxml file into a JasperReport
            JasperReport jasperReport = JasperCompileManager.compileReport("EmployeeReport.jrxml");

            // Parameters for the report (if any)
            Map<String, Object> parameters = new HashMap<>();
            parameters.put("ReportTitle", "Employee Report");

            // Fill the report with data
            JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, dataSource);

            // Export report to different formats

            // Export to PDF
            JasperExportManager.exportReportToPdfFile(jasperPrint, "EmployeeReport.pdf");
            System.out.println("PDF Report Exported!");

            // Export to HTML
            JasperExportManager.exportReportToHtmlFile(jasperPrint, "EmployeeReport.html");
            System.out.println("HTML Report Exported!");

            // Export to CSV
            JasperExportManager.exportReportToCsvFile(jasperPrint, "EmployeeReport.csv");
            System.out.println("CSV Report Exported!");

            // Export to Excel (XLS)
            JRXlsExporter xlsExporter = new JRXlsExporter();
            xlsExporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
            xlsExporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, "EmployeeReport.xls");
            xlsExporter.exportReport();
            System.out.println("Excel (XLS) Report Exported!");

        } catch (JRException e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  1. Employee Data: আমরা Employee ক্লাসের একটি লিস্ট তৈরি করেছি এবং তা JRBeanCollectionDataSource এ প্রদান করেছি, যা রিপোর্টে ডেটা প্রদান করবে।
  2. Report Compilation: JasperCompileManager.compileReport("EmployeeReport.jrxml") দিয়ে .jrxml ফাইলটি .jasper ফরম্যাটে কম্পাইল করা হয়।
  3. Report Filling: JasperFillManager.fillReport() পদ্ধতির মাধ্যমে রিপোর্টটি ডেটা এবং প্যারামিটার দিয়ে পূর্ণ করা হয়।
  4. Exporting: JasperExportManager.exportReportToPdfFile(), exportReportToHtmlFile(), exportReportToCsvFile() এবং JRXlsExporter ব্যবহার করে বিভিন্ন ফরম্যাটে এক্সপোর্ট করা হয়।

ধাপ ৩: Output ফরম্যাট

  1. PDF: EmployeeReport.pdf ফাইল তৈরি হবে, যা Adobe Reader বা অন্য কোন PDF ভিউয়ারে দেখতে পারবেন।
  2. HTML: EmployeeReport.html ফাইলটি যে কোন ওয়েব ব্রাউজারে দেখা যাবে।
  3. CSV: EmployeeReport.csv ফাইলটি Excel বা অন্য CSV কম্প্যাটিবল সফটওয়্যার দিয়ে খোলা যাবে।
  4. Excel (XLS): EmployeeReport.xls ফাইলটি Excel এ ওপেন করা যাবে।

  1. JasperReports আপনাকে একই রিপোর্টকে multiple formats (PDF, HTML, CSV, Excel, etc.) এ এক্সপোর্ট করতে সাহায্য করে।
  2. Java Code এর মাধ্যমে আপনি রিপোর্ট তৈরির পর সেই রিপোর্টকে বিভিন্ন ফরম্যাটে এক্সপোর্ট করতে পারবেন, যা বিভিন্ন প্ল্যাটফর্মে ব্যবহারের জন্য উপযুক্ত।
  3. JasperReports-এ বিভিন্ন exporting options সহ subreports, charting, grouping, parameters, ইত্যাদি অন্তর্ভুক্ত করা সম্ভব।

এটি একটি সাধারণ উদাহরণ, এবং আপনি JasperReports এর আরও শক্তিশালী ফিচার যেমন Dynamic Reports, Multiple Datasets, Complex Data Sources, ইত্যাদি ব্যবহার করে আরও জটিল রিপোর্ট তৈরি করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...