6

De forma predeterminada, csv toma el nombre del cuadro de texto como el nombre del encabezado csv para las columnas. El cuadro de texto no permite un espacio.Exportación SSS csv con coma en los nombres de encabezado de columna

¿Cómo puedo hacer un encabezado diferente que el cuadro de texto para el csv?
¿Hay alguna manera de mostrar una coma en el encabezado cuando se exporta a csv?

Nota: La solución debe ser solo para un informe; no global

+0

conozco una manera muy fácil .. probado ... reemplazar el espacio por: ALT + 255 –

Respuesta

0

anexar los siguientes parámetros de consulta a la URL:

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

asegurarse de que puede hacerlo directamente desde el Administrador de informes, sin alterar los archivos de configuración en algún lugar

actualización: Después de leer esto, estás devolviendo los encabezados de columna del procedimiento como éste?

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

Los corchetes le permitirán escapar de los caracteres.

+0

Gracias por su respuesta. Me da una esperanza. ¿En qué archivo tengo que hacerlo? ¿Alguna idea? – Lijo

3

El nombre de la columna proviene de la propiedad DataElementName, o si está en blanco, la propiedad Name. Desafortunadamente, ninguno permite comas o citas.

Hay una entrada en el blog aquí:

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

sobre cómo cambiar la configuración en el archivo de configuración para la exportación CSV. Estos son cambios globales. La lista de propiedades disponibles está aquí:

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

Ninguno de estos permiten los espacios que necesita, o la cita de nombres de columna que actualmente estoy tratando de lograr. Lo siento.

1

En resumen, No, no es posible.

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

Para la exportación CSV, el encabezado de una columna está determinado por la propiedad DataElementName del cuadro de texto que en realidad contiene los datos. Si el usuario no establece explícitamente la propiedad DataElementName, DataElementName se establece automáticamente en el valor predeterminado de la propiedad textbox.Name.

Dicho esto, creo que está obteniendo este problema porque RDL tiene una restricción que dice que una propiedad reportItem.Name y debe ser CLS-compliant identifiers.Los títulos como "Phone #", "Other Name(s)", etc ... no cumplen con CLS.

Puede verificar esto abriendo el informe en BIDS o RB e intentando establecer la propiedad DataElementName/Name del cuadro de texto que contiene los datos en esos nombres.

Usted recibirá un error que indica lo siguiente:

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

hay un problema de Microsoft Connect acerca de esto, pero por desgracia, parece que no se actuará sobre.
Ver: nombres Use of expressions for DataElementName property (for CSV Export)

0

columna para CSV, DBF y XML son recogidos de <Name> campo por defecto.

Resolvió este problema agregando nombres apropiados para cada uno de estos formatos en el campo <Tag> en el archivo * .mrt. Por ejemplo:

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

También resuelve el problema con identificadores CLS no conformes en las cabeceras

1

Esta solución funciona: https://stackoverflow.com/a/32110072/674237

En resumen:

  1. Modificar la consulta para tener la primera fila en el conjunto de datos sean los encabezados de columna que desee. Por ejemplo, seleccione nombres de encabezado y agréguelos al conjunto de datos.
  2. Agregue una nueva extensión de representación de CSV al servidor de informes que excluye los encabezados.

Esta solución le permitirá colocar los valores que desee en los encabezados.

Cuestiones relacionadas