Tổng quan vỠreport và các triển khai report trong Java - How to use report in Java
Chà o các bạn, khi nói đến report trong Java Ä‘a phần các bạn Ä‘á»u cảm thấy nó rất khó và phức tạp, nhưng đó là lúc trước, hoạt chưa có tà i liệu chÃnh thức nà o há»— trợ report trong Java. Nay Huy thay mặt BQT nghiên cứu và đưa ra chuyên đỠreport trong Java, hướng dẫn sá» dụng và phân phối trong ứng dụng Java desktop. Nà o chúng ta cùng bắt đầu nha !
Tổng quan vỠreport
-------------------------------------------------------------
Report là gì ?
Report là má»™t dạng báo cáo trong các ngôn ngữ láºp trình, há»— trợ tạo, xuất dữ liệu, biểu đồ ra dạng report có thể in và lưu lại vá»›i các dang tà i liệu phổ biến như pdf, docs, txt… má»™t cách trá»±c tiếp
Report trong Java .
Có nhiểu chương trình hỗ trợ report trong java, xong phổ biến và để dùng nhất phải nói đến ireport của JasperReports
ireport là gì ?
ireport là má»™t chương trình há»— trợ ngưá»i dung và ngưá»i láºp trình sá» dụng thư viện cá»§a Jaspereport để thiết kế trong mô trưá»ng trá»±c quan bằng GUI
Vì váºy việc tạo report trở nên để dà ng hÆ¡n. Ireport há»— trợ tất cả các chức năng quan trá»ng cá»§a má»™t report thông thưá»ng nhưng trong thá»i gian ngắn. Thá»±c chất thư viện cá»§a Jasperreport là dạng XMl sá» dụng rất phức tạp, nhưng thông qua GUI chúng ta có thể tạo ra nó bằng các thà nh phần, thuá»™c tÃnh và đồng thá»i chương trình sẽ sinh ra code dạng XML để thá»±c thi
Má»™t số đặc tÃnh chÃnh cá»§a ireport
Hỗ trợ 98% các thà nh phần cảu JasperReport
Mô trưá»ng thiết kế trá»±c quan bằng WYSIWYG
Hỗ trợ Unicode và các kà tự không phải latin như tiếng trung quốc, tiếng hà n
Hỗ trợ JDBC
Hỗ trợ tất cả các loại của JRDataSource
Hỗ trợ report con
….
Hướng dẫn tạo report
-----------------------------------------
Những chương trình cần chuẩn bị
Tải chương trình tạo report : IReport 4.0.2 của JasperReports tải tại đây :
http://www.mediafire.com/?s22k771ji35af75
Thư viên kết nối sql server 2005 để cấu hình trong Ireport tải tại đây :
http://www.mediafire.com/?y7cu9jeu20u62sc
Cấu hình kết nối cho chương trình (ở đây mình hướng dẫn đối với sql server 2005, các CSDL khác là m tương tự)
Sau khi tải chương trình vá», các bạn tiến hà nh cà i đặt má»™t cách bình thưá»ng, sau khi cái đặt xong, mở chương trình lên, cá»a sổ chÃnh cá»§a chương trình như sau :
Giá» cần cấu hÃnh classpath cho chuÆ¡ng trình, add gói jdbcsql.jar và o chương trình : các bạn chá»n Tools/ Options/ Ireport/ Classpath/ Add Jar/ chá»n file jar kết nối cá»§a sql server 2005 (tải vỠở trên). chá»n Ok
Tạo cấu hình kết nối chung cho chương trình :
Click và o biểu tương hình CSDL ở cá»a số chÃnh cá»§a chương trình
Chá»n kiểu kết nối, ở đây chúng ta chá»n Database JDBC connection, chá»n Next
Cá»a số cấu hình kết nối, chúng ta tiến hà nh cấu hình như sau :
Name : tên kết nối
JDBC Driver : MS SQLServer (2005) (com.microsoft.sqlserver.jdbc.SQLServerDriver)
JDBC URL : jdbc:sqlserver://localhost:1433;databaseName=<ten CSDL>
Username : tên đăng nháºp trong sql server
Password : máºt khẩu trong sql server
Sau đó các bạn chá»n Test để kiểm tra kết nối, nếu thà nh công thì chá»n Save
Bây giá» trên thanh công cụ cá»§a các bạn đã xuất hiện cấu hình bạn vừa tạo, sau nà y tạo các report chỉ cần chá»n tên cấu hình là được
Tạo report bằng Ireport
Xong các bước cấu hình, chúng ta thỠtạo một report mẫu bằng chương trình ireport nà o!
Trong bước cấu hình kết nối trên các bạn đã xác định được CSDL của mình, giỠbạn tạo một bảng trong CSDL đó và thực hiện theo các bước sau
Ở đây mình tạo ra bảng DANHSACHSINHVIEN với cấu trúc sau
Và thêm CSDL mẫu sau :
Chá»n File/ New
Chá»n mẫu theme tương ứng, nếu các bạn chưa quên thì nên chá»n các mẫu thiết kết câu trúc sẳn không nên chá»n các mẫu blank
Ở đây mình chá»n mẫu Cherry và chá»n tiếp tục --> Launch report wizard
Äặt tên và chá»n vị trà cần lưu --> Next
Chá»n cấu hình CSDL đã tạo ở trên, và gõ câu lêng truy vấn SQL và o --> Next
Chá»n những trưá»ng cần đưa và o report --> Next
Nếu muốn group lại theo trưá»ng nà o đó thì chá»n group ở cá»a sổ trên --> Next
Chá»n finish để qua cá»a sổ thiết kế cá»§a ireport
Bạn sẽ nháºn được cá»a sổ thiết kế ở trên, chúng ta có thể thay đổi ná»™i dung cá»§a các text má»™t các bình thưá»ng
Giá» chỉnh thuá»™c tÃnh cá»§a report nà y là dà nh cho java bằng cách chá»n và o toà n document chon thuôc tÃnh Language : Java
Xong giá» chúng ta có thể chá»n qua thẻ Preview để xem demo nà o
Ở cá»a số preview các bạn có thể save lại ở bất cứ định dạng nà o từ pdf , html, đến word...
Giá» chá»n File/ Save as và lưu file .jrxml và o thư mục src cá»§a project java cá»§a bạn, để chúng ta thá»±c hiện gá»i report trong chương trình java sẽ được giá»›i thiệu ở dưới. váºy là đã tạo được file report !
Gá»i ireport trong ứng dụng Java Desktop
Tạo ứng dụng Java thông thưá»ng, gá»i report bằng Ä‘oạn code sau :
Mã PHP:
try {
String reportName = "<duong dan file jaspaer vua tao, phai de trong thu muc SRC cua project>.jasper";
HashMap map = new HashMap();
InputStream is = this.getClass().getClassLoader().getResourceAsStream(reportName);
JasperPrint jasperPrint = JasperFillManager.fillReport(is, map, Connect.Con());
// JasperExportManager.exportReportToHtmlFile(jasperP rint, "huy.html");
JasperViewer jv = new JasperViewer(jasperPrint, false);
jv.setVisible(true);
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
Với đoạn code trên ta sẽ được kết quả y chang khi xem preview trong chương trình Ireport.
Lưu ý
Connect.Con() : là hà m kết nối CSDL của bạn, đến nối đúng với tham khảo tạo kết nối trong chuong trình Ireport, mình có hà m demo sau
Mã PHP:
public static Connection Con() {
// can add Library: sqljdbc.jar
String url = "jdbc:sqlserver://localhost:1433;database=<dataname>";
String username = "sa";
String password = "sa";
Connection conn = null;
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
conn = java.sql.DriverManager.getConnection(url,username,password);
// if(conn!=null) System.out.println("Connection Successful!");
}catch(Exception e){
JOptionPane.showMessageDialog(null, "Can not connect to database !","Database Eror",JOptionPane.ERROR_MESSAGE);
}
return conn;
}
Ngoà i ra chúng ta cấn add nhiá»u gối lib thiếu và o, ở đây mình đã táºp hợp, các bạn tải vá» và tất cả lib và o là được
Thư viện dà nh cho việc triệu gá»i report trong Java tải tại đây :
http://www.mediafire.com/?usf4ww51lhdi69p
Các chủ đỠkhác cùng chuyên mục nà y: