Chào các bạn, trong bài viết trước thì mình đã hướng dẫn cho các bạn cách cài đặt Birt Report trong Eclipse (dưới dạng một plugin) để có thể thực hiện các nghiệp vụ liên quan đến kết xuất báo cáo một cách khá chi tiết rồi.
Và ở trong bài viết tiếp theo này mình sẽ cùng các bạn tạo ra một báo cáo dạng file Excel đơn giản, sử dụng tiện ích Birt Report mà chúng ta đã cài trong bài hôm trước. Báo cáo này sẽ đọc dữ liệu từ trong cơ sở dữ liệu và kết xuất dưới dạng file Excel (*.xlsx).
Mục Lục Nội Dung
I. Hướng dẫn tạo báo cáo với BIRT REPORT và ECLIPSE
Bên dưới chính là giao diện chúng ta sẽ làm việc với báo cáo như trong bài viết trước mình đã hướng dẫn các bạn cài đặt.
- (1) là 3 tab quan trọng đó là
Palette
(dùng để thiết kế template),Data Explorer
(kết nối với dữ liệu),Resource Explorer
(chứa các file template) - (2) là các thành phần như bảng, text, ảnh, đồ thị… mà chúng ta có thể chèn vào báo cáo.
- (3) đây chính là giao diện Template nơi chúng ta thiết kế báo cáo
- (4) gồm các thành phần liên quan đến cấu hình định dạng cho báo cáo.
Okay, đó là toàn bộ các thành phần cơ bản để chúng ta làm việc với báo cáo trong Birt Report. Còn bây giờ, chúng ta sẽ đi vào chi tiết thiết kế một báo cáo nhé.
#1. Định dạng chung cho báo cáo
+ Bước 1: Ở tab Master Page
các bạn chỉnh cho mình các thông số như hình bên dưới. Việc thiết lập này sẽ giúp cho bản báo cáo của chúng ta (nếu có xuất ở định dạng PDF) sẽ là kích thước trang A4
được đặt theo chiều ngang.
+ Bước 2: Sau đó, mình sẽ kéo một bảng vào trong template và định nghĩa số cột cũng như số hàng chi tiết.
Tại sao mình lại cần bảng?
Vâng, đơn giản là vì báo cáo thường kết xuất dữ liệu dưới dạng bảng (ngoài ra còn có dạng biểu đồ) nên mình phải có một table như hình dưới.
Về cấu trúc bảng trong Birt Report sẽ gồm có 3 thành phần:
- (1) Header Row: Cho phép chúng ta định nghĩa các thành phần cố định như tiêu đề, tên cột… của báo cáo
- (2) Detail Row: Đây sẽ là nơi chúng ta đổ dữ liệu từ cơ sở dữ liệu vào và nó sẽ hiển thị động theo dữ liệu trong database cũng như truy vấn của chúng ta.
- (3) Footer Row: Cho phép chúng ta định nghĩa các thông tin cố định như thời điểm kết xuất báo cáo, người kết xuất báo cáo…
+ Bước 3: Tiếp theo sẽ là một vài thao tác mà chúng ta có thể làm việc với báo cáo, đó là Merge Cells
. Các bạn chọn các cells muốn gộp => rồi nhấn chuột phải và chọn Merge Cell
như hình bên dưới.
Lý do phải Merge Cells thì bạn nào làm việc với Excel thì cũng biết tại sao rồi đúng không.
+ Bước 4: Sau khi Merge cells xong thì bạn hãy kéo vào cell đã được Merge một đoạn text có nội dung như hình bên dưới dùng để làm tiêu đề báo cáo.
+ Bước 5: Tiếp theo, để chèn thêm hàng thì bạn bạn hãy chọn hàng nào đó => rồi chuột phải chọn: Insert
=> Row
=> Above(Below)
.
Tương tự đối với cột cũng vậy: Bạn chọn
Insert
=> và chọnColumn to the Right (Left)
+ Bước 6: Sau khi đã thêm hàng xong thì mình định nghĩa tên cho các cột tương ứng như hình bên dưới. Vậy là chúng ta đã định dạng chung cho báo cáo xong.
#2. Kết nối bảng đến cơ sở dữ liệu
Để có thể lấy được dữ liệu từ trong cơ sở dữ liệu và hiển thị lên báo cáo thì chúng ta cần tạo Data Source
và Data Sets
.
+ Bước 1: Đầu tiên mình sẽ tạo Data Sources
để kết nối tới cơ sở dữ liệu: Bạn chọn Data Explorer
=> Data Source
=> chọn New Data Source
như hình bên dưới.
+ Bước 2: Trong bài viết này mình sử dụng MySQL và kết nối thông qua JDBC
nên mình sẽ tích chọn: Create from a data source type in the following list
=> chọn JDBC Data Source
=> và chọn Next
như hình bên dưới.
+ Bước 3: Ban đầu các bạn sẽ phải thêm Driver, có nhiều cách để thêm. Ở đây mình sẽ tải trực tiếp file *.jar
lên.
Các bạn có thể tìm thấy file ở đây: https://mvnrepository.com/artifact/mysql/mysql-connector-java
Các bạn lưu ý là hãy chọn đúng phiên bản tương ứng với phiên bản của cơ sở dữ liệu nhé (hoặc cao hơn cũng được). Ví dụ ở đây mình đang dùng
MySQL 8.0.15
thì mình tải filemysql-connector-java-8.0.15.jar
tương ứng.
Cụ thể thì các bạn xem ảnh bên dưới để dễ hình dung hơn ha.
+ Bước 4: Tải lên connector rồi thì các bạn chọn Driver tương ứng => sau đó điền các thông tin kết nối tới cơ sở dữ liệu => và bấm Test Connection…
Nếu thông báo như hình bên dưới là kết nối thành công rồi đó.
+ Bước 5: Tiếp theo chúng ta sẽ tạo Data Sets: Bạn chọn Data Explorer
=> Data Sets
=> chọn New Data Set
+ Bước 6: Lựa chọn Data Source
các bạn vừa tạo ở bước trước. Data Set Type các bạn chọn: SQL Select Query
để sử dụng câu SQL SELECT
là câu lệnh truy vấn dữ liệu.
+ Bước 7: Bây giờ các bạn sẽ phải định nghĩa một câu query để lấy dữ liệu, ở đây mình lấy tất cả các trường thông tin từ bảng student
trong cơ sở dữ liệu của mình.
+ Bước 8: Sau khi định nghĩa xong câu query và bấm Finish
thì các bạn có thể xem trước (Preview) dữ liệu mà câu query lấy được (ở đây mình lấy tất cả bản ghi nên kết quả hoàn toàn giống với như trong cơ sở dữ liệu).
+ Bước 9: Okay, vậy là chúng ta đã lấy lên được dữ liệu. Tiếp theo chúng ta sẽ phải Binding
dữ liệu này vào báo cáo của chúng ta.
Quay lại báo cáo, các bạn bấm chọn vào bảng (table) mà các bạn muốn binding dữ liệu. Ở tab Layout
=> Binding
=> Chọn Data Set
như hình bên dưới.
+ Bước 10: Sau khi binding dữ liệu thì chúng ta sẽ kéo các trường tưng ứng từ Data Set sang các trường tương ứng trong Template như hình bên dưới.
+ Bước 11: Cuối cùng chính là bước kết xuất báo cáo. Ở đây mình kết xuất file Excel nên mình sẽ chọn như hình dưới. Ngoài ra còn rất nhiều định dạng file khác mà các bạn có thể lựa chọn.
Okay, sau khi kết xuất thì mình được một báo cáo dạng file Excel với dữ liệu được lấy từ cơ sở dữ liệu.
II. Lời kết
Vâng, như vậy là trong bài viết này mình đã cùng với các bạn tạo ra một báo cáo đơn giản dạng file Excel bằng cách sử dụng tiện ích Birt Report có kết nối và lấy dữ liệu từ cơ sở dữ liệu trong Eclipse rồi.
Thực tế thì các bài báo cáo mà chúng ta cần phải làm sẽ phức tạp hơn rất nhiều so với ví dụ mà mình đã thực hiện bên trên. Nhưng trong bài hướng dẫn này mình hi vọng những bạn mới tìm hiểu sẽ dễ dàng nắm bắt được cách tạo ra một báo cáo động về dữ liệu sử dụng Birt Report là như thế nào.
Nếu thấy bài viết hay thì đừng quên comment trong phần bình luận cho mình biết nhé. Hẹn gặp lại các bạn trong các bài viết tiếp theo nha !
CTV: Nguyễn Đức Cảnh – Blogchiasekienthuc.com