Các bước tạo 1 report (XLSX)

1. Các bước để tạo stored procedure

B1: Select * From Reports..L_DinhDangExcel Order By STT  ( bảng này là bảng tập hợp tất cả các định dạng bắt buộc phải có ).

B2: Nếu cần chỉnh sửa lại độ rộng cột, tạo bảng có 2 cột tên [Index] và [ColumnWidth] (tên cột phải chính xác). Trong đó: + [Index]: thứ tự cột muốn đặt lại độ rộng trên file excel (bắt đầu từ 1) + [ColumnWidth]: độ rộng cột + Ví dụ: CREATE TABLE #DoRongCot ( [Index] INT, [ColumnWidth] INT ) INSERT INTO #DoRongCot VALUES ( 1, 20 ), (4, 20), (5, 5).

B3: Trong mỗi bảng Nội dung nếu cần:

Định dạng cho dòng: Tạo thêm cột StyleSheet và chọn một kiểu trong bảng Reports..L_DinhDangExcel (là cột STT).

Merge ngang (merge nhiều cột): Tạo thêm 3 cột sau:

+ IsMerge (có merge dòng hay không).

+ StartCell (Cột bắt đầu merge. Ví dụ: ‘A,C’).

+ EndCell (Cột kết thúc merge. Ví dụ: ‘B,D’).

Định dạng riêng cho từng cell: Tạo thêm cột DinhDangCell, giá trị của cột có dạng [Tên cột chứa cell trên excel]-[Kiểu trong bảng L_DinhDangExcel (là cột STT)]. Ví dụ: ‘A-2,B-3’.

Merge dọc (merge nhiều dòng): Tạo thêm cột VerticalMerge. Giá trị của cột là số dòng muốn merge thêm vào. Khi tạo cột này vẩn giữ 3 cột IsMerge, StartCell, EndCell. Ví dụ nếu ta có: ‘A,B’ As StartCell, ‘A,B’ As EndCell, ‘2,2’ As VerticalMerge. Số lượng giá trị trong VerticalMerge phải bằng số lượng cột cần merge trong StartCell, EndCell.

Chỉnh chiều cao dòng: Tạo thêm cột RowHeight và thêm giá trị cho nó. – Cho vào Sheet cụ thề: Thêm cột có tên là Sheet. Có giá trị là string. Ví dụ: ‘1,3’ thì dòng nội dung sẽ xuất hiện trên Sheet 1 và 3.

Chỉnh khổ giấy Landscape khi in thì Select ‘Landscape’ trước khi Select bảng L_DinhDangExcel. Trên code C# cho bảng 0 tên Lanscape và bảng 1 tên Format.

Thục đầu dòng: Sử dụng cột “Indent” trong bảng L_DinhDangExcel.

2. Các bước để tạo solution C#

B1: Tạo 1 class library có các thành phần như sau:

B2: Viết nội dung cho class

– Kế thừa ServerShared.IReport.

– Load lên bảng “Select * From Reports..DinhDangExcel ” và đặt tên bảng là “Format”. Ngoài ra không đặt tên cho bảng nào nữa hết.

– Mở file excel template.

– Đổ nội dung excel vào.

3. Các lưu ý

Nếu thêm dòng vào bảng L_DinhDangExcel thì để ý STT mới thêm phải lớn hơn STT cũ lớn nhất trong bảng 1 đơn vị.

Sau khi hoàn thành việc thiết kế và binding data. Tiếp theo sẽ tạo dữ liệu trên table.

  • Tạo 1 record trong table Reports..L_Report, trong table này có 2 column name cần lưu ý là ProgIDDataProc

+ ProgID : là tên project của report, kèm theo tên file template của report

+ DataProc : tên stored procedure xử lý của report

  • Tạo record(s) trong table Reports..L_ReportParams, trong table này cần lưu ý những column name sau
    • Type : quy định control type để hiển thị trên phần mềm, theo như hình minh họa bên dưới, group box “Tham số” để nhập các tham số. Nếu Type = “Dropdown” thì control trên màn hình sẽ là lookupedit, tương tự nếu Type = “DateFrom” thì control sẽ là DateTimeEdit
    • Options: là tên Stored procedure để load dữ liệu vào control mà Type quy định