jasperreports初級中文教程:[4]報表設計?

本章介紹如何設計一個JasperReport。下面的步驟將在本章中:

· 建立一個JRXML報表模板。

· 預覽XML報表模板。

建立一個JRXML報表模板

建立JRXML檔案,該檔案是jasper_report_template.jrxml使用文字編輯器,並儲存此檔案按照我們的環境設定,在 C:\tools\jasperreports-5.0.1\test 。

country

name

height="15"backcolor="#70A9A9"/>

verticalAlignment="Middle">

Country

verticalAlignment="Middle">

Name

height="14"backcolor="#E5ECF9"/>

verticalAlignment="Middle">

$F{country}

verticalAlignment="Middle"/>

$F{name}

下面是在上述報表模板主要欄位的詳細資訊:

· : 這是空的(因為我們傳遞的資料通過Java Beans)。通常包含以檢索報表結果的SQL語句。

· : 此元素用於從資料來源或查詢資料對映到報表模板。name是重複使用到報表主體(它們大小寫敏感)。

· : 此元素的對映欄位名稱與XML檔案中的相應元素。

· : 這個定義不依賴於任何資料來源,變數,引數或報表表示式靜態文字。

· : 這定義結果欄位的外觀。

· $F{country}: 這是一個包含結果的預定義欄位的標籤 的變數的值。

· : 包含顯示在報表中的資料。

一旦報表設計已準備就緒,將其儲存在C:\ 目錄。

預覽XML報表模板

有提供的實用工具net.sf.jasperreports.view.JasperDesignViewer在JasperReports的JAR檔案,這有助於預覽報表設計,而無需編譯或填充它。此實用程式是一個獨立的Java應用程式,因此可以使用ANT執行。

讓我們來寫一個Ant目標viewDesignXML檢視JRXML。因此,讓我們在C:\tools\jasperreports-5.0.1\test目錄建立和儲存build.xml(應放置在JRXML在同一個目錄下)。這裡是build.xml檔案:

to preview the JXML report design.">

fork="true">

接下來,讓我們開啟命令提示符並轉到build.xml檔案放置的目錄。執行命令ant(由於viewDesignXML是預設的目標)。輸出如下:

C:\tools\jasperreports-5.0.1\test>ant

Buildfile: C:\tools\jasperreports-5.0.1\test\build.xml

viewDesignXML:

[java] log4j:WARN No appenders could be found for logger

(net.sf.jasperreports.engine.xml.JRXmlDigesterFactory).

[java] log4j:WARN Please initialize the log4j system properly.

同為比較常用的報表工具,FineReport的報表製作不需要XML模板,FineReport中所有的報表程式碼細節被隱藏,呈現出的是是視覺化的設計過程,以行式報表為例,具體如下:

行式報表—資料縱向擴充套件

1.描述

行式報表即清單式明細表,是最常見也是最簡單的報表樣式,如下圖效果:

行式報表利用了報表當中的縱向擴充套件屬性,展現了一個列表式的表格,該節通過介紹行式報表的實現過程來體驗資料的擴充套件。

2.製作步驟

2.1準備資料

資料準備包括兩步,準備資料連線和資料集,FineReport安裝exe的時候會內建一個名為FRDemo的資料連線,連線的是工程下的一個WebReport的ACCESS資料庫,接下來文件中所有的示例資料全部來源於該資料庫。

連線資料庫FRDemo,我們使用內建資料庫表訂單來製作一張訂單列表。

新建工作薄,新增資料集ds1,SQL語句為SELECT * FROM 訂單。

2.2模板設計

· 表樣設計

根據實際情況設計表樣,如下圖:

· 欄位繫結

根據表樣中的欄位標題將資料集中的欄位拖曳至相應單元格中,如下圖:

· 資料顯示方式

FineReport資料顯示有3種方式:列表、分組和彙總。

列表:如上效果圖所示,即資料以列表的方式展示,不做任何分組處理;

分組:指後面的單元格會根據前面的單元格的資料,進行資料過濾分組,合併相同項顯示;

彙總:指對單元格中的資料進行彙總計算,彙總包括求和、平均、最大值、最小值和個數,只針對單元格中欄位時數值型別的單元格。

注:預設的資料顯示方式為分組,其每種方式的效果樣式請檢視資料顯示方式。

在效果圖中看到行式報表是以列表的方式展示的,故需設定訂單ID欄位的資料顯示方式設定為列表。

注:只需要將最左邊的單元格訂單ID的顯示方式設定為列表即可,在父子格中介紹了,單元格會預設將其左側縱向擴充套件的單元格作為父格,那麼A2是B2的父格,B2是C2的父格,以此類推,經過資料傳遞,可以看到所有的單元格的父格均是訂單ID所在的A2單元格,所以只需要將A2的資料顯示方式設定為列表,其他的單元格會跟隨該單元格來顯示資料。

· 單元格樣式設定

由於資料庫中運貨費的是小數形式,為了整齊美觀,可設定其資料格式保留兩位小數,選中F2單元格,在右側下方的單元格屬性表中選擇單元格屬性表-樣式,在格式裡面選擇數字,並設定其保留兩位小數,如下圖:

單元格樣式的詳細介紹請檢視資料顯示樣式

2.3儲存併發布報表

教程, 資料, 中文, 報表,
相關問題答案