reporting services - Cómo obtener hojas Excel nombradas mientras se exporta desde SSRS
reporting-services reportingservices-2005 (10)
El método Rectángulo
La forma más simple y confiable que he encontrado de lograr hojas de trabajo / saltos de página es con el uso de la herramienta de rectángulo.
Agrupe su página dentro de rectángulos o un único rectángulo que llene la página en un subinforme, de la siguiente manera:
La manera más rápida que he encontrado de colocar el rectángulo es dibujarlo alrededor de los 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 puede configurar el salto de página para que ocurra al comienzo o al final del rectángulo y el nombre de la página se puede basar en una expresión.
Las hojas de trabajo 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.
Cada vez que se exporta un informe de una sola página para sobresalir, la hoja en excel se nombra por el nombre del informe. Si un informe tiene varias páginas, las hojas se nombran como hoja1, hoja2, ... ¿Hay alguna forma de especificar nombres de hoja en SSRS 2005?
solución: esto se encuentra después de googlear: cambiar los nombres de las hojas en SQL Server RS Excel: QnD XSLT
Intentaremos y publicaremos una actualización si funciona.
Coloque 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
En SSRS 2008 R2, use la propiedad PageName del grupo de páginas: http://bidn.com/blogs/bretupdegraff/bidn-blog/234/new-features-of-ssrs-2008-r2-part-1-naming-excel-sheets-when-exporting-reports
Nigromancia, por si acaso todos los enlaces se oscurecen:
Agrega un grupo a tu informe
Además, se recomienda configurar el orden de clasificación de la expresión del grupo aquí, de modo que las pestañas se ordenarán alfabéticamente (o como quiera que se ordene).
- ''Zeilengruppe'' significa ''Grupo objetivo''
- ''Gruppeneigenschaften'' significa ''Propiedades del grupo''
Establecer el salto de página en las propiedades del grupo
- ''Seitenumbruche'' significa ''Salto de página''
- ''Zwischen den einzelnen Instanzen einer Gruppe'' significa ''Entre las instancias individuales de un grupo''
Ahora necesita establecer el
PageName
de página del Miembro de Tablix (grupo), NO elPageName
de página del propio Tablix.
Si obtuvo el objeto correcto, dirá " Miembro de Tablix" (elemento Tablix en alemán) en el cuadro de título de la cuadrícula de propiedades. Si es el objeto equivocado, solo dirá "tabla / tablix" (sin miembro ) en el cuadro de título de la cuadrícula de propiedades.Nota: Si obtiene la tablix en lugar del miembro tablix, pondrá el mismo nombre en todas las pestañas, seguido de a
(tabNum)
! Si eso sucede, ahora sabes cuál es el problema.
No hay una forma 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.
Para agregar nombres de pestañas al exportar a excel, utilicé el siguiente método:
- En la ventana de diseño del informe, seleccione el objeto tablix.
- Abra la ventana de propiedades del objeto tablix.
- Agregue el nombre de la pestaña requerida a la propiedad
PageName
. - Ejecuta el informe
- Exportar el informe a Excel.
- Ahora el nombre de la hoja de trabajo es el mismo que la propiedad PageName del objeto tablix.
Para exportar a diferentes hojas y usar nombres personalizados, a partir de SQL Server 2008 R2 esto se puede hacer usando una combinación de agrupamiento, saltos de página y la propiedad PageName del grupo.
Alternativamente, si es solo la hoja en la que desea dar un nombre específico, intente con la propiedad InitialPageName en el informe.
Para una explicación más detallada, échale un vistazo aquí: http://blog.hoegaerden.be/2011/03/23/where-the-sheets-have-a-name-ssrs-excel-export/
Pude hacer esto siguiendo instrucciones más complejas sugeridas por Valentino Vranken y rao, pero aquí hay un enfoque más simple, para un informe más simple. 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 las Tablix Properties
de 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, luego en la vista Grouping
, en el Row Groups
, seleccione el grupo principal o el grupo de fila predeterminado y luego en la vista Properties
en Group -> PageBreak
establezca BreakLocation
en None
y PageName
en la hoja nombre .
Puede usar -sed- y -grep- para reemplazar o escribir en el encabezado xml de cada archivo especificando el nombre de la hoja deseada, por ejemplo, nombre de la hoja1, entre cualquier aparición de las etiquetas:
<Sheetnames>?sheetname1?</Sheetnames>
Si bien este uso de la propiedad PageName en un objeto sí le permite personalizar los nombres de hoja exportados en Excel, tenga presente que también puede actualizar las definiciones de espacio de nombres de su informe, lo que podría afectar la capacidad de volver a implementar el informe en su 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 tuve que 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 (hay etiquetas que también deben eliminarse además de restablecer el espacio de nombres):