JasperReports ব্যবহার করে রিপোর্ট তৈরি করার জন্য .jrxml ফাইল ব্যবহার করা হয়, যা একটি XML ফাইল যা JasperReports টেমপ্লেট ডিফাইন করে। JRXML ফাইলের মধ্যে রিপোর্টের ডিজাইন, ফিল্ড, ডেটা সোর্স, এবং অন্যান্য কনফিগারেশন নির্দিষ্ট করা হয়। JasperReports এই .jrxml ফাইলকে Jasper ফাইলে কম্পাইল করে, যা সিস্টেমে রেন্ডারিং এবং এক্সপোর্টের জন্য ব্যবহৃত হয়।
.jrxml ফাইলের গঠন
JRXML ফাইলটি মূলত একটি XML ডকুমেন্ট যা JasperReports এর জন্য প্রয়োজনীয় রিপোর্টের কাঠামো এবং উপাদানগুলি সংরক্ষণ করে। .jrxml ফাইলের মধ্যে বিভিন্ন ট্যাগ, এলিমেন্ট এবং এট্রিবিউট ব্যবহার করে রিপোর্টের বিভিন্ন অংশ সংজ্ঞায়িত করা হয়। এখানে কিছু গুরুত্বপূর্ণ অংশ এবং তাদের বিস্তারিত বর্ণনা দেয়া হলো:
1. Header Section
Header Section রিপোর্টের মেটা-ডেটা এবং কনফিগারেশন ধারণ করে। এর মধ্যে রিপোর্টের সাধারণ তথ্য যেমন নাম, ভাষা, পৃষ্ঠা আকার, কলাম স্টাইল ইত্যাদি থাকতে পারে।
উদাহরণ:
<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="ExampleReport" language="java" pageWidth="595" pageHeight="842"
columnWidth="515" columnSpacing="0" rowHeight="15">
- name: রিপোর্টের নাম।
- language: রিপোর্টের ভাষা (যেমন,
javaবাgroovy)। - pageWidth: পৃষ্ঠার প্রস্থ।
- pageHeight: পৃষ্ঠার উচ্চতা।
- columnWidth: কলামের প্রস্থ।
- columnSpacing: কলামের মধ্যে ব্যবধান।
- rowHeight: সারির উচ্চতা।
2. Query Section
এই অংশে ডেটা সোর্স থেকে তথ্য কীভাবে আনা হবে তা নির্ধারণ করা হয়। সাধারণত, এখানে SQL কুয়েরি বা অন্য কোন ডেটা সোর্সের উল্লেখ করা হয়।
উদাহরণ:
<queryString>
<![CDATA[SELECT id, name, email FROM users]]>
</queryString>
- queryString: এখানে SQL কুয়েরি বা অন্য ডেটা সোর্সের কোড লেখা হয়। এটি ডেটাবেস বা অন্যান্য সোর্স থেকে ডেটা আনার জন্য ব্যবহৃত হয়।
3. Field Definitions
এখানে, রিপোর্টের জন্য প্রাপ্ত ডেটা ফিল্ডগুলি নির্ধারণ করা হয়। এগুলি হলো ডেটাবেস ফিল্ড বা অন্যান্য উৎস থেকে প্রাপ্ত মান।
উদাহরণ:
<field name="id" class="java.lang.Integer"/>
<field name="name" class="java.lang.String"/>
<field name="email" class="java.lang.String"/>
- field: একটি ফিল্ডের জন্য নাম এবং তার ডেটা টাইপ ডিফাইন করা হয়। এই ফিল্ডগুলি রিপোর্টের মধ্যে ব্যবহার করা হয়।
4. Title Section
রিপোর্টের শিরোনাম অংশ। সাধারণত, রিপোর্টের শিরোনাম, ব্যানার বা প্রথম পৃষ্ঠার উপরের অংশে থাকা কন্টেন্ট এখানে থাকে।
উদাহরণ:
<title>
<band height="50">
<textField>
<reportElement x="0" y="0" width="100" height="50"/>
<textFieldExpression><![CDATA["Customer Report"]]></textFieldExpression>
</textField>
</band>
</title>
- title: রিপোর্টের শিরোনাম বা প্রথম পৃষ্ঠার অংশ।
- band: ব্যান্ড হল একটি রিপোর্টের অংশ যেখানে বিভিন্ন উপাদান যুক্ত করা হয় (যেমন, টেক্সট, চিত্র, বা ডেটা)।
5. Detail Section
এটি রিপোর্টের মূল অংশ, যেখানে ডেটা প্রদর্শিত হয়। ডেটা ফিল্ডগুলি এই অংশে প্রদর্শিত হয়। প্রতি রেকর্ডের জন্য একাধিক বারের জন্য এই অংশটি রেন্ডার হবে।
উদাহরণ:
<detail>
<band height="20">
<textField>
<reportElement x="0" y="0" width="50" height="20"/>
<textFieldExpression><![CDATA[$F{id}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="50" y="0" width="200" height="20"/>
<textFieldExpression><![CDATA[$F{name}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="250" y="0" width="250" height="20"/>
<textFieldExpression><![CDATA[$F{email}]]></textFieldExpression>
</textField>
</band>
</detail>
- detail: এই অংশে রিপোর্টের ডেটা রেন্ডার হয়।
- textField: একটি টেক্সট ফিল্ড যা ডেটাবেস থেকে প্রাপ্ত মান প্রদর্শন করবে।
6. Summary Section
এই অংশটি সাধারণত রিপোর্টের শেষে থাকে এবং এটি মোট, গড় বা অন্য কোন আউটপুট ডেটা প্রদর্শন করতে ব্যবহৃত হয়।
উদাহরণ:
<summary>
<band height="30">
<textField>
<reportElement x="0" y="0" width="200" height="30"/>
<textFieldExpression><![CDATA["Total Customers: " + $V{TOTAL_CUSTOMERS}]]></textFieldExpression>
</textField>
</band>
</summary>
- summary: রিপোর্টের শেষে বিভিন্ন তথ্য যেমন মোট, গড় বা অন্যান্য পরিসংখ্যান থাকতে পারে।
7. Footer Section
ফুটার অংশটি রিপোর্টের শেষে থাকে, যেখানে সাধারণত পৃষ্ঠার নম্বর বা অন্যান্য মেটাডেটা প্রদর্শিত হয়।
উদাহরণ:
<footer>
<band height="30">
<textField>
<reportElement x="0" y="0" width="200" height="30"/>
<textFieldExpression><![CDATA["Page: " + $V{PAGE_NUMBER}]]></textFieldExpression>
</textField>
</band>
</footer>
- footer: রিপোর্টের পৃষ্ঠার নীচে থাকা অংশ।
8. Subreport Section
যখন আপনাকে একটি রিপোর্টের মধ্যে অন্য একটি রিপোর্ট ইনক্লুড করতে হয়, তখন এটি subreport অংশে যোগ করা হয়।
উদাহরণ:
<subreport>
<reportElement x="0" y="0" width="500" height="100"/>
<subreportExpression><![CDATA["subreport_example.jasper"]]></subreportExpression>
</subreport>
- subreport: সাবরিপোর্ট যা মূল রিপোর্টের মধ্যে অন্তর্ভুক্ত করা হয়।
JasperReports JRXML ফাইলের গঠন সারাংশ
- header: রিপোর্টের মেটা-ডেটা ও কনফিগারেশন।
- queryString: ডেটা সোর্স থেকে ডেটা আনার জন্য কুয়েরি।
- field: ডেটা ফিল্ড যা রিপোর্টে ব্যবহৃত হবে।
- title: রিপোর্টের শিরোনাম অংশ।
- detail: রিপোর্টের মূল অংশ যেখানে ডেটা প্রদর্শিত হয়।
- summary: রিপোর্টের পরিসংখ্যান বা মোট তথ্য।
- footer: রিপোর্টের নীচে প্রদর্শিত তথ্য, যেমন পৃষ্ঠা সংখ্যা।
- subreport: একটি রিপোর্টের মধ্যে অন্য একটি রিপোর্ট অন্তর্ভুক্ত করা।
- JRXML ফাইল হল JasperReports এর রিপোর্ট ডিজাইন টেমপ্লেট। এটি XML ফরম্যাটে থাকে এবং ডেটা সোর্স, ফিল্ড, শিরোনাম, পৃষ্ঠা বিন্যাস ইত্যাদি সম্পর্কিত তথ্য ধারণ করে।
- JasperReports-এ JRXML ফাইলগুলি কম্পাইল করে .jasper ফাইলে রূপান্তরিত হয় এবং তারপর সেগুলি রিপোর্ট রেন্ডারিং এবং এক্সপোর্টের জন্য ব্যবহৃত হয়।
- JRXML ফাইলের মাধ্যমে ডেটা ফিল্ডের কাস্টমাইজেশন, কুয়েরি, গ্রাফিক্স, সাবরিপোর্ট ইত্যাদি সহজে কনফিগার করা যায়।
JasperReports এবং JRXML ফাইল ব্যবহার করে আপনি আপনার রিপোর্টিং প্রয়োজনীয়তা পূরণ করতে পারেন, যা প্রোডাক্টিভিটি এবং ডেটা ভিজ্যুয়ালাইজেশনকে আরও সহজ এবং কার্যকর করে তোলে।
Read more