我需要將SSRS 2005報告導出爲CSV,其中列標題包含空格。是否可以導出爲CSV並且標題包含空格?
當前,CSV標題列標題是從textBox屬性名稱派生的,並使用下劃線而不是空格。還有另一種更好的方法嗎?
例如,目前我有:
- SSRS報告標題:有效日期
- 文本框名稱:EFFECTIVE_DATE
- CSV標題:EFFECTIVE_DATE
我想有:
- SSRS Report Head ER:有效日期
- 文本框名稱:EFFECTIVE_DATE
- CSV標題:有效日期
我需要將SSRS 2005報告導出爲CSV,其中列標題包含空格。是否可以導出爲CSV並且標題包含空格?
當前,CSV標題列標題是從textBox屬性名稱派生的,並使用下劃線而不是空格。還有另一種更好的方法嗎?
例如,目前我有:
我想有:
看起來像它不可能的,多一點挖我發現下面的堆棧溢出後:
有一個解決方案。您需要在SSRS屬性中選擇按F4, 選擇屬性,其中選擇您要重命名的特定文本框。例如,讓Textbox12成爲Effective_Date。解決方案:使用EffectiveDate重命名文本框。
我自己解決了這個問題,通過自定義內置的CSV渲染擴展使它使用文本框的ToolTip屬性作爲列標題。 ToolTip屬性將允許空格和其他標點符號,因此可以根據需要靈活地命名列。這也有一個很好的副作用,就是給你一個相關的工具提示,提醒你在一個很長的報告裏你看到的是哪個列,而這個列可能不可見!
注意:在設計器中,您設置數據行的文本框的工具提示,而不是標題的文本框。
這並不容易實現,因爲所有渲染擴展都標記爲密封類。爲了實現這一點,我使用了反編譯器,並將與CSV渲染相關的所有代碼抽取到我自己的項目中。然後改變寫入標題文本的行,從文本框的ToolTip屬性中讀取。
名爲CsvColumnHeaderHandler你正在尋找方法的類OnTextBoxBegin,特別是行:
this.m_visitor.WriteValue(textBox.DataElementName, this.m_excelMode);
簡單地改變這一閱讀:然後
this.m_visitor.WriteValue(textBox.ToolTip, this.m_excelMode);
這個自定義呈現擴展插件可以部署到報表服務器並且完美運行。
你不需要知道如何爲此編寫一個渲染擴展,因爲正如我所說的,我只是複製(反編譯)了代碼。但是,您需要知道如何部署自定義渲染擴展程序集。有關部署的更多信息,請訪問:https://msdn.microsoft.com/en-us/library/ms154516.aspx
解決了此問題。您可以在此鏈接http://stackoverflow.com/a/35406795/5929210中找到解決方案 –