6

默认情况下,csv 将文本框名称作为列的 csv 标题名称。文本框不允许有空格。

如何制作与 csv 文本框不同的标题?
导出到 csv 时,有没有办法在标题中显示逗号?

注意:解决方案只能针对一份报告;不是全球性的。

4

5 回答 5

3

列名来自 DataElementName 属性,如果为空,则来自 Name 属性。不幸的是,不允许逗号或引号。

这里有一篇博文:

http://www.behindthecode.net/Blog/post/2008/01/29/How-to-modify-Reporting-Services-CSV-export-Behavior.aspx

关于如何更改 csv 导出的配置文件中的设置。这些是全球性的变化。可用的属性列表在这里:

http://msdn.microsoft.com/en-us/library/ms15536​​5.aspx

这些都不允许你需要的空间,或者我目前正在尝试实现的列名的引用。对不起。

于 2011-03-08T11:09:21.960 回答
1

简而言之,不,这是不可能的

导出到 CSV 文件时来自SSRS 2008 列问题:

对于 csv 导出,列的标题由DataElementName实际包含数据的文本框的属性确定。如果DataElementName用户未明确设置该属性,则 DataElementName 会自动默认为该textbox.Name属性的值。

话虽如此,我相信您会遇到这个问题,因为 RDL 有一个限制,即 areportItem.NamereportItem.DataElementNameproperty 都必须是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 导出)

于 2014-12-17T21:47:12.277 回答
1

此解决方案有效:https ://stackoverflow.com/a/32110072/674237

总之:

  1. 修改您的查询,使数据集中的第一行成为您想要的列标题。例如,选择标题名称并将它们合并到数据集。
  2. 将新的 CSV 呈现扩展插件添加到不包括标题的报表服务器。

此解决方法将允许您在标题中放置您想要的任何值。

于 2017-11-10T19:03:39.597 回答
0

将以下查询参数附加到您的 url:

  • 对于#- [网址]&rs:format=CSV&rc:FieldDelimiter=%23
  • 对于;- [网址]&rs:format=CSV&rc:FieldDelimiter=";"

不确定您是否可以直接从报告管理器执行此操作,而无需在某处更改配置文件

更新:重读后,您是否从这样的过程中返回列标题?

SELECT tbl.colname [my column name, some text],  
       tbl.col2    [another, col]

方括号将允许您转义字符。

于 2010-04-15T07:58:18.783 回答
0

默认情况下,从<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 的标识符的问题

于 2016-02-15T10:22:36.090 回答