2008-10-28 54 views
4

我們有相對簡單的Reporting Services報告,我們的用戶通常會將其導出到Excel中。我注意到Excel導出的文件看起來非常大。如果我打開其中一個文件,只需單擊「保存」,而不進行任何更改,文件大小就會減少到原來大小的一半。有沒有其他人遇到這個問題,並且有一個已知的解決方法?是什麼導致Excel導出SQL Server Reporting Services產生異常大的文件?

+0

什麼版本的Reporting Services您使用的是?我沒有看到這種行爲,但該版本可以幫助我一個理由/修復。謝謝。 – 2008-11-03 02:16:17

+0

SQL Server Reporting Services 2005 SP2 – 2009-03-27 00:04:18

+0

FWIW,也許毫不奇怪,這似乎不會發生在SSRS 2014中......實際上,即時重新保存會使文件變得更大! – 2016-06-24 11:20:22

回答

2

您已經提到該報告相對簡單,但這一點很重要。導出到Excel將花費非常多的時間來嘗試和維護報表的外觀。

如果您有許多不同的邊框或顏色(特別是如果報表中的數據確定不同的格式),則會使文件膨脹。

此外,還要檢查導出的工作表中是否創建了很多非常小且不尋常的大小的列。導出這樣做是爲了嘗試使Excel中的對齊與原始報表匹配。

請嘗試將您的報告重新創建爲不含格式或頁眉/頁腳的基本表格,然後查看是否可以重現該問題。如果Excel的行爲是可以接受的,那麼添加每一段格式,直到它出錯。請讓我們知道你找到了什麼。

1

我沒有即時的解決方案,但Excel中的常見問題是文件膨脹,因爲一個/部分/所有工作表都保存了所有64K行而不是正在使用的行。 Excel中的修復方法是選擇所有未使用的較低行,並刪除它們,然後保存電子表格,關閉並重新打開。因此,我會追求在導出時保存額外行的角度,並查看是否有辦法阻止這種情況發生。

+1

謝謝蘭斯。我考慮過。一旦我打開文件並保存而不改變任何內容,文件的大小就減少到大約一半。之後,我試着刪除多餘的列和行,但這種更改對大小沒有影響。 – 2008-11-07 13:22:56

0

導出到Excel時使用什麼工具?

我還設法通過將Excel工作表中的行復制到另一個工作表,然後刪除原始工作表來減少行數。

您也可以嘗試僅複製工作表中的數據,並將其粘貼到新的Excel工作簿(文件)中。

-1

可能是我很晚纔回答你的問題。以下是導出爲CSV的解決方案。

您需要爲設計器中的字段(不是列名)提供一個您想要查看的名稱作爲列標題。

默認情況下,所有文本標題都會作爲單獨的列與表列一起導出,並確保您使用要查看的名稱在屬性中命名設計名稱。

關於選項DataElementOutput的另一個重要事項是設置爲Auto,意味着它將被導出。如果您不希望將其導出,則可以更改它。

最後但並非最不重要的事情......導出數據後,看起來很亂。您需要選擇整個第一列,然後轉到Data tab - >convert text to column - >use the delimiter作爲逗號並說Finish。這應該可以解決你的問題。

0

我有導出的Excel文件需要打開並且打開時間過長的問題,並且每次單擊某個單元格時都會停止響應。

此外,額外和合並列將出現在導出的Excel文件中。

解決的辦法是確保我的標題文本框與其正下方的數據表中列的開始和結束對齊。一旦兩者對齊,導出的Excel電子表格中就不再有額外的列,並且性能恢復正常。

下面是幫助我理解這個問題的參考: http://www.codegur.press/12747988/issue-report-export-to-excel-in-rdlc-report