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 :
Click vào biểu tương hình CSDL ở cửa số chính của chương trình
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
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
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
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 :
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(jasperPrint, "huy.html");
JasperViewer jv = new JasperViewer(jasperPrint, false);
jv.setVisible(true);
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
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
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;
}
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
-------------
Vậy là hoàn tất rồi, chúc các bạn thành công, nếu gặp trở ngại nào thì PM ở dưới mình sẽ trả lời ngay nha ^_^ thank mọi ngườ dã theo dõi bài viết của mình
--------
Bài viết của tranhuyvc - congdongjava.com
Ghi rõ nguồn congdongjava.com khi sao chép bài viết này
0 nhận xét