[英]Is there any way to ask a ReportViewer if the result of the query inside a Report will yield more than 65k rows?
[英]ReportViewer - How can I render Excel files with more than 65,000 rows?
我正在使用ReportViewer
控件將報告數據導出到Excel。 一切正常,除非當我嘗試導出具有約65,000行以上的數據時,它將引發異常。
我有什么變通辦法可以將報告呈現為多個工作表? 謝謝!
Excel 2005和更早版本每張紙僅支持65536行。
Excel 2007和2010支持每張紙1048576行 。
就是說,ReportViewer導出到Excel的限制可能只有65536。以CSV
格式導出將幫助您解決此限制。
為了克服限制錯誤,RDLC提供了將頁面分成多頁的選項。
使用Adventure Works數據庫,使用Report Viewer 10.0創建一個示例RDLC報告,該數據庫顯示了66000條以上的記錄。
通過應用下面在RDLC報告中提到的步驟,可以輕松地將大數據導出到多張工作表中。
打開RDLC,然后選擇表的數據行。 右鍵單擊它,選擇“添加組”,然后選擇“父組”。
在這一步中,您應該獲得一個Tablix組窗口。 輸入下面在“分組依據”框中提到的功能,然后單擊“確定”。
=Int((RowNumber(Nothing))/65520)
在下一步中,在RDLC報告的底部,您將找到“行組”窗格。 在這里,右鍵單擊組名稱,然后選擇“組屬性”。
您將獲得一個組屬性窗口。 我們可以在這里給一個適當的組名。
在左窗格的分頁符中選中“在組的每個實例之間”選項。
接下來,在“排序”部分,刪除“按功能排序”。
如果您在執行上述步驟后觀察報告,則會添加Group1列,如下所示。 選擇添加刪除列。
現在,保存並運行報告並導出為Excel格式。 如果一切正常,則數據應顯示在多張紙上。
如果我們在工作表2中觀察到,報告標題將不會顯示。 為了顯示標題,添加下面提到的代碼。
在XML編輯器中打開RDLC報告。 將下面提到的節點添加到TablixMembers節點的第一個TablixMember節點上。
<KeepWithGroup>After</KeepWithGroup> <RepeatOnNewPage>true</RepeatOnNewPage>
保存,重新運行報告並導出到Excel。 您可以在所有工作表的標題中觀察多工作表中的數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.