默认情况下,csv 将文本框名称作为列的 csv 标题名称。文本框不允许有空格。
如何制作与 csv 文本框不同的标题?
导出到 csv 时,有没有办法在标题中显示逗号?
注意:解决方案只能针对一份报告;不是全球性的。
默认情况下,csv 将文本框名称作为列的 csv 标题名称。文本框不允许有空格。
如何制作与 csv 文本框不同的标题?
导出到 csv 时,有没有办法在标题中显示逗号?
注意:解决方案只能针对一份报告;不是全球性的。
列名来自 DataElementName 属性,如果为空,则来自 Name 属性。不幸的是,不允许逗号或引号。
这里有一篇博文:
关于如何更改 csv 导出的配置文件中的设置。这些是全球性的变化。可用的属性列表在这里:
http://msdn.microsoft.com/en-us/library/ms155365.aspx
这些都不允许你需要的空间,或者我目前正在尝试实现的列名的引用。对不起。
简而言之,不,这是不可能的。
导出到 CSV 文件时来自SSRS 2008 列问题:
对于 csv 导出,列的标题由
DataElementName
实际包含数据的文本框的属性确定。如果DataElementName
用户未明确设置该属性,则 DataElementName 会自动默认为该textbox.Name
属性的值。话虽如此,我相信您会遇到这个问题,因为 RDL 有一个限制,即 a
reportItem.Name
和reportItem.DataElementName
property 都必须是CLS-compliant identifiers。"Phone #"
,等标题"Other Name(s)"
不符合 CLS。您可以通过在 BIDS 或 RB 中打开报告并尝试将包含数据的文本框的 DataElementName/Name 属性设置为这些名称来验证这一点。
您将收到一条错误消息,其中指出以下内容:
Property Value is not valid. Specify a valid name. The name cannot contain spaces, and it must begin with a letter followed by letters, numbers, or the underscore character (_).
有一个关于此的 Microsoft Connect 问题,但不幸的是,它看起来不会被处理。
请参阅:DataElementName 属性表达式的使用(用于 CSV 导出)
此解决方案有效:https ://stackoverflow.com/a/32110072/674237
总之:
此解决方法将允许您在标题中放置您想要的任何值。
将以下查询参数附加到您的 url:
#
- [网址]&rs:format=CSV&rc:FieldDelimiter=%23
;
- [网址]&rs:format=CSV&rc:FieldDelimiter=";"
不确定您是否可以直接从报告管理器执行此操作,而无需在某处更改配置文件
更新:重读后,您是否从这样的过程中返回列标题?
SELECT tbl.colname [my column name, some text],
tbl.col2 [another, col]
方括号将允许您转义字符。
默认情况下,从<Name>
字段中提取 Csv、Dbf 和 Xml 的列名。
<Tag>
通过在 *.mrt 文件的字段中为每种格式添加适当的名称来解决此问题。例如:
<Name>Txt_InternalName</Name>
<Tag>CSV:"Name for Csv"; DBF: "Name for DBF"; XML: "Name for Xml"; Default: "Default Name for Csv Dbf Xml"</Tag>
它还解决了标头中不符合 CLS 的标识符的问题