الوقت/التاريخ الآن هو الجمعة أبريل 19, 2024 4:06 am
2 نتيجة بحث عن JavaBeans
انشاء تقارير JasperReports مع iReport ...مقال 10_التعامل مع مصادر البيانات _ملفات Excel كمصدر للبيانات
أهلا وسهلا بكم إخواني الكراممازلنا مع مقالات إنشاء تقارير المكتبة تقارير #JasperReports مع الواجهة الرسومية #iReport وتعلمنا فى مقالات سابقة كيفية إستخدام قواعدة البيانات كمصدر لملئ بيانات التقرير الخاص بنا ليس ذلك فحسب بل تعلمنا كيفية إستخدام المكون #Jtable وايضا فئات #JavaBeans كمصادر لبيانات التقرير .
فى هذا المقال سنتعلم سويا كيفية إستخدام ملفات Excel كمصدر لبيانات التقرير الخاص بنا وذلك ببضع خطوات بسيطة :
1_ قم بالنقر على ايقونة Report Datasource
2_سيتم فتح مربع الحوار Connections / Datasource قم بالنقر على زر الامر New
3_سيتم فتح مربع حوار آخر من هنا ، حدد الخيار احد الخيارات التالية وانقر فوق "التالي".
- Microsoft Excel(xls) data source ويتم تحديد هذا الخيار اذا كنت تستخدم إصدار قديم من الاكسل 2000 حتى 97
- Microsoft Excel 2007(xlsx) data source ويتم تحديد هذا الخيار بدء من إصدار 2007 حتى 2010
وبما إننا نستخدم ملف أكسل 2007 فاننا سنحدد الخيار الثاني :
4_سوف تفتح نافذة أخرى.تريد منك تحديد بعض التفاصيل كما فى الصورة التالية :
حيث أن :
- name :وضع اسم لمصدر البيانات لاستخداما فيما بعد
- Excell file :فى هذه الخانة يتم تحديد مسار ملف الاكسل لقرائتة
بعد ذلك انقر فوق "Get Columns name from the first row" لبدء قراة الملف بداية من الصف الاول
5_قم باستدعاء نافذة Query Editor ثم أختر التويب Excell Datasource ثم قم بالنقر على رز الامر getfields from datasource لتجد الحقول كما فى الشكل التالى :
6_عد إلى منطقة تصميم iReport.وقم بسحب وإسقاط الحقول التي تريد استخدامها على اى منطقة بالتقرير و النتيجة :
- في الثلاثاء سبتمبر 24, 2019 10:17 am
- ابحث في: إنشاء التقارير JasperReports مع iReport
- موضوع: انشاء تقارير JasperReports مع iReport ...مقال 10_التعامل مع مصادر البيانات _ملفات Excel كمصدر للبيانات
- المساهمات: 2
- مشاهدة: 992
انشاء تقارير JasperReports مع iReport ...مقال 9 _التعامل مع مصادر البيانات_ JavaBeans كمصدر بيانات.
أهلا وسهلا بكم إخواني الكرامبالإضافة إلى إستخدام قواعد البيانات و الجدوال #JTable لملئ التقارير بالبيانات، يتيح لنا المكتبة #JasperReports استخدام كائنات الـ Java القديمة _ (POJOs) أختصارا Plain Old Java Objects_ كمصادر بيانات ويتم إنشاء تلك الكائنات فى فئة تسمي #JavaBeans وهى فئة مخصصة تتيح للمستخدم الوصول للكائنات التى تحتويها من خلال عدد من أساليب "getter" و "setter"
لنقم بإنشاء كائن Java يمكن استخدامه كمصدر بيانات لمثالنا باتباع الخطوات التالية :
1_إنشاء الفئة JavaBeans بإسم Student بها ثلاث كائنات id,name,job كما هو موضح :
- الكود:
public class Student implements java.io.Serializable {
private int id;
private String name,job;
public void setId(int id)
{ this.id = id; }
public int getId()
{ return id; }
public void setName(String name)
{ this.name = name; }
public String getName()
{ return name; }
public void setJob(String job)
{ this.job= job; }
public String getJob()
{ return job; }
}
2_ إفتح قالب التقرير JRXML لانشاء الحقول كما يلي:
- الكود:
<field name="id" class="java.lang.Integer">
<fieldDescription><![CDATA[id]]></fieldDescription>
</field>
<field name="job" class="java.lang.String">
<fieldDescription><![CDATA[job]]></fieldDescription>
</field>
<field name="name" class="java.lang.String">
<fieldDescription><![CDATA[name]]></fieldDescription>
</field>
3_ثم إنشاء مربعات النصوص :
- الكود:
<textField>
<reportElement x="257" y="61" width="100" height="20" uuid="e98f9aaa-93b1-4be2-a7bf-637004d8abfe"/>
<textFieldExpression><![CDATA[$F{id}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="383" y="96" width="100" height="20" uuid="73f60c6d-bc3e-4bfd-8596-31699e98a7ff"/>
<textFieldExpression><![CDATA[$F{job}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="178" y="78" width="100" height="20" uuid="22419a2d-c4cd-47de-baa1-ac5c8b42f001"/>
<textFieldExpression><![CDATA[$F{name}]]></textFieldExpression>
</textField>
[size=18]ملحوظة :[/size]
يمكنك الاستغناء عن كتابة الشفرات فى الخطوة الثانية و الثالثة اعلاه و إستخدام الواجهة الرسومية لإنشاء حقول البيانات في ملف xml تلقائا بدون كتابة اى شفرات على النحو التالى :
_استدعاء نافذة Report query
_ويتم إستدعاء تلك النافذة أما من خلال النقر على [size=16]ايقونة query[/size] أو من خلال تحديد [size=16]ايقونة [b]التقرير[/size][/b] وبالنقر على رز الفارة الايمن تظهر قائمة فاختر منها Edit Query...لتظهر لك نافذة Report query
_الان ستجد حقول البيانات الموجودة فى الفئة كما فى الصورة التالية .... يمكنك سحب و إفلات الحقول الثلاثة الى التقرير كما هو موضح فى الصورة التالية :
[size=16]
[/size]
[/size]
الخطوة الرابعة :إنشاء مجموعة بيانات التى سيتم تمريرها للتقرير وليكن بإسم fill_Data وذلك على النحو التالى :
- الكود:
private List<Student> data = new LinkedList<Student>();
private Collection fill_Data()
{
Student j = new Student();
j.setId(1);
j.setName("أحمد مناع");
j.setJob("محاسب");
j.setId(2);
j.setName("سيد حامد");
j.setJob("تاجر");
j.setId(3);
j.setName("محمود عبد الغني");
j.setJob("محاسب");
data.add(j);
return data;
}
الخطوة الخامسة :عرض و تشغيل التقرير وذلك بتمرير البيانات التى تم جلبها من مجموعة البيانات fill_Data الى الكائن JRBeanCollectionDataSource على النحو التالى :
- الكود:
import java.io.InputStream;
import java.util.Collection;
import java.util.logging.Level;
import java.util.logging.Logger;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;
import img1.Student;
import java.util.LinkedList;
import java.util.List;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
public class NewMain {
private List<Student> data = new LinkedList<Student>();
private Collection fill_Data()
{
Student j = new Student();
j.setId(1);
j.setName("أحمد مناع");
j.setJob("محاسب");
j.setId(2);
j.setName("سيد حامد");
j.setJob("تاجر");
j.setId(3);
j.setName("محمود عبد الغني");
j.setJob("محاسب");
data.add(j);
return data;
}
public void FillReport(){
try {
//الحصول على مسار التقرير
InputStream Report =this.getClass().getResourceAsStream("/report/pppp.jasper");
//تعبئة التقرير من قاعدة البيانات باستخدام الكائن JRResultSetDataSource
JasperPrint jasperPrint = JasperFillManager.fillReport(Report,null,new JRBeanCollectionDataSource(fill_Data()));
//تشغيل وعرض التقرير
JasperViewer.viewReport(jasperPrint,false);
} catch (JRException ex) {
Logger.getLogger(NewMain.class.getName()).log(Level.SEVERE, null, ex);
}
}
public static void main(String[] args) {
new NewMain().FillReport();
}
}
- في الجمعة سبتمبر 20, 2019 9:32 pm
- ابحث في: إنشاء التقارير JasperReports مع iReport
- موضوع: انشاء تقارير JasperReports مع iReport ...مقال 9 _التعامل مع مصادر البيانات_ JavaBeans كمصدر بيانات.
- المساهمات: 1
- مشاهدة: 1009
أمس في 9:18 pm من طرف wdqwd
» رش الدفان بالرياض
أمس في 7:11 pm من طرف moslema_r
» شركة تنظيف خزانات الشارقة
أمس في 6:57 pm من طرف moslema_r
» شركة مكافحة الفئران بالرياض
الإثنين أبريل 15, 2024 8:23 pm من طرف moslema_r
» افضل شركة كشف تسربات المياه بالباحة
الخميس أبريل 04, 2024 7:02 am من طرف gmalnagy
» ساعدوني وفهموني help me
الجمعة مارس 29, 2024 8:37 am من طرف linesoft
» كشف تسربات المياه في جدة
السبت مارس 23, 2024 7:23 pm من طرف gmalnagy
» خدمات كشف تسربات المياه بخصم 25% - اتصل الان
السبت مارس 23, 2024 7:22 pm من طرف gmalnagy
» كهربائي منازل بالرياض
الأحد مارس 17, 2024 1:52 pm من طرف رانيا حماد
» افضل شركة نقل عفش بالرياض نقل باكستاني 40% خصم | موقع الانوار
الأحد مارس 17, 2024 1:25 pm من طرف رانيا حماد