<input type="button" onclick="$find('ReportViewer1').exportReport('PDF');" value="匯出PDF" /> /*ReportViewer1為控制項id*/ /*如果因為套用MasterPage導致ReportViewer1名稱亂掉的話,請嘗試<%= ReportViewer1.ClientID %>來取得該控制項id*/
而在ReportViewer的元件中,有一個屬性叫做【ShowToolBar】,你可以設定為false,則在呈現的時候ToolBar則會整個隱藏,如下圖
ShowToolBar=True的情形
ShowToolBar=False的情形
不過如果你捨不得將整個ToolBar都隱藏的話,在ReoprtViewer的屬性中有一個部份是針對ToolBar來做細微設定,如下圖
如果只想要隱藏匯出功能的話,可以把設定ShowExportControls=False 即可,設定完之後記得把剛剛的ShowToolBar=False -> ShowToolBar=True,則出現結果如下圖
當把匯出的選項從Toolbar關掉之後,如果需要自己撰寫匯出的功能其實也很簡單,有興趣可以參考LocalReport.Render 方法,我們在該aspx頁面中加入一個Button來產生excel,然後針對其撰寫Click事件之程式碼如下
01.Warning[] warnings;02.string[] streamids;03.string mimeType;04.string encoding;05.string extension;06. 07.byte[] bytes = ReportViewer1.LocalReport.Render(08."Excel", null, out mimeType, out encoding, out extension,09.out streamids, out warnings);10. 11.Response.Clear();12.Response.AddHeader("Content-Disposition", "attachment; filename=sample.xls");13.Response.AddHeader("Content-Length", bytes.Length.ToString());14.Response.ContentType = "application/octet-stream";15.Response.OutputStream.Write(bytes, 0, bytes.Length); 另一個產生Pdf的按鈕事件之程式碼如下
01.Warning[] warnings;02.string[] streamids;03.string mimeType;04.string encoding;05.string extension;06. 07.byte[] bytes = ReportViewer1.LocalReport.Render(08."Pdf", null, out mimeType, out encoding, out extension,09.out streamids, out warnings);10. 11.Response.Clear();12.Response.AddHeader("Content-Disposition", "attachment; filename=sample.pdf");13.Response.AddHeader("Content-Length", bytes.Length.ToString());14.Response.ContentType = "application/octet-stream";15.Response.OutputStream.Write(bytes, 0, bytes.Length);再次瀏覽該頁面,如下
分別點選【Export Excel】及【Export Pdf】按鈕,則頁面會各自出現另存新檔畫面,我們將檔案儲存下來之後,觀看excel及pdf之結果如下
Excel







沒有留言:
張貼留言