Ghi chú đến thành viên
Go Back   4vn.eu > Kiến thức > Tin há»c > Lập Trình > Java
Gởi Ãá» Tài Má»›i Trả lá»i
 
Ãiá»u Chỉnh
  #1  
Old 29-08-2011, 06:03 PM
The Creator's Avatar
The Creator The Creator is offline
57991135
Cạch !
 
Tham gia: Feb 2008
Äến từ: VN
Bài gởi: 1,152
Thá»i gian online: 3 tuần 0 ngày 14 giá»
Xu: 0
Thanks: 359
Thanked 1,686 Times in 186 Posts
Tổng quan vỠreport và các triển khai report trong Java - How to use report in Java

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:

Tài sản của The Creator

Chữ ký của The Creator
Click vào quảng cáo là góp phần không nhỠgiúp cho 4vn duy trì và phát triển
Trả Lá»i Vá»›i Trích Dẫn
Trả lá»i

Từ khóa được google tìm thấy
äâèæåíèÿ, ãìþéíëÿðáþ, bao cao voi java, cach su dung ireport, code report java, code tẠo report, dem report vao netbean, huong dan ireport, huong dan ireport java, ïèùåâûõ, in bao cao trong php, in file word trong java, ïñèõîëîãèÿ, ireport dùng làm gì, ireport giáo trình, ireport java huong dan, ireport la gi, ireport là gì, ireport làm gì, ireport sql 2008, ireport trong java, jasperreports server, jasperreports tao, jasperviewer la gi, lam bao cao trong java, lam report trong java, làm report java, làm report php, làm report trong java, mo1 file word trong java, ñàëîí, report trong php, sql 2008 ireport, tao report trong jav, tao report trong java, tao report trong php, tao report tu php, tao report voi ireport, tạo report trong java, thong ke trong java, tong quan ve reprot, xuat report trong java, xuat report trong php, xuất report trong java

Ãiá»u Chỉnh


©2008 - 2014. Bản quyá»n thuá»™c vá» hệ thống vui chÆ¡i giải trí 4vn.euâ„¢
Diễn đàn phát triển dựa trên sự đóng góp của tất cả các thành viên
Tất cả các bài viết tại 4vn.eu thuá»™c quyá»n sở hữu của ngÆ°á»i đăng bài
Vui lòng ghi rõ nguồn gốc khi các bạn sử dụng thông tin tại 4vn.eu™