6

Par défaut, csv prend le nom de la zone de texte comme nom d'en-tête csv pour les colonnes. La zone de texte n'autorise pas d'espace.Exportation csv SSRS avec virgule dans les noms d'en-tête de colonne

Comment faire un en-tête différent de la zone de texte pour le csv?
Existe-t-il un moyen d'afficher une virgule dans l'en-tête lors de l'exportation vers csv?

Remarque: La solution doit être uniquement pour un rapport; pas global.

+0

Je connais un moyen très facile .. testé ... remplacer l'espace par: ALT + 255 –

Répondre

0

Append les paramètres de requête suivants à votre URL:

  • Pour #-[url]&rs:format=CSV&rc:FieldDelimiter=%23
  • Pour ;-[url]&rs:format=CSV&rc:FieldDelimiter=";"

Je ne sais pas vous pouvez le faire directement à partir du Gestionnaire de rapports sans modifier les fichiers de configuration quelque part

Mise à jour: Après avoir relu cela, vous retournez les en-têtes de colonne de la procédure comme celui-ci?

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

Les crochets vous permettront d'échapper les caractères.

+0

Merci pour votre réponse. Cela me donne un espoir. Dans quel fichier dois-je le faire? Des pensées? – Lijo

3

Le nom de la colonne provient de la propriété DataElementName ou, si elle est vide, de la propriété Name. Malheureusement, ni autoriser les virgules ou les citations.

Il y a un billet de blog ici:

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

sur la façon de modifier les paramètres dans le fichier de configuration pour les exportations de csv. Ce sont des changements globaux. La liste des propriétés disponibles est ici:

http://msdn.microsoft.com/en-us/library/ms155365.aspx

Aucune de ces espaces permettent les dont vous avez besoin, ou en citant des noms de colonnes que je suis actuellement en train de réaliser. Pardon.

1

En résumé, Non, ce n'est pas possible.

De SSRS 2008 Column issue when exporting to a CSV file:

Pour l'exportation csv, l'en-tête d'une colonne est déterminée par la propriété DataElementName de la zone de texte qui contient les données. Si la propriété DataElementName n'est pas explicitement définie par l'utilisateur, DataElementName obtient automatiquement la valeur par défaut de la propriété textbox.Name. Cela dit, je crois que vous avez ce problème parce que RDL a une restriction selon laquelle les propriétés reportItem.Name et reportItem.DataElementName doivent être toutes les deux CLS-compliant identifiers.Les rubriques comme "Phone #", "Other Name(s)", etc ... ne sont pas conformes CLS.

Vous pouvez vérifier cela en ouvrant le rapport dans BIDS ou RB et en essayant de définir la propriété DataElementName/Name de la zone de texte contenant les données à ces noms.

Vous obtiendrez une erreur qui stipule ce qui suit:

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 (_).

Il y a un problème Microsoft Connect à ce sujet, mais malheureusement, il semble que ce ne sera pas donné suite.
Voir: Use of expressions for DataElementName property (for CSV Export)

0

noms de colonnes pour csv, DBF et Xml sont ramassées à partir <Name> champ par défaut.

Résolu ce problème en ajoutant les noms appropriés pour chacun de ces formats dans le champ <Tag> du fichier * .mrt. Par exemple:

<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>

En outre, il résout le problème avec CLS non identifiants conformes en-têtes

1

Cette solution fonctionne: https://stackoverflow.com/a/32110072/674237

En résumé:

  1. Modifier votre requête pour avoir la La première rangée de l'ensemble de données correspond aux en-têtes de colonne souhaités. Par exemple, sélectionnez les noms d'en-tête et regroupez-les dans l'ensemble de données.
  2. Ajoutez une nouvelle extension de rendu CSV au serveur de rapports qui exclut les en-têtes.

Cette solution de contournement vous permettra de mettre toutes les valeurs que vous souhaitez dans les en-têtes.

Questions connexes