標籤:
總報告設計,例如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檔案)
so=RECCNT&siteid=us%2Fdev&p=1&nq=NEW&qu=SELECT&IntlSearch=&boolean=PHRASE&ig=01&i=09&i=99" data-mce-href="http://search.microsoft.com/default.asp?
so=RECCNT&siteid=us%2Fdev&p=1&nq=NEW&qu=SELECT&IntlSearch=&boolean=PHRASE&ig=01&i=09&i=99" data-mce-style="color: #0000ff;">SELECT 產品.產品ID, 產品.產品名稱, 產品.供應商ID, 產品.類別ID, 產品.單位元量, 產品.單價, 產品.庫存量, 產品.訂購量,
產品.再訂購量, 產品.中止, 產品.圖片, 產品.產品描寫敘述, 類別.類別名稱, 類別.說明 so=RECCNT&siteid=us%2Fdev&p=1&nq=NEW&qu=AS&IntlSearch=&boolean=PHRASE&ig=01&i=09&i=99" data-mce-href="http://search.microsoft.com/default.asp?so=RECCNT&siteid=us%2Fdev&p=1&nq=NEW&qu=AS&IntlSearch=&boolean=PHRASE&ig=01&i=09&i=99" data-mce-style="color: #0000ff;">AS 類別說明, 類別.圖片
so=RECCNT&siteid=us%2Fdev&p=1&nq=NEW&qu=AS&IntlSearch=&boolean=PHRASE&ig=01&i=09&i=99" data-mce-href="http://search.microsoft.com/default.asp?so=RECCNT&siteid=us%2Fdev&p=1&nq=NEW&qu=AS&IntlSearch=&boolean=PHRASE&ig=01&i=09&i=99" data-mce-style="color: #0000ff;">AS 類別圖片,
供應商.公司名稱 so=RECCNT&siteid=us%2Fdev&p=1&nq=NEW&qu=AS&IntlSearch=&boolean=PHRASE&ig=01&i=09&i=99" data-mce-href="http://search.microsoft.com/default.asp?so=RECCNT&siteid=us%2Fdev&p=1&nq=NEW&qu=AS&IntlSearch=&boolean=PHRASE&ig=01&i=09&i=99" data-mce-style="color: #0000ff;">AS 供應商, 供應商.連絡人姓名, 供應商.城市, 供應商.地址
so=RECCNT&siteid=us%2Fdev&p=1&nq=NEW&qu=FROM&IntlSearch=&boolean=PHRASE&ig=01&i=09&i=99" data-mce-href="http://search.microsoft.com/default.asp?so=RECCNT&siteid=us%2Fdev&p=1&nq=NEW&qu=FROM&IntlSearch=&boolean=PHRASE&ig=01&i=09&i=99" data-mce-style="color: #0000ff;">FROM ((供應商
so=RECCNT&siteid=us%2Fdev&p=1&nq=NEW&qu=INNER&IntlSearch=&boolean=PHRASE&ig=01&i=09&i=99" data-mce-href="http://search.microsoft.com/default.asp?so=RECCNT&siteid=us%2Fdev&p=1&nq=NEW&qu=INNER&IntlSearch=&boolean=PHRASE&ig=01&i=09&i=99" data-mce-style="color: #0000ff;">INNER
so=RECCNT&siteid=us%2Fdev&p=1&nq=NEW&qu=JOIN&IntlSearch=&boolean=PHRASE&ig=01&i=09&i=99" data-mce-href="http://search.microsoft.com/default.asp?so=RECCNT&siteid=us%2Fdev&p=1&nq=NEW&qu=JOIN&IntlSearch=&boolean=PHRASE&ig=01&i=09&i=99" data-mce-style="color: #0000ff;">JOIN
產品 ON 供應商.供應商ID = 產品.供應商ID) INNER so=RECCNT&siteid=us%2Fdev&p=1&nq=NEW&qu=JOIN&IntlSearch=&boolean=PHRASE&ig=01&i=09&i=99" data-mce-href="http://search.microsoft.com/default.asp?so=RECCNT&siteid=us%2Fdev&p=1&nq=NEW&qu=JOIN&IntlSearch=&boolean=PHRASE&ig=01&i=09&i=99" data-mce-style="color: #0000ff;">JOIN
類別 so=RECCNT&siteid=us%2Fdev&p=1&nq=NEW&qu=ON&IntlSearch=&boolean=PHRASE&ig=01&i=09&i=99" data-mce-href="http://search.microsoft.com/default.asp?so=RECCNT&siteid=us%2Fdev&p=1&nq=NEW&qu=ON&IntlSearch=&boolean=PHRASE&ig=01&i=09&i=99" data-mce-style="color: #0000ff;">ON 產品.類別ID = 類別.類別ID)
ORDER so=RECCNT&siteid=us%2Fdev&p=1&nq=NEW&qu=BY&IntlSearch=&boolean=PHRASE&ig=01&i=09&i=99" data-mce-href="http://search.microsoft.com/default.asp?so=RECCNT&siteid=us%2Fdev&p=1&nq=NEW&qu=BY&IntlSearch=&boolean=PHRASE&ig=01&i=09&i=99" data-mce-style="color: #0000ff;">BY 供應商.供應商ID, 產品.類別ID
so=RECCNT&siteid=us%2Fdev&p=1&nq=NEW&qu=DESC&IntlSearch=&boolean=PHRASE&ig=01&i=09&i=99" data-mce-href="http://search.microsoft.com/default.asp?so=RECCNT&siteid=us%2Fdev&p=1&nq=NEW&qu=DESC&IntlSearch=&boolean=PHRASE&ig=01&i=09&i=99" data-mce-style="color: #0000ff;">DESC
自此,資料來源配置已經完畢,完畢了報表設計的入門,以下開始明白報表設計需求。
第3分鐘:報表設計需求
- 我們希望報表轉譯的結果是相似以下的布局,報表頭、報表資料詳情、報表尾,即總體風格和RDLC報表相似
- 同一時候,還可呈現二維碼、圖片展現格式、報表產生時間、報表頁面等資訊。
- 考慮到將來系統遷移的最低成本,我們希望能夠在Winform、WPF、ASP.NET、HTML5等平台中能夠最低成本的複用---一次性精心設計的報表。
第4分鐘:拖動報表控制項設計報表
在報表設計師的底部添加了多個設計器button。通過這些button能夠高速的訪問布局嚮導,為報表範本設計帶來很多其他便利操作。
自己主動對齊線(Snap Lines):在報表設計介面上拖動某個控制項,當該控制項與其他控制項(或者報表某個地區的邊界)對齊時,被拖動控制項和與之對齊的控制項(或者報表某個地區的邊界)之間將出現自己主動對齊線,讓使用者自由地布局控制項變得更加easy。
自己主動網格對齊(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等)。
列印功能。通過工具列的列印button直接列印
怎麼樣,是否有想動手設計報表的衝動?
綠色報表設計工具(解壓就可以使用,含C#原始碼)
資料庫(下載附件後,解壓檔案,獲得NWind_CHS_Small.mdb檔案)
線上參考文檔
另外,對這款綠色的報表設計師提供原始碼,可供您和您的小夥伴再次定製,如加入公司logo等個人化需求。
(原始碼編譯則須要安裝ActiveReports安裝授權)
本文用的是C#.NET綠色版,如有須要VB.NET的原始碼綠色設計,請留言,宣布你的郵箱,單獨發送給您。
著作權聲明:本文部落格原創文章,部落格,未經同意,不得轉載。
無需Visual Studio,5容易的 - 分為報告