是否可以导出为CSV并且标题包含空格?
我需要将SSRS 2005报告导出为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://www.djcxy.com/p/68171.html上一篇: Is it possible to export to CSV and have the header contain spaces?