[SQL Server]設定報表匯出選項

[SQL Server]設定報表匯出選項

前一段日子處理過一個特別的需求,客戶家使用Reporting Service進行Excel匯出時,會造成記憶體的大量飆升,且記憶體不會很快的被釋放掉,但會出PDF則不會有相同的現象,這個現象詢問過微軟的技術經理後得到的結論是這是RS 2005在設計上的一個缺陷,匯出Excel時,會叫起Excel的巨集,開始進行資料的匯入,處理完後並不會立刻將所使用的資源進行釋放,如果這張報表有10000筆資料,則匯出後大約需要400MB左右的記憶體,多來兩次,Report Server大概就crash了,除了建議客戶大量的資料匯出改成用批次處理的方式外,也打算將Report上的Excel匯出功能關閉。

image

後來在網路上找到這個方法:

  • 在ReportServer的安裝路徑下找到rsreportserver.config,這個檔案是Report Server的組態設定檔

image

  • 找到Render這個Tag,看到Extension Name="Excel"的位置

<Extension Name="EXCEL"
Type="Microsoft.ReportingServices.Rendering.ExcelRenderer.ExcelRenderer,Microso
ft.ReportingServices.ExcelRendering"/>

改成

<Extension Name="EXCEL"
Type="Microsoft.ReportingServices.Rendering.ExcelRenderer.ExcelRenderer,Microso
ft.ReportingServices.ExcelRendering" Visible="false" />

經過此設定後,重新啟動報表服務,則Excel的選項將不會出現在下拉選單中了。

image

 

參考資料:http://weblogs.asp.net/jgalloway/archive/2006/12/12/reporting-services-add-a-logo-to-the-report-manager.aspx

以上的方法需修改設定檔,另一招更絕,直接把Toolbar關閉,一般我們啟動報表會看到這段Toolbar:

image

當我們在報表啟動的url中加上rc:Toolbar=false,我們就可以看到Toolbar不見了:

image

以上兩個小設定分享給大家。

游舒帆 (gipi)

探索原力Co-founder,曾任TutorABC協理與鼎新電腦總監,並曾獲選兩屆微軟最有價值專家 ( MVP ),離開職場後創辦探索原力,致力於協助青少年培養面對未來的能力。認為教育與組織育才其實息息相關,都是在為未來儲備能量,2018年起成立為期一年的專題課程《職涯躍升的關鍵24堂課》,為培養台灣未來的領袖而努力。