水晶報表製作執行個體,vs水晶報表執行個體
水晶報表貌似是比較“古老”的報表技術了,它是由SAP公司開發的報表產品,通過安裝開發包可以在VS中整合Crystall Reports設計器。通過可視化的設計和操作,可以完成報表的製作。正好最近有空幫朋友一個小忙,他也提到了使用水晶報表技術完成報表的批量列印和匯出。N年不用水晶報表了,正好練練手。
開發工具我們選用目前主流的VS2010旗艦版。VS2010預設是不整合水晶報表的,需要安裝開發包CRforVS_13_0.exe。這裡我提供一個,方便大家下載安裝。
http://yunpan.cn/cVzPeMMWnJqFv 訪問密碼 238a
下面將示範在asp.net下如何使用水晶報表開發一個報表應用程式。該應用程式實現了從access資料庫中讀取相關資訊(包含圖片),並在我們設計的報表範本中顯示。最終實現批量列印、匯出等準系統。
首先建立一個asp.net項目,然後建立Crystal Reports檔案。
我們建立一個空白報表。
然後我們就可以在這張空白報表中設計我們想要的東西了,如所示:
右鍵資料庫欄位,選擇資料庫專家。
在彈出的對話方塊中,建立新串連,選擇我們的access資料庫。
然後就可以在右邊的資料庫的欄位列表中選擇相應顯示的欄位,拖動到右邊的設計器相應位置(刪除掉頁首部分重複的字串文字框)。
但是由於照片資訊存放的是圖片的位元據,直接拖動後在設計器中是可以顯示的,但是網頁不能正常顯示,這時候需要注意設定一下Web.config。添加如下節點:
<httpHandlers> <add path="CrystalImageHandler.aspx" verb="GET" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" /> <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false" /> <add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" /> </httpHandlers>
之後運行才可以直接顯示資料庫中的圖片了。
最後運行項目之前,還有幾個細節需要交代一下:
1、報表每頁顯示不完整,最後老是多出一頁空白頁
這個問題的產生是因為頁面有多餘的部分沒有去除,需要做如下設定:
2、字型對齊等如何設定
數字不顯示逗號
準備工作完畢,我們就可以在頁面中直接顯示了。
直接在頁面中拖動一個CrystalReportViewer控制項即可。它會幫我們自動做好很多事情,包括引用相應的dll等等。最後在頁面後台寫如下代碼即可。
protected void Page_Load(object sender, EventArgs e) { ReportDocument rd = new ReportDocument(); rd.Load(Server.MapPath("~") + "CrystalReport1.rpt"); rd.SetDataSource(xxx);//xxx為你的資料來源dataset this.CrystalReportViewer1.ReportSource = rd; }最後看一下:
批量列印、匯出(word、excel)都妥妥的,水晶報表在這方面真是既省心又省力啊。