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: