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ễ dùng nhất phải nói đến
ireport của JasperReportsireport 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 ireportHỗ 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/?s22k771ji35af75Thư viên kết nối sql server 2005 để cấu hình trong Ireport tải tại đây :
http://www.mediafire.com/?y7cu9jeu20u62scCấ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=
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 :
- Code:
-
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());
}
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:
- Code:
-
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