JasperPrint এবং JasperExportManager ব্যবহার করে আউটপুট তৈরি

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

334

JasperReports ব্যবহার করে রিপোর্ট তৈরি করতে JasperPrint এবং JasperExportManager দুটি প্রধান ক্লাস ব্যবহৃত হয়। JasperPrint রিপোর্টের ফলাফল (output) ধারণ করে এবং JasperExportManager ব্যবহার করে রিপোর্টটি বিভিন্ন ফরম্যাটে (যেমন PDF, HTML, Excel) এক্সপোর্ট করা হয়।


JasperPrint:

  • JasperPrint হল সেই অবজেক্ট যা রিপোর্ট ফিল করার পরে তৈরি হয়। এটি রিপোর্টের পৃষ্ঠা এবং কন্টেন্ট ধারণ করে এবং রিপোর্টের আউটপুট হিসেবে ব্যবহৃত হয়।
  • এটি মূলত JasperReport অবজেক্টের মাধ্যমে রিপোর্টের জন্য ডেটা পূর্ণ করে এবং পরে JasperExportManager দিয়ে এক্সপোর্ট করা হয়।

JasperExportManager:

  • JasperExportManager ক্লাস ব্যবহার করে আপনি JasperPrint অবজেক্ট থেকে রিপোর্টের আউটপুট তৈরি করতে পারেন। এটি পিডিএফ, HTML, Excel, CSV, ইত্যাদি বিভিন্ন ফরম্যাটে রিপোর্ট এক্সপোর্ট করতে সক্ষম।

JasperExportManager এর কিছু সাধারণ ফাংশন:

  • exportReportToPdf(): পিডিএফ ফরম্যাটে রিপোর্ট এক্সপোর্ট করে।
  • exportReportToHtml(): HTML ফরম্যাটে রিপোর্ট এক্সপোর্ট করে।
  • exportReportToCsv(): CSV ফরম্যাটে রিপোর্ট এক্সপোর্ট করে।
  • exportReportToXml(): XML ফরম্যাটে রিপোর্ট এক্সপোর্ট করে।

ধাপ ১: JasperReports প্রকল্প সেটআপ

প্রথমে JasperReports এর জন্য প্রয়োজনীয় Maven ডিপেনডেন্সি অন্তর্ভুক্ত করতে হবে:

Maven Dependency for JasperReports:

<dependency>
    <groupId>net.sf.jasperreports</groupId>
    <artifactId>jasperreports</artifactId>
    <version>6.17.0</version>
</dependency>

ধাপ ২: JasperReports Template (.jrxml) ডিজাইন

JasperReports এর রিপোর্ট তৈরির জন্য একটি JasperReport Template তৈরি করতে হবে, যেটি .jrxml ফাইল হিসেবে থাকবে। আপনি Jaspersoft Studio বা iReport Designer ব্যবহার করে এই টেমপ্লেট তৈরি করতে পারেন।

Simple JasperReport Example (.jrxml):

<?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="userReport" pageWidth="595" pageHeight="842" columnWidth="515" leftMargin="40" 
    rightMargin="40" topMargin="40" bottomMargin="40" uuid="b44da7b9-bd07-4ee6-b0a1-c96d6c72a1f3">
    <field name="id" class="java.lang.Integer"/>
    <field name="name" class="java.lang.String"/>
    <field name="email" class="java.lang.String"/>

    <detail>
        <band height="20">
            <textField>
                <reportElement x="0" y="0" width="100" height="20"/>
                <textFieldExpression><![CDATA[$F{id}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement x="110" y="0" width="150" height="20"/>
                <textFieldExpression><![CDATA[$F{name}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement x="270" y="0" width="200" height="20"/>
                <textFieldExpression><![CDATA[$F{email}]]></textFieldExpression>
            </textField>
        </band>
    </detail>
</jasperReport>
  • এই .jrxml ফাইলে id, name, এবং email ফিল্ড রয়েছে, যা রিপোর্টে প্রদর্শিত হবে।

ধাপ ৩: JasperPrint তৈরি করা

এখন, আপনি JasperReports এর মাধ্যমে JasperPrint তৈরি করতে পারবেন। এটি রিপোর্টের ডিজাইন এবং ডেটার ভিত্তিতে রিপোর্ট তৈরি করে।

JasperPrint তৈরি করার কোড উদাহরণ:

import net.sf.jasperreports.engine.*;
import java.util.*;

public class ReportGenerator {
    public static void main(String[] args) {
        try {
            // Compile the .jrxml file to JasperReport object
            JasperReport jasperReport = JasperCompileManager.compileReport("path_to_your_report_template.jrxml");

            // Prepare data for the report (usually a database or data source)
            Map<String, Object> parameters = new HashMap<>();
            parameters.put("ReportTitle", "User Report");

            // Use an example data source
            List<User> users = getUsers(); // Assume getUsers() fetches user data
            JRBeanCollectionDataSource dataSource = new JRBeanCollectionDataSource(users);

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

            // Export the report (to PDF, for example)
            JasperExportManager.exportReportToPdfFile(jasperPrint, "user_report.pdf");

            System.out.println("Report generated successfully!");

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

    // A simple method to simulate fetching user data
    private static List<User> getUsers() {
        List<User> users = new ArrayList<>();
        users.add(new User(1, "John Doe", "john@example.com"));
        users.add(new User(2, "Jane Smith", "jane@example.com"));
        return users;
    }
}

User Class (Bean for Data Source):

public class User {
    private int id;
    private String name;
    private String email;

    public User(int id, String name, String email) {
        this.id = id;
        this.name = name;
        this.email = email;
    }

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

    public String getName() {
        return name;
    }

    public String getEmail() {
        return email;
    }
}

ধাপ ৪: JasperExportManager ব্যবহার করে আউটপুট তৈরি করা

উপরের কোডে, JasperExportManager.exportReportToPdfFile() ব্যবহার করে রিপোর্টটি PDF ফরম্যাটে এক্সপোর্ট করা হচ্ছে। আপনি চাইলে অন্যান্য ফরম্যাটে রিপোর্ট এক্সপোর্ট করতে পারেন যেমন HTML, Excel, CSV ইত্যাদি।

PDF Export:

JasperExportManager.exportReportToPdfFile(jasperPrint, "user_report.pdf");

HTML Export:

JasperExportManager.exportReportToHtmlFile(jasperPrint, "user_report.html");

Excel Export:

JasperExportManager.exportReportToXlsFile(jasperPrint, "user_report.xls");

CSV Export:

JasperExportManager.exportReportToCsvFile(jasperPrint, "user_report.csv");

  • JasperPrint: JasperReports-এ রিপোর্টটি ফিলিং এবং রেন্ডার করার জন্য ব্যবহৃত একটি অবজেক্ট। এটি ডেটা, প্যারামিটার এবং রিপোর্ট টেমপ্লেট ধারণ করে।
  • JasperExportManager: এটি JasperPrint থেকে রিপোর্ট এক্সপোর্ট করার জন্য ব্যবহৃত হয়। আপনি বিভিন্ন ফরম্যাটে রিপোর্ট এক্সপোর্ট করতে পারেন, যেমন PDF, HTML, Excel, CSV, ইত্যাদি।
  • JasperReports Integration: JasperReports সহজেই Java অ্যাপ্লিকেশন এবং Spring Boot অ্যাপ্লিকেশনের সাথে ইন্টিগ্রেট করা যায়। এটি ডেটা সোর্স, প্যারামিটার এবং কাস্টম রিপোর্ট ডিজাইনিংয়ের জন্য অত্যন্ত কার্যকর।

এই প্রক্রিয়ার মাধ্যমে আপনি Java-তে প্রোফেশনাল এবং কাস্টমাইজড রিপোর্ট তৈরি করতে পারবেন যা বিভিন্ন ফরম্যাটে এক্সপোর্ট করা সম্ভব।

Content added By
Promotion

Are you sure to start over?

Loading...