31

Cuando se exporta un único informe de página a excel, la hoja en excel se nombra con el nombre del informe. Si un informe tiene varias páginas, las hojas se nombran como sheet1, sheet2, .... ¿Hay alguna manera de especificar nombres de hoja en SSRS 2005?Cómo obtener hojas de excel con nombre al exportar desde SSRS

solución: encontrado esto después de algunos Googleing: Changing the Sheet names in SQL Server RS Excel: QnD XSLT

pondrá a prueba y después de una actualización si funciona.

+0

¿Funcionó? Utilicé una macro de Excel para reformatear los informes después de que se generaron (no, no los automaticé para otros usuarios). Demasiados problemas de formato funky con la exportación de SSRS a Excel. FYI, hay algunas herramientas de terceros que permiten una mejor representación de SSRS a Excel, como Aspose y OfficeWriter. –

+0

Relacionados: http://stackoverflow.com/a/4311980/300836 –

+0

BTW, ninguna de estas soluciones funcionará para nombrar hojas en la salida a menos que establezca TargetServerVersion = SQL Server 2008 R2, yendo a Project, [Project] Properties (debería ser el último elemento en el menú) y cambiando la propiedad 'TargetServerVersion' a (exactamente): SQL Server 2008 R2 –

Respuesta

20

Necromancing, por si acaso todos los enlaces oscurecerá :

  1. añadir un grupo a su informe de
    Además, se aconseja para establecer el orden de clasificación de la expresión de grupo aquí, así que las pestañas se ordenarán alfabéticamente (o como quiera que ordenados).

    1. Add a group to your report

    • medios 'Zeilengruppe' 'Destinatarios'
    • 'Propiedades de grupo'
    • 'Gruppeneigenschaften' medios
  2. Ajuste el salto de página en las propiedades del grupo 2. Set the page break in the group properties

    • 'Seitenumbruche' significa 'Salto de página'
    • significa 'Zwischen den Einzelnen Instanzen einer Gruppe' 'Entre los ejemplos individuales de un grupo'
  3. Ahora tiene que establecer el PageName del Tablix miembro (grupo), NO la PageName del Tablix sí mismo.
    Si obtuvo el objeto correcto, si dirá "Tablix Miembro" (Tablix-Element en alemán) en el cuadro de título de la cuadrícula de propiedades. Si es el objeto incorrecto, dirá solo "tabla/tablix" (sin miembro) en el cuadro de título de la cuadrícula de propiedades.

  4. Nota: Si obtiene el tablix en lugar del miembro del tablix, pondrá el mismo nombre en cada pestaña, seguido de un (tabNum). Si eso sucede, ahora sabes cuál es el problema. Tablix Member

MultiTabExcelFile

1

No hay manera directa. Puede exportar XML y luego a la derecha un XSLT para formatearlo correctamente (esta es la manera más difícil). Una forma más fácil es escribir varios informes sin saltos de página explícitos, de modo que cada uno exporta en una sola hoja en excel y luego escribe un script que se fusionaría para usted. De cualquier manera, requiere un paso de posprocesamiento.

0

Usted podría utilizar -sed- y -grep- para reemplazar o escribir en el encabezado de cada archivo XML que especifica el nombre de la hoja deseada, por ejemplo, sheetname1, entre cualquier ocurrencia de las etiquetas:

<Sheetnames>?sheetname1?</Sheetnames> 
2

Put el nombre de la pestaña en el encabezado de la página o agrupe TableRow1 en su informe para que aparezca en la posición "A1" en cada hoja de Excel. Luego ejecute esta macro en su libro de Excel.

Sub SelectSheet() 
     For i = 1 To ThisWorkbook.Sheets.Count 
     mysheet = "Sheet" & i 
     On Error GoTo 10 
     Sheets(mysheet).Select 
     Set Target = Range("A1") 
     If Target = "" Then Exit Sub 
     On Error GoTo Badname 
     ActiveSheet.Name = Left(Target, 31) 
     GoTo 10 
Badname: 
     MsgBox "Please revise the entry in A1." & Chr(13) _ 
     & "It appears to contain one or more " & Chr(13) _ 
     & "illegal characters." & Chr(13) 
     Range("A1").Activate 
10 
     Next i 
End Sub 
14

para exportar a diferentes hojas y usan nombres personalizados, a partir de SQL Server 2008 R2 esto se puede hacer usando una combinación de agrupación, saltos de página y la propiedad PageName del grupo.

Como alternativa, si solo desea dar un nombre específico a la hoja individual, intente con la propiedad InitialPageName en el informe.

Para una explicación más detallada, echar un vistazo aquí: http://blog.hoegaerden.be/2011/03/23/where-the-sheets-have-a-name-ssrs-excel-export/

+0

Bonito enlace, gracias. – Aditya

+0

¡Bonito! Funciona muy bien – mark1234

1

yo era capaz de hacer esto siguiendo las instrucciones más complejas sugeridas por Valentino Vranken y Rao, pero aquí es un enfoque más simple, para una más sencilla informe. Esto colocará cada tabla en una hoja separada y las nombrará en Excel. No parece tener un efecto en otras exportaciones como PDF y Word.

Primero en el Tablix Properties de sus tablas en General, marque Add a page break before or after, esto separa el informe en hojas.

Luego, en cada tabla, haga clic en la tabla, a continuación, en la vista Grouping, en el lado Row Groups, seleccione el grupo de padres o el grupo de fila predeterminado y luego en la vista Properties bajo Group -> PageBreak establecer BreakLocation a None y PageName a la hoja de nombre .

2

Para añadir nombres de las pestañas al exportar para sobresalir, he usado el siguiente método:

  • En la ventana de diseño de informes, seleccione el objeto de Tablix.
  • Abra la ventana de propiedades del objeto tablix.
  • Agregue el nombre de la pestaña requerida a la propiedad PageName.
  • Ejecute el informe
  • Exporte el informe a Excel.
  • Ahora el nombre de la hoja de cálculo es el mismo que la propiedad PageName del objeto tablix.
0

Si bien este uso de la propiedad PageName en un objeto le permite personalizar los nombres de hoja exportados en Excel, tenga en cuenta que también puede actualizar las definiciones de espacio de nombres de su informe, lo que podría afectar la capacidad de volver a desplegar informa a tu servidor.

Tuve un informe que apliqué esto dentro de BIDS y actualizó mi espacio de nombres de 2008 a 2010. Cuando traté de publicar el informe en un servidor de informes 2008R2, recibí un error de que el espacio de nombres no era válido y tenía para revertir todo. Estoy seguro de que mi circunstancia puede ser única y quizás esto no siempre ocurra, pero pensé que era digno de publicar. Una vez que encontré el problema, esta página ayudó a revertir el espacio de nombres de regreso (Hay etiquetas que también deben ser eliminados, además de restablecer el espacio de nombres):

http://beatheadagainstwall.blogspot.com/2011/03/invalid-target-namespace-when-deploying.html?showComment=1440647962263#c5741523651495876761

1

El método del rectángulo

La manera más simple y más fiable que he encontrado de alcanzar las hojas de trabajo/Página-breaks es con el uso del rectángulo herramienta.

Grupo su página dentro de rectángulos o un rectángulo único que llena la página en un sub-informe, de la siguiente manera:

  • La forma más rápida que he encontrado de colocar el rectángulo es dibujar alrededor de la objetos que desea colocar en el rectángulo.

  • Haga clic derecho y en el menú de diseño, envíe el rectángulo hacia atrás.

  • Selecciona todos tus objetos y arrástralos ligeramente, pero asegúrate de que aterricen en el mismo lugar donde estaban. Todos ellos estarán ahora en el rectángulo.

En las propiedades del rectángulo que puede establecer la página de rotura que se produzca al principio o al final del rectángulo y el nombre de la página se puede basar en una expresión.

Las hojas de cálculo se nombrarán igual que el nombre de la página.

Los nombres duplicados tendrán un número entre paréntesis.

Nota: Asegúrese de que los nombres sean nombres válidos de la hoja de trabajo.

+0

De forma alternativa, puede agregar un rectángulo al final de una sección, marcar 'Añadir un salto de página después' en las propiedades de Rectángulo, luego en la pestaña Propiedades, nombrar la página en 'General> Nombre de página'. – pelms

Cuestiones relacionadas