本章介紹如何設計一個JasperReport。下面的步驟將在本章中:
· 建立一個JRXML報表模板。
· 預覽XML報表模板。
建立一個JRXML報表模板
建立JRXML檔案,該檔案是jasper_report_template.jrxml使用文字編輯器,並儲存此檔案按照我們的環境設定,在 C:\tools\jasperreports-5.0.1\test 。
height="15"backcolor="#70A9A9"/>
verticalAlignment="Middle">
verticalAlignment="Middle">
height="14"backcolor="#E5ECF9"/>
verticalAlignment="Middle">
$F{country}
verticalAlignment="Middle"/>
$F{name}
下面是在上述報表模板主要欄位的詳細資訊:
·
·
·
·
·
· $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儲存併發布報表