الوقت/التاريخ الآن هو الثلاثاء مارس 19, 2024 9:41 am
5 نتيجة بحث عن jasperreports
انشاء تقارير 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
- مشاهدة: 977
انشاء تقارير 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
- مشاهدة: 999
انشاء تقارير JasperReports مع iReport ...مقال 7 _التعامل مع مصادر البيانات_قاعدة البيانات كمصدر للبيانات ..3_ملىء التقرير باستخدام الكائن JRResultSetDataSource
أهلا وسهلا بكم إخواني الكرامفى مقالات سابقة تكلمنا عن مصادر البيانات التى تستخدم فى استخراج بيانات التقرير من قاعدة بيانات علائقية Access ,MySql ,Oracl,mogo,SQL SERVER الخ , و أوضحنا أن ذلك يتم من خلال طريقتين :
- الاولى : بتضمين إستعلامات SQL في قالب تقرير JRXML سواء إن تم ذلك بإستخدام الشفرة أو تم ذلك عن طريق المعالج
- الثانية : بتمرير البيانات من قاعدة البيانات إلى التقرير بإستخدام #JRResultSetDataSource
وقد قمنا بشرح الطريقة الاولى لذلك فى هذا المقال سنركز بالشرح على الطريقة الثانية وكيفية استخدام JDBC DataSources فى استخراج بيانات التقرير من قاعدة البيانات لذلك قبل أن نبدء ندعونا نفترض أن لدينا قاعدة بيانات باسم Employees وتحتوي على جدول باسم Info بالحقول التالية :
INTEGER | Id |
VARCHAR | Name |
VARCHAR | Job |
هذا الجدول يحتوى على البيانات التالية :
الفئة #JRResultSetDataSource هى احد الفئات التى توفرها المكتبة #JasperReports من خلال الواجهة JRDataSource لملْ و استخراج بيانات التقرير من قاعدة بيانات علائقية وذلك عن طريق تمرير الكائن java.sql.ResultSet اليها وذلك على النحو التالى :
الخطوة الاولى :إفتح ملف #xml لإنشاء الحقول #field التي سيتم ملؤها في وقت التشغيل من جدول قاعدة البيانات لاستخدامها فيما بعد و يجب أن تتطابق أسماء الحقول مع اسم العمود جدول البيانات أو الاسم المقابل له في جملة الاستعلام SQL مع تحديد نوع بيانات الحقل int,string_على النحو التالى :
- الكود:
<field name="ID" class="java.lang.Integer"></field>
<field name="NAME" class="java.lang.String"></field>
<field name="JOB" class="java.lang.String"></field>
الخطوة الثانية :إنشاء العنصر #textField وهو العنصر الرسومي الذى يستخدم في عرض البيانات النصية الديناميكية في التقارير ويتم إنشائة باستخدام التعليمة <textField> بالشفرة التالية :
- الكود:
<textField>
<reportElement x="393" y="17" width="100" height="20"/>
<textFieldExpression><![CDATA[$F{ID}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="393" y="37" width="100" height="20"/>
<textFieldExpression><![CDATA[$F{NAME}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="393" y="57" width="100" height="20"/>
<textFieldExpression><![CDATA[$F{JOB}]]></textFieldExpression>
</textField>
و يمكنك ملاحظة أن :
- التعليمة <reportElement> التى تحدد و تشير إلى ارتفاع حقل النص ،العرض والإحداثيات داخل النطاق x و y....الخ
- التعليمة <textFieldExpression> التى تحدد حقول البيانات التي سيتم عرضها في هذا العنصر النصي باستخدام
- الكود:
$ F {field_name}
، حيث field_name هو اسم الحقل الذى تم تعريفة فى الخطوة السابقة >>>وهكذا يكون ملف xml كما فى الشكل التالى وجاهز لاستقبال البيانات :
ملحوظة :
يمكنك الاستغناء عن كتابة الشفرات فى الخطوة الاولى و الثانية اعلاه و إستخدام الواجهة الرسومية إنشاء حقول البيانات في ملف xml تلقائا بدون كتابة اى شفرات على النحو التالى :
_ من نافذة #Report Inspector قم بتحديد #Fields ثم النقر بزر الفارة الايمن لتظهر لك قائمة أختر منها الامر add Field كما فى الشكل التالى :
_سيظهر لك حقل باسم #field1 يمكنك تحديدة ومن نافذة الخصائص للحقول غير اسم الحقل باسم اعمدة جدول البيانات لديك أو باسم اعمدة الجدول فى جملة الاستعلام sql التى ستنفذ على النحو التالى :
_الان يمكن سحب و إفلات الحقول الثلاثة الى التقرير كما هو موضح فى الصورة التالية :
الخطوة الثالثة والاخيرة :عرض و تشغيل التقرير وذلك بتمرير البيانات التى تم جلبها من قاعدة البيانات باستخدام الكائن java.sql.ResultSet إلى التقرير بتمرير الكائن #ResultSet الى الكائن #JRResultSetDataSource على النحو التالى :
- الكود:
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;
public class NewMain {
public void FillReport(){
String host = "jdbc:derby://localhost:1527/Employees";
String username = "US";
String password = "US";
Connection con=null;
try {
//إنشاء نص الاتصال بقاعدةالبيانات
con = DriverManager.getConnection( host, username, password );
// إنشاء جملة الاستعلام
String SQL = "select * from US.Info";
// إنشاء كائن التنفيذ
Statement stmt = con.createStatement( );
// إنشاء الكائن ResultSet و تنفيذ الاستعلام
ResultSet rs = stmt.executeQuery( SQL );
//الحصول على مسار التقرير
InputStream Report =this.getClass().getResourceAsStream("/report/pppp.jasper");
//تعبئة التقرير من قاعدة البيانات باستخدام الكائن JRResultSetDataSource
JasperPrint jasperPrint = JasperFillManager.fillReport(Report,null,new JRResultSetDataSource(rs));
//تشغيل وعرض التقرير
JasperViewer.viewReport(jasperPrint,false);
} catch (SQLException ex) {
Logger.getLogger(NewMain.class.getName()).log(Level.SEVERE, null, ex);
} 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:57 am
- ابحث في: إنشاء التقارير JasperReports مع iReport
- موضوع: انشاء تقارير JasperReports مع iReport ...مقال 7 _التعامل مع مصادر البيانات_قاعدة البيانات كمصدر للبيانات ..3_ملىء التقرير باستخدام الكائن JRResultSetDataSource
- المساهمات: 1
- مشاهدة: 1711
انشاء تقارير JasperReports مع iReport ...مقال 3_إنشاء اول تقرير لك Static Report
أهلا بكم أخوانى الكرامفى هذا المقال التعليمى سنتعلم سويا كيفية إعداد تقرير بسيط من تقارير المكتبة #JasperReports وذلك من خلال الواجهة الرسومية لانشاء تلك التقارير #iReport ...وقد تحدثنا فى مقال سابق عن كيفية تثبيت اضافات تلك المكتبة سواء من خلال محرر #NetBeans أو حتى من خلال التثبيت المستقل لبرنامج Jaspersoft Studio
الان ، دعني أريك ، كيفية إعداد تقرير بسيط Static Report _بمعنى انه لن يتم ملىء ببيانات من قاعدة البيانات_ و ذلك من خلال المحرر NetBeans....
1_ قم بفتح محرر NetBeans من قائمة مشروع ثم قم بالنقر على زر الفارة الايمن على الحزمة package التى تريد وضع التقرير بها ثم أختر من القائمة التى ستظهر الامر New ...ثم الامر Empty Report أو يمكنك استخدام المعالج Report Wizard _سيتم مناقشة فى وقت لاحق_ كما فى الصورة التالية :
أذا لم يكن الامر Empty Report ظاهر بالقائمة يمكن استخدام الامر Other كما فى الصورة التالية :
ليظهر لك المربع الحوارى التالى فاختر منه الامر Empty Report
2_قم بوضع اسم مناسب للتقرير ثم انقر على finsh كما فى الصورة التالية :
ليظهر لك المكون الرسومي #iReport فى بيئة #NetBeans مع كافة الادوات المساعدة لانشاء تقريرك كما فى الشكل التالى :
وهكذا نكون قد إنشائنا تقرير فارغ أو ملف بإمتداد JRXML
3_من القائمة Palette _القائمة رقم 4_ قم بسحب العنصر الرسومى Static Text الى منصة التقرير فى منطقة التفاصيل Detail
4_ الان يمكن تحرير العنصر الرسومى Static Text وكتابة ما تريد ظهورة من بيانات فى التقارير أما بالنقر المزدوج عليه أم من نافذة الخصائص على النحو التالى :
5_ بعد ما تم الانتهاء من كتابة بيانات التقرير الخطوة الاخيرة هو تجميع التقرير أو بمعنى اوضح عمل #Compiling للملف JRXML حيث أنه بعد كل الخطوات السابقة قد قمنا بإنشاء تقرير أو ملف بإمتداد #JRXML لا يمكن استخدام تلك الملفات مباشرة لعرض التقارير. لذلك يجب أن يتم تجميعها
في شكل ثنائي تسمى قوالب التقرير المترجمة و تكون بإمتداد jasper
و هناك طريقتان لتجميع ملفات JRXML إلى ملفات Jasper إما القيام بذلك برمجيًا ، أو يمكننا القيام بذلك من خلال مهمة ANT المتوفرة بواسطة المكتبة JasperReports.
الطريقة الاولى :تحويل قالب التجميع JRXML الى قالب الترجمة Jasper برمجيا ويتم ذلك باستخدام الاسلوب compileReportToFile التابع للفئة JasperCompileManager على النحو التالى :
- الكود:
JasperCompileManager.compileReportToFile(String sourceFileName,
String destFileName).
حيث أن :
_sourceFileName ....مسار ملف التجميع JRXML
_destFileName ..... مسار الاخراج لملف الترجمة Jasper
مثال :
- الكود:
JasperCompileManager.compileReportToFile(
"designFile.jrxml", //Relative or absoulte path to the .jrxml file to compile
"compiled.jasper"); //Relative or absolute path to the compiled file .jasper
الطريقة الثانية :من خلال مهمة ANT المتوفرة بواسطة المكتبة JasperReports....ويتم ذلك أما من خلال تحديد التقرير من نافذة Report Inspector ثم النقر بزر الفارة الايمن ومن القائمة التى ستظهر اختر منها الامر Compile Report أو النقر مباشرة على ايقونة التجميع كما فى الصورة التالية :
وهكذا نكون قد انتهيا من تصميم و ترجمة تقرير بسيط الى اللقاء فى مقال قادم عن كيفية تشغيل و عرض التقارير من خلال تطبيقات الجافا
- في الإثنين سبتمبر 16, 2019 9:22 pm
- ابحث في: إنشاء التقارير JasperReports مع iReport
- موضوع: انشاء تقارير JasperReports مع iReport ...مقال 3_إنشاء اول تقرير لك Static Report
- المساهمات: 0
- مشاهدة: 1135
انشاء تقارير JasperReports مع iReport ...مقال 5 _التعامل مع مصادر البيانات_قاعدة البيانات كمصدر للبيانات ..1_تضمين إستعلامات SQL بالشفرة
بسم الله الرحمن الرحيم
أهلا و سهلا بكم إخوانى الكرام .... فى دروس سابقة تحدثنا عن كيفية انشاء تقارير #JasperReports مع iReport وقمنا بانشاء تقرير بسيط و عرض و تشغلية من خلال تطبيقات الجافا وهذا التقرير كان لا يحتوي الا على بعض النصوص الثابتة أو بمعنى اوضح لا يحتوي على بيانات ديناميكية لكن اذا اردنا غنشاء تقارير دينامكية المحتوي فلابد أن نستخدم مصارد البيانات #datasources
_مصدر البيانات datasources :هو ما يستخدمه المكتبة #JasperReports للحصول على البيانات لتوليد تقارير دينامكية المحتوي وتوجد عدة مصادر يمكنك استخدامها وهى على النحو التالى :
- Databases
- TableModels
- Java objects
- XML fles
و سنناقش في هذا المقال كيفية استخدام قواعد البيانات databases كمصدر بيانات datasources . أما فى المقالات التالية سوف يناقش الانواع الاخرى من مصادر البيانات
توليد تقارير ديناميكي باستخدام قاعدة البيانات كمصدر للبيانات
هناك طريقتان لإنشاء تقارير من قاعدة البيانات وهما :
- الاولى : بتضمين إستعلامات SQL في قالب تقرير JRXML
- الثانية : بتمرير البيانات من قاعدة البيانات إلى التقرير بإستخدام JRResultSetDataSource
فى هذا المقال سنشرح الطريقة الاولى _أما الطريقة سنتعرف عليها فى مقالات لاحقة _لذلك قبل أن نبدء ندعونا نفترض أن لدينا قاعدة بيانات باسم Employees وتحتوي على جدول باسم Info بالحقول التالية :
INTEGER | Id |
VARCHAR | Name |
VARCHAR | Job |
هذا الجدول يحتوى على البيانات التالية :
تضمين إستعلام SQL في قالب تقرير JRXML ويتم ذلك بطريقتين:
1_الطريقة الاولى : تضمين إستعلام SQL برمجيا بإستخدام الشفرة
2_الطريقة الثانية : تضمين إستعلام SQL بإستخدام المعالج
وفى هذا المقال سنركز على الطريقة الاولى
تضمين إستعلام SQL في قالب تقرير JRXML بإستخدام الشفرة :ويتم ذلك باتباع الخطوات التالية :
الخطوة الاولى :أذهب الى التويبب XML لتفتح لك ملف xml لكتابة بعض الشفرات في قالب تقرير #JRXML كمافى الصورة التالية :
الخطوة الثانية :إستخدام التعليمة <queryString> لانشاء جملة الاستعلام SQL وذلك على النحو التالى :
- الكود:
<queryString>
<![CDATA[select * from US.INFO]]>
</queryString>
الخطوة الثالثة :إنشاء متغيرات الحقول field التي يتم ملؤها في وقت التشغيل من جدول قاعدة البيانات لاستخدامها فيما بعد و يجب أن تتطابق أسماء الحقول مع اسم العمود جدول البيانات أو الاسم المقابل له في جملة الاستعلام SQL مع تحديد نوع بيانات الحقل int,string_على النحو التالى :
- الكود:
<field name="ID" class="java.lang.Integer">
</field>
<field name="NAME" class="java.lang.String">
</field>
<field name="JOB" class="java.lang.String">
</field>
ليصبح ملف xml كما فى الشكل التالى :
الخطوة الرابعة :إنشاء العنصر textField وهو العنصر الرسومي الذى يستخدم في عرض البيانات النصية الديناميكية في التقارير ويتم إنشائة باستخدام التعليمة <textField> ويجب أن تحتوي داخل تلك التعليمة على الاتي:
- التعليمة <reportElement> التى تحدد و تشير إلى ارتفاع حقل النص ،العرض والإحداثيات داخل النطاق x و y....الخ
- التعليمة <textFieldExpression> التى تحدد حقول البيانات التي سيتم عرضها في هذا العنصر النصي باستخدام
- الكود:
$ F {field_name}
، حيث field_name هو اسم الحقل الذى تم تعريفة فى الخطوة السابقة وذلك على النحو التالى :
- الكود:
<textField>
<reportElement x="393" y="17" width="100" height="20"/>
<textFieldExpression><![CDATA[$F{ID}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="393" y="37" width="100" height="20"/>
<textFieldExpression><![CDATA[$F{NAME}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="393" y="57" width="100" height="20"/>
<textFieldExpression><![CDATA[$F{JOB}]]></textFieldExpression>
</textField>
وهكذا يكون ملف xml كما فى الشكل التالى وجاهز لاستقبال البيانات :
الخطوة الرابعة و الاخيرة :عرض و تشغيل التقرير وتتطلب تلك الخطوة الاتصال اولا بقاعدة البيانات ثم تمرير كائن الاتصال الى التقرير ...حيث أن JasperReports توفر الكائن #JasperFillManager الذى يقوم بملىء التقرير من خلال الطريقة #fillReport بتمرير التقرير المراد تعبئة بياناته وكائن الاتصال و ذلك على النحو التالى :
- الكود:
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
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;
public class NewMain {
public void FillReport(){
String host = "jdbc:derby://localhost:1527/Employees";
String username = "US";
String password = "US";
Connection con=null;
try {
//إنشاء نص الاتصال بقاعدةالبيانات
con = DriverManager.getConnection( host, username, password );
//الحصول على مسار التقرير
InputStream Report =this.getClass().getResourceAsStream("/report/pppp.jasper");
//تعبئة التقرير من قاعدة البيانات
JasperPrint jasperPrint = JasperFillManager.fillReport(Report,null,con);
//تشغيل وعرض التقرير
JasperViewer.viewReport(jasperPrint,false);
} catch (SQLException ex) {
Logger.getLogger(NewMain.class.getName()).log(Level.SEVERE, null, ex);
} catch (JRException ex) {
Logger.getLogger(NewMain.class.getName()).log(Level.SEVERE, null, ex);
}
}
public static void main(String[] args) {
new NewMain().FillReport();
}
}
و النتيجة عند التشغيل :
أنتهى المقال
تحياتى
- في السبت فبراير 15, 2014 11:44 am
- ابحث في: إنشاء التقارير JasperReports مع iReport
- موضوع: انشاء تقارير JasperReports مع iReport ...مقال 5 _التعامل مع مصادر البيانات_قاعدة البيانات كمصدر للبيانات ..1_تضمين إستعلامات SQL بالشفرة
- المساهمات: 2
- مشاهدة: 3365
الأحد مارس 17, 2024 1:52 pm من طرف رانيا حماد
» افضل شركة نقل عفش بالرياض نقل باكستاني 40% خصم | موقع الانوار
الأحد مارس 17, 2024 1:25 pm من طرف رانيا حماد
» افضل معلم جبس بالرياض تركيب جبس بورد بالرياض 20% خصم اتصل الآن
الأحد مارس 17, 2024 1:09 pm من طرف رانيا حماد
» شراء اثاث مستعمل بالكويت بخصم 30%
الأحد مارس 17, 2024 12:54 pm من طرف رانيا حماد
» افضل فني كهربائي منازل بالرياض جودة 100% | اتصل الآن
الأحد مارس 17, 2024 12:36 pm من طرف رانيا حماد
» أفضل فني سباك بالرياض ممتاز بالرياض | اتصل الآن
الأحد مارس 17, 2024 12:25 pm من طرف رانيا حماد
» افضل شركة تنظيف اثاث بالرياض تنظيف كنب واجهات حجر بخصم 40%
الأحد مارس 17, 2024 11:52 am من طرف رانيا حماد
» افضل شركة تنظيف فلل بالرياض | الانوار
الأحد مارس 17, 2024 11:22 am من طرف رانيا حماد
» افضل شركة تنظيف واجهات زجاج بالرياض 30% خصم
الأحد مارس 17, 2024 10:38 am من طرف رانيا حماد
» افضل شركة نقل عفش بالكويت بخصم 20%
الخميس مارس 14, 2024 1:36 pm من طرف رانيا حماد