Excel ফরম্যাটে Data Formatting এবং Layout Design

JasperReports এর মাধ্যমে PDF এবং Excel Export - জ্যাসপার রিপোর্ট (JasperReports) - Java Technologies

348

JasperReports একটি শক্তিশালী রিপোর্টিং টুল যা Excel ফরম্যাটে রিপোর্ট এক্সপোর্ট করতে সক্ষম। Excel ফরম্যাটে ডেটা ফরম্যাটিং এবং লেআউট ডিজাইন করা একটি গুরুত্বপূর্ণ অংশ, কারণ এটি রিপোর্টের ব্যবহারযোগ্যতা এবং প্রদর্শন উন্নত করে। এখানে JasperReports-এ Excel ফরম্যাটে data formatting এবং layout design কাস্টমাইজ করার কিছু পদ্ধতি এবং সেরা অভ্যাস আলোচনা করা হয়েছে।


1. Excel ফরম্যাটে রিপোর্ট এক্সপোর্ট করা

JasperReports দিয়ে Excel ফরম্যাটে রিপোর্ট এক্সপোর্ট করার জন্য, JasperExportManager.exportReportToExcelFile() পদ্ধতি ব্যবহার করা হয়। এই পদ্ধতিটি রিপোর্টটি Excel ফরম্যাটে রপ্তানি করে এবং আপনি রিপোর্টের layout এবং data formatting কাস্টমাইজ করতে পারেন।

Java কোড ব্যবহার করে Excel ফরম্যাটে রিপোর্ট এক্সপোর্ট করা:

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

public class ExcelExportExample {
    public static void main(String[] args) {
        try {
            // Compile the JRXML file to JasperReport
            JasperReport jasperReport = JasperCompileManager.compileReport("path/to/report.jrxml");

            // Parameters (if needed)
            Map<String, Object> parameters = new HashMap<>();
            parameters.put("ReportTitle", "Sales Report");

            // Data source (for example, using an empty data source for the sake of the example)
            JRDataSource dataSource = new JREmptyDataSource();

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

            // Export the report to Excel file
            JasperExportManager.exportReportToExcelFile(jasperPrint, "output/sales_report.xlsx");

            System.out.println("Report exported to Excel successfully!");

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

ব্যাখ্যা:

  • এখানে JasperExportManager.exportReportToExcelFile() ব্যবহার করা হয়েছে যাতে JasperReports-এর Excel ফরম্যাটে রপ্তানি করা যায়।
  • JREmptyDataSource এখানে ডেমো ডেটা সোর্স হিসেবে ব্যবহার করা হয়েছে, কিন্তু বাস্তবে আপনি JDBC বা অন্যান্য সোর্স থেকে ডেটা পাঠাতে পারেন।

2. Excel রিপোর্টের জন্য Layout Design কাস্টমাইজ করা

JasperReports-এ Excel আউটপুটে রিপোর্টের লেআউট কাস্টমাইজ করতে কিছু গুরুত্বপূর্ণ টেকনিক রয়েছে। Excel ফরম্যাটে ডেটার সঠিকভাবে প্রদর্শন এবং ফরম্যাটিং কাস্টমাইজেশন নিশ্চিত করার জন্য আপনাকে JRXML ফাইলে কিছু সেটিংস পরিবর্তন করতে হবে।

Best Practices for Layout Design in Excel Output:

  1. Column Width Adjustments:
    • Excel রিপোর্টে কলামের width কাস্টমাইজ করা গুরুত্বপূর্ণ, যাতে ডেটা সঠিকভাবে প্রদর্শিত হয়। এটি columnWidth এবং columnSpacing সেট করে করা যেতে পারে।
  2. Cell Formatting:
    • Number, Date, and Currency Formatting কাস্টমাইজ করা যেতে পারে। Excel ফরম্যাটে ফিল্ডের মানের number format এবং currency format ইত্যাদি কাস্টমাইজ করা হয়।
  3. Header and Footer Formatting:
    • Excel ফরম্যাটে headers এবং footers কাস্টমাইজ করা যেতে পারে, যেমন bold headers, alignment, background colors ইত্যাদি।
  4. Page Breaks and Grouping:
    • Excel ফরম্যাটে পেজ ব্রেক এবং ডেটা গ্রুপিং কাস্টমাইজ করা যেতে পারে, যা রিপোর্টের লেআউটকে পরিষ্কার এবং আরও সংগঠিত করে।

Excel Layout Design Example in JRXML:

<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="SalesReport" pageWidth="595" pageHeight="842"
              columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
    
    <!-- Column Header Band -->
    <columnHeader>
        <band height="30">
            <staticText>
                <reportElement x="0" y="0" width="180" height="30"/>
                <textElement textAlignment="Center" verticalAlignment="Middle"/>
                <text><![CDATA[Product Name]]></text>
            </staticText>
            <staticText>
                <reportElement x="180" y="0" width="100" height="30"/>
                <textElement textAlignment="Center" verticalAlignment="Middle"/>
                <text><![CDATA[Sales]]></text>
            </staticText>
            <staticText>
                <reportElement x="280" y="0" width="100" height="30"/>
                <textElement textAlignment="Center" verticalAlignment="Middle"/>
                <text><![CDATA[Quantity]]></text>
            </staticText>
        </band>
    </columnHeader>

    <!-- Detail Band -->
    <detail>
        <band height="30">
            <textField>
                <reportElement x="0" y="0" width="180" height="30"/>
                <textFieldExpression><![CDATA[$F{product_name}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement x="180" y="0" width="100" height="30"/>
                <textFieldExpression><![CDATA[$F{sales}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement x="280" y="0" width="100" height="30"/>
                <textFieldExpression><![CDATA[$F{quantity}]]></textFieldExpression>
            </textField>
        </band>
    </detail>
    
    <!-- Summary Band -->
    <summary>
        <band height="30">
            <staticText>
                <reportElement x="0" y="0" width="180" height="30"/>
                <textElement textAlignment="Right" verticalAlignment="Middle"/>
                <text><![CDATA[Total Sales:]]></text>
            </staticText>
            <textField>
                <reportElement x="180" y="0" width="100" height="30"/>
                <textFieldExpression><![CDATA[$F{total_sales}]]></textFieldExpression>
            </textField>
        </band>
    </summary>
</jasperReport>

ব্যাখ্যা:

  • ColumnHeader band-এ Product Name, Sales, এবং Quantity এর কলাম হেডার রয়েছে, এবং সেগুলোর জন্য text alignmentwidth কাস্টমাইজ করা হয়েছে।
  • Detail band-এ প্রতিটি product এর sales এবং quantity ডেটা দেখানো হয়েছে, এবং এই ফিল্ডগুলো বিভিন্ন textField কম্পোনেন্টের মাধ্যমে কাস্টমাইজ করা হয়েছে।
  • Summary band-এ Total Sales হিসাব করা হয়েছে এবং সেগুলোর জন্য right alignment এবং dynamic calculations ব্যবহার করা হয়েছে।

3. Excel Formatting Techniques

Excel ফরম্যাটে রিপোর্ট তৈরি করার সময় কিছু গুরুত্বপূর্ণ formatting টেকনিক ব্যবহার করা হয়:

1. Number Formatting:

Excel রিপোর্টে number formatting (যেমন, currency, percentage, decimal places ইত্যাদি) কাস্টমাইজ করা খুবই গুরুত্বপূর্ণ।

<textField>
    <reportElement x="180" y="0" width="100" height="30"/>
    <textFieldExpression><![CDATA[$F{sales}]]></textFieldExpression>
    <textElement textAlignment="Right"/>
    <patternExpression><![CDATA["$"#,##0.00]]></patternExpression> <!-- Currency formatting -->
</textField>

2. Text Alignment:

Excel রিপোর্টের সেলগুলির মধ্যে টেক্সটের alignment (যেমন left, center, right) কাস্টমাইজ করা যায়।

<textField>
    <reportElement x="0" y="0" width="180" height="30"/>
    <textElement textAlignment="Center"/>
    <textFieldExpression><![CDATA[$F{product_name}]]></textFieldExpression>
</textField>

3. Column Width:

Excel ফরম্যাটে কলামের width কাস্টমাইজ করা খুবই গুরুত্বপূর্ণ, যাতে ডেটা পুরোপুরি প্রদর্শিত হয়।

<jasperReport ... columnWidth="200">
    ...
</jasperReport>

4. Styling Header and Footer:

Excel রিপোর্টের হেডার এবং ফুটারে font size, bold, italic ইত্যাদি কাস্টমাইজ করা যেতে পারে।

<staticText>
    <reportElement x="0" y="0" width="180" height="30"/>
    <textElement fontSize="14" isBold="true"/>
    <text><![CDATA[Product Name]]></text>
</staticText>

5. Adding Borders to Cells:

আপনি সেলগুলির চারপাশে borders যোগ করতে পারেন, যা Excel রিপোর্টকে আরও পেশাদার এবং সুসংগঠিত করে তোলে।

<textField>
    <reportElement x="0" y="0" width="180" height="30"/>
    <textElement>
        <font fontName="Arial" size="12"/>
    </textElement>
<textFieldExpression><![CDATA[$F{product_name}]]></textFieldExpression>
<style>
    <border left="1" right="1" top="1" bottom="1"/>
</style>

  • Excel ফরম্যাটে Data Formatting এবং Layout Design JasperReports-এ কাস্টম রিপোর্ট ডিজাইন করতে খুবই গুরুত্বপূর্ণ।
  • Column Width, Number Formatting, Text Alignment, and Borders কাস্টমাইজ করে Excel রিপোর্টের প্রদর্শন উন্নত করা যায়।
  • JasperReports Studio এবং JRXML ফাইলের মাধ্যমে রিপোর্টের লেআউট কাস্টমাইজ করা যায়।
  • JasperReports-এ Excel ফরম্যাটে রিপোর্ট তৈরি করার সময় Number Formatting, Text Alignment, Pattern Expression, এবং Cell Borders কাস্টমাইজ করা হলে রিপোর্টের রিডেবিলিটি এবং প্রফেশনাল লুক বৃদ্ধি পায়।
Content added By
Promotion

Are you sure to start over?

Loading...