標籤:activereports visual studio 水晶報表 rdlc rdlx
常規的報表設計,如RDLC、水晶報表等,需要安裝Visual Studio,通過VS提供的報表設計介面來設計報表,通過VS設計報表對.NET開發人員而言非常方便,但是對於非開發人員,要安裝4G的一個VS,且需要一個License,則成本顯得有點高。本文提供另外一種方法,不使用VS也可以設計報表。
通過ActiveReports提供的免費報表設計師(綠色的exe可執行檔),我們也可以設計報表,下面就開始報表設計:
誰適合閱讀此文?
必要的環境
- 安裝了.NET Framework 4.0環境
- MS Office Access 2007及以上版本
第1分鐘:認識報表設計師
雙擊“GrapeCity.ActiveReports.Samples.EndUserDesigner.exe”,可開啟如下的報表設計介面
整體風格和Visual Studio,非常方便上手,尤其熟悉Visual Stuido介面。
本文採用地區報表來實現。
在地區報表中,提供了14個報表控制項,其中本文會用到6種控制項:(有關地區報表、頁面報表的區別,請參考)
- Label: 標籤用於顯示說明性文本,可以協助使用者描述顯示在報表中的資料。
- TextBox :文字框是一個基本的報表控制項,它允許直接顯示和編輯未格式化的文本。
- Picture:此控制項用於在報表中顯示影像檔,可以控製圖像大小等屬性。
- Line: 線以可視方式繪製邊界或反白報表中特定的地區。
- ReportInfo:ReportInfo 控制項允許您快速顯示頁碼、頁數和報表日期等資訊。
- Barcode:條碼是將寬度不等的多個黑條和空白,按照一定的編碼規則排列,用以表達一組資訊的圖形標識符。
第2鐘:配置資料來源和布局
下面這張圖是地區報表的資料對應說明,其中對應關係:資料庫中一條記錄對應報表的Detail一條資訊。
瞭解了資料對應關係後,我們開始進行報表設計,首先配置資料來源,我們這裡提供了Access關係型資料庫(在本文最下面)。
通過點擊報表設計師的Detail地區的資料庫表徵圖
可開啟如下的資料來源檢視:
配置完資料來源後,選擇DataSource1,右鍵添加資料集,即通過一條SQL語句,則可獲得一個DataTable類似的資料集對象。
本部落格使用的完整的SQL如下,資料來源可通過這個路徑下載 (下載附件後,解壓檔案,獲得NWind_CHS_Small.mdb檔案)
SELECT 產品.產品ID, 產品.產品名稱, 產品.供應商ID, 產品.類別ID, 產品.單位元量, 產品.單價, 產品.庫存量, 產品.訂購量,
產品.再訂購量, 產品.中止, 產品.圖片, 產品.產品描述, 類別.類別名稱, 類別.說明 AS 類別說明, 類別.圖片 AS 類別圖片,
供應商.公司名稱 AS 供應商, 供應商.連絡人姓名, 供應商.城市, 供應商.地址
FROM ((供應商 INNER JOIN
產品 ON 供應商.供應商ID = 產品.供應商ID) INNER JOIN
類別 ON 產品.類別ID = 類別.類別ID)
ORDER BY 供應商.供應商ID, 產品.類別ID DESC
自此,資料來源配置已經完成,完成了報表設計的入門,下面開始明確報表設計需求。
第3分鐘:報表設計需求
- 我們希望報表轉譯的結果是類似下面的布局,報表頭、報表資料詳情、報表尾,即整體風格和RDLC報表類似
- 同時,還可呈現二維碼、圖片展現格式、報表產生時間、報表頁面等資訊。
- 考慮到將來系統遷移的最低成本,我們希望可以在Winform、WPF、ASP.NET、HTML5等平台中能夠最低成本的複用---一次性精心設計的報表。
第4分鐘:拖動報表控制項設計報表
在報表設計師的底部增加了多個設計器按鈕,通過這些按鈕可以快速的訪問布局嚮導,為報表範本設計帶來更多便利操作。
自動對齊線(Snap Lines):在報表設計介面上拖動某個控制項,當該控制項與其它控制項(或者報表某個地區的邊界)對齊時,被拖動控制項和與之對齊的控制項(或者報表某個地區的邊界)之間將出現自動對齊線,讓使用者自由地布局控制項變得更加容易。
自動網格對齊(Snap to Grid):在報表設計介面上拖動某個控制項,該控制項將自動和與之最近的網格線進行對齊,該功能可以根據設定開啟或者關閉。
類似於Excel的自動滾動功能(Excel-like auto scrolling):在報表設計介面上拖動某個控制項,當拖動的地區超出了設計介面當前顯示的範圍時,設計介面會根據您拖動方向進行自動移動,直到報表設計介面的邊緣。
平移模式(Pan Mode):當切換到平移模式時會顯示一個手形的游標,按下滑鼠左鍵就可以自由拖動報表的設計介面。
自動尺寸線(Dimension lines):在報表設計介面上拖動控制項、改變控制項大小操作時,控制項邊緣會自動出現尺寸線,通過尺寸線可以清楚的知道控制項與報表邊界之間的距離。
報表控制項對話方塊(Report Control Dialogs):提供簡便的方法來設定報表控制項的相關屬性。
地區報表布局預設情況下顯示三個地區: 頁首、明細和頁尾。您可以添加或刪除頁首和頁尾,報表頭和報表尾,還可以添加 32 級的分組頁首和頁尾(在報表上單擊右鍵並選擇插入,可以插入報表頭/報表尾和分組頭/分組尾。)。將控制項拖這些地區中,以此來顯示報表資料。報表布局會被儲存為 RPX 格式。
依次從資料欄位,往報表上拖動欄位,如供應商名稱、連絡人、地址、城市等
對於Line、BarCode和Picture,則需要從左側的工具列拖入。
其中BarCode和Picture需要在屬性對話方塊修改資料---DataField欄位。
第5分鐘:預覽結果、列印、匯出
預覽查看報表結果的效果如下
匯出:在設計工具中,通過檔案---Export--可匯出多種檔案格式(HTML、PDF、Excel等)。
列印功能,通過工具列的列印按鈕直接列印
怎麼樣,是否有想動手設計報表的衝動?
綠色報表設計工具(解壓即可使用,含C#源碼)
資料庫(下載附件後,解壓檔案,獲得NWind_CHS_Small.mdb檔案)
線上參考文檔
另外,對這款綠色的報表設計師提供源碼,可供您和您的小夥伴再次定製,如添加公司logo等個人化需求。(源碼編譯則需要安裝ActiveReports安裝授權)
本文用的是C#.NET綠色版,如有需要VB.NET綠色設計器源碼的,請留言告之您的郵箱,單獨發給您。