السلام عليكــم ورحمـة الله وبركاتــه ،،
لمن لم يستخدم iReport من قبل . سأذكر خطوات استخدامه مع صنف جافا بسيط بعيدا عن التعقيدات و كثره الكلام للتتضح الصوره .
وبعد تطبيق المثال يمكنكم التوسع في الامر...
علما باني متأكد من انه بعد تنفيذ المثال سيتضح لك الكثير ..
الأدوات المستخدمة
1 - iReport 3.0.0 http://jasperforge.org/sf/projects/ireport
2- eclipse + ملفات الجار المرفقة .
أولا إنشاء التقرير
1 - في eclipse أنشئ مشرع جافا جديد
2 – أنشئ صنف javaBean . في المثال أسميناه Student.
package othman.ireport;
/**
* @author othman
*
*/
public class Student {
private String name;
private String gpa;
public Student() {
}
public Student(String name, String gpa) {
super();
this.gpa = gpa;
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGpa() {
return gpa;
}
public void setGpa(String gpa) {
this.gpa = gpa;
}
}3– أنشئ صنف يحتوي على Method Static ترجع List<Student>.
package othman.ireport;
import java.util.ArrayList;
import java.util.List;
/**
* @author othman
*
*/
public class Main {
public static List<Student> getStudent(){
List<Student> students=new ArrayList<Student>();
students.add(new Student("Ahmed","90"));
students.add(new Student("kaled","95"));
return students;
}
public static void main(String[] args) {
}
}4- صدر هذا المشروع الى iReport-3.0.0\lib بصيغة jar.
5- في iReport أنشئ ملف جديد File>New Document.
6- Data>connections/Data Sources
7- new>javaBeans set data source
8- حسب هذا المثال ستكون الاعدادات بالشكل التالي
Name : Student
Factory class: othman.ireport.Main
The static method: getStudent
اضغط على الزر "test " لتأكد من نجاح الاتصال .
ثم اضغط على حفظ. ثم اغلق النافذه المفتوحة.
9- Data>Report Query>JavaBeans Data Source
10 – اضف اسم javaBean
othman.ireport.Student
ثم اضغط على الزر Read attributes
حدد العناصر التي ستحتاجها في التقرير ثم إضغط علىAdd Selected files ثم اضغط على موافق.
11- في صفحة الرسم اضف Text Field
وفوق الحقل المضاف
Double Click>Edit Expression
استبدل النص Field بالنص gpa ثم اضغط على Apple
كرر هذه العمليه مع العنصر name .
12- في شريك الادوات اضغط على Execute .
الى انتهت عمليه انشاء التقرير.
لاستخدام هذا التقرير في مشروعك
احفظ الملف الخاص بهذا التقرير ويكون بصيغة jasper ، في مشروعك
وتجد الملف المطلوب في المجلد الرئيسي لبرنامج iReport.
وأستخدم الصنف Test لتصدير التقرير الى صيغة PDF.
package othman.ireport.test;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import othman.ireport.Student;
public class Test {
public static String DIR=System.getProperty("user.home")+System.getProperty("file.separator")+"Desktop"+System.getProperty("file.separator");
public static void exportReportToPdfFile(){
InputStream inputStream = Test.class.getClassLoader().getResourceAsStream("othman/ireport/test/test1.jasper");
List<Student> list = new ArrayList<Student>();
Student student=new Student("Omer","999");
list.add(student);
JRBeanCollectionDataSource dataSource = new JRBeanCollectionDataSource(list);
HashMap<String, String> parameters =null;
try {
JasperPrint jasperPrint;
jasperPrint = JasperFillManager.fillReport(inputStream, parameters, dataSource);
// export to PDF
JasperExportManager.exportReportToPdfFile(jasperPrint, DIR+"Test.pdf");
System.out.println("done...");
//JasperViewer.viewReport(jasperPrint);
} catch (JRException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Test.exportReportToPdfFile();
}
}وسلامتكم

