2013年9月26日 星期四

RDLC匯出的 Excel 有 Footer 嗎?

使用  RDLC 設計報表,ReportViewer 都會提供匯出的工具,讓我們可以匯出成 Excel 、Word、PDF 等檔案類型。但最近發現,當我在報表上使用了頁首(Page Header) 與頁尾(Page Footer) 時,匯出到 Excel 並將檔案打開後,我的頁尾竟然不見了!



仔細的比較所匯出的 Excel 會發現,原先我設定的頁首部份,在 Excel 上會呈現「凍結窗格」的效果,下面的內容則是我報表 Body 的部份。

下圖依序分別是 ReportViewer 所呈現的畫面,跟我在拉報表時的配置是一樣的。有 Header、Body、Footer。接下來的則是匯出 Excel 後的結果。可以看到黑黑的一條橫線,就是凍結視窗的效果,我的 Header 被凍結了。但是 Footer 卻消失了。



就像小孩子離家出走,當父母的正著急地找啊、盼著的,再看到網路上許多路人甲乙丙丁,都在問 「RDLC 使用頁尾,匯出 Excel 之後,頁尾會消失的問題」,更加添了許多憂愁與淡淡的無奈。但往往不經意的驀然回首,Footer就在那燈火闌珊之處。我真的只是不小心,不小心按了預覽列印,Footer 就回來了。原來,所匯出的 Excel,必須在預覽列印或列印時,才會顯示 Footer的內容啊!


除此之外,微軟也提到比較建議頁首該放什麽、頁尾又該放什麽。以下節錄了官方的說明:

當定義以 Excel 轉譯延伸模組為目標的報表之頁首和頁尾時,請遵循下列準則來得到最佳結果:
※ 利用頁尾來顯示頁碼。
※ 利用頁首來顯示影像、標題或其他文字。請勿將頁碼放在頁首。

在 Excel 中,頁尾的配置會受到限制。如果您在頁尾定義了包括複雜報表項目的報表,當在 Excel 中檢視報表時,頁尾不會依照您預期的方式來處理。

所以,頁尾部份,真的只能放比較簡單的配置,否則,會如官網所說,「不會依照您預期的方式處理喔」。

參考:在報表中加入頁首和頁尾 (Visual Studio 報表設計工具)

沒有留言:

張貼留言