關於報表以及finereport報表軟軟體

2021-04-02 22:29:52 字數 2436 閱讀 3755

簡單的說:報表就是用**、圖表等格式來動態顯示資料,可以用公式表示為:「報表= 多樣的格式 + 動態的資料」。

在沒有計算機以前,人們利用紙和筆來記錄資料,比如:民間常常說的豆腐帳,就是賣豆腐的每天將自己的賣出的豆腐記在乙個本子上,然後每月都要彙總算算。這種情況下,報表資料和報**式是緊密結合在一起的,都在同乙個本子上。資料也只能有一種幾乎只有記帳的人才能理解的表現形式,且這種形式難於修改。

當計算機出現之後,人們利用計算機處理資料和介面設計的功能來生成、展示報表。計算機上的報表的主要特點是資料動態化,格式多樣化,並且實現報表資料和報**式的完全分離,使用者可以只修改資料,或者只修改格式。

excel、word等編輯軟體,資料庫軟體和報表軟體之間的區別

excel、word等編輯軟體:它們可以做出很複雜的報**式,但是由於它們沒有定義專門的報表結構來動態的載入報表資料,所有這類軟體中的資料都是已經定義好的,靜態的,不能動態變化的。它們沒有辦法實現報表軟體的「資料動態化」特性。

資料庫軟體:它們可以擁有動態變化的資料,但是這類軟體一般只會提供,最簡單的**形式來顯示資料。它們沒有實現報表軟體的"格式多樣化"的特性。

報表軟體,它們需要有專門的報表結構來動態的載入資料,同時也能夠實現報**式的多樣化。

根據報表的繪製方式,報表工具大致可以分為sql畫布方式,cell單元格方式和兩者結合型:

sql畫布方式報表工具的特點是將報表水平分割成若干個區域,在各個區域上放置報表元件,報表元件位置可以是任意的,各元件可以互相重疊。畫布式報表工具的優點 是可以做到視覺化資料繫結,元件位置自由。缺點是插入列、元件對齊困難,畫**線經常出現線與線之間的錯開現象。這種報表只是很好的解決了"報"的問題, 但對於"表"的問題依然存在。比較著名的畫布式報表工具主要有crystalreport、fastreport等。

cell單元格式報表工具,是將報表看作是由一系列連續的單元格組成的區域。要改變報表元件(一般是文字或圖形)的位置,只能通過改變行高列寬方式進行,元件之間 不能重疊,單元格可以合併。單元格式報表工具的優點是畫線,插入列,多行列標題繪製非常方便,但格仔中的動態資料繫結,往往需要手寫公式來進行。這種報表 只是很好的解決了"表"的問題,但對於"報"的問題依然存在。f1book是一款比較著名的單元格式報表工具。

兩者結合型報表工具,融合上面兩種報表工具的優點,使使用者可以視覺化地動態繫結資料,也可以象excel一樣來畫線,從而大大提高了報表設計的效率。 finereport是屬於這種兩者結合型別的報表。

為了更好的以多樣的格式來顯示動態的資料,finereport提供了下面幾種具體的報表型別。(下面所有型別的報表都實現了com.fr.report.report介面):

分組報表 - com.fr.report.groupreport

這是最基本,最常用的報表型別. 可以對資料來源的資料進行分組, 排序, 條件, 彙總, 求和, 求平均等等處理. 最重要的是它提供對超大量資料(支援數百萬行以上資料)的快速分頁顯示和列印。

復合報表 - com.fr.report.compositereport

復合報表就象乙個容器,可以在其中放置乙個或多個復合元素(分組表和交叉表是finereport預先提供的復合元素,當然也可以通過api建立新的復合元素)。它可以非常容易的實現對多個資料來源的支援。不過復合報表有個缺點:當資料量非常的大的時候,報表分頁的速度會慢些。

分組表:分組表是finereport內建的一種復合元素,需要被加到復合報表中顯示;它的功能和分組報表的功能類似,也可以對資料來源進行分組、排序、條件等等處理,它的缺點是當資料來源包含超大量資料的時候,分頁顯示和列印的速度會比較慢。

交叉表:交叉表是finereport內建的一種復合元素,需要被加到復合報表中顯示;它是列數和行數都不固定的報表,列和行的資訊完全來自資料來源中某列的彙總,可以定義交叉表的列頭、行頭,以及顯示的資料資訊。

電子** - com.fr.report.spreadsheet

電子**只提供類似於excel的格仔功能,和對應的swing控制項com.fr.report.gui.spreadsheetpane一起做為電子**控制項(spreadsheet是spreadsheetpane的資料模型),由於電子**相對分組報表和復合報表來說,稍簡單一些,完全用程式的方式來建立一些報表時,常常用電子**類。

同時它還有另外乙個比較廣的應用:由於swing本身提供的jtable控制項功能太弱了, 而實際應用中常常需要乙個功能更強大的swing**控制項,這個時候就可以試試這個spreadsheetpane電子**控制項。它除了提供基本的列, 行的**功能外,還提供圖表等懸浮元素的功能,自動分頁列印, 從excel檔案輸入和輸出到pdf, excel等檔案當中的功能, 等等...在finereport自帶的demo中,我們已經利用這個電子**控制項實現了財務軟體需要用到的記帳憑證等功能。

關於XtraReport報表分組

現在有個報表是要顯示物資目錄明細 要按物資品種 即分類的意思 來顯示對應的物資。01001010 010010100001 01002010 010020100001 010020100002 010020100003 010020100004 rptwzmlmxbbmaster 物資目錄明細報表分...

EAS個別報表分析以及如何取個別報表資料

檢視 1.檢視實現取數,此檢視是由兩個檢視合成,乙個檢視針對專案和資料檢視 create or replace view ys reportitemdata as select yrdn.companycode as companycode,公司編碼 yrdn.companyname as comp...

關於統計報表常用sql

1 根據條件查總數 select count all sum,if sum if problem state in 1,2 1,0 is null,0,sum if problem state in 1,2 1,0 problem num,if sum if problem state 3,1,0 ...