Como se chamado planilhas do excel ao exportar a partir SSRS
-
09-09-2019 - |
Pergunta
Sempre que um único relatório página é exportada para o Excel, folha de excel é nomeado pelo nome do relatório. Se um relatório tem várias páginas, as folhas são nomeados como sheet1, sheet2, .... Existe alguma maneira de especificar nomes das folhas em SSRS 2005?
solução: Encontrado este após alguns googleing: Mudando os nomes Folha no SQL Server RS ??Excel: qnd XSLT
Será experimentar e postar uma atualização se funciona.
Solução
Necromancing, apenas no caso de todas as ligações ir escuro:
-
Adicionar um grupo ao seu relatório
Além disso, é aconselhável para definir a ordem de classificação da expressão de grupo aqui, então as abas será ordenada alfabeticamente (ou no entanto você quer classificadas).
- 'Zeilengruppe' 'grupo-alvo',
- 'Propriedades do grupo' 'Gruppeneigenschaften' significa
-
Definir a quebra de página nas propriedades do grupo
- 'Seitenumbruche' 'Quebra de página' significa
- 'Zwischen den einzelnen Instanzen einer Gruppe' significa 'entre as instâncias individuais de um grupo'
-
Agora você precisa definir o
PageName
do Tablix Membro (grupo), não oPageName
do Tablix itselfs .
Se você tem o objeto certo, se vai dizer "Tablix Membro " (Tablix-Elemento em alemão) na caixa de título da grade de propriedades. Se ele é o objeto errado, ele vai dizer única "table / tablix" (sem membro ) na caixa título da grade de propriedade.
-
Nota: Se você obter o tablix em vez do membro tablix, ele vai colocar o mesmo nome da guia em cada guia, seguido por um
(tabNum)
! Se isso acontecer, você já sabe qual é o problema.
Outras dicas
Para exportação para diferentes folhas e nomes de uso personalizados, a partir do SQL Server 2008 R2 isto pode ser feito usando uma combinação de agrupamento, quebras de página e o PageName propriedade do grupo.
Como alternativa, se é apenas a única folha que você gostaria de dar um nome específico, tente o InitialPageName propriedade no relatório.
Para uma explicação mais detalhada, dê uma olhada aqui: http://blog.hoegaerden.be/2011/03/23/where-the-sheets-have-a-name-ssrs-excel-export/
Em SSRS 2008 R2 uso PageName propriedade de 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 -Relatórios
Para adicionar nomes de guia ao exportar para excel, eu usei o seguinte método:
- Na janela de design do relatório, selecione o objeto tablix.
- Abra as propriedades da janela do objeto tablix.
- Adicione o nome da guia necessário para o estabelecimento
PageName
. - Executar o relatório
- Exportar o relatório para o Excel.
- Agora, o nome da planilha é o mesmo que a propriedade
PageName
do objeto tablix.
Coloque o nome da guia no topo da página ou grupo TableRow1 em seu relatório para que ele irá aparecer na posição "A1" em cada folha Excel. Em seguida, executar esta macro na pasta de trabalho 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
Não há nenhuma maneira direta. Você quer XML exportação e depois à direita um XSLT para formatá-lo corretamente (esta é a maneira mais difícil). Uma maneira mais fácil é escrever vários relatórios sem quebras de página explícitas de modo que cada exportações para uma folha apenas em excel e, em seguida, escrever um script que se fundiriam para você. De qualquer forma, requer um passo de pós-processamento.
Eu era capaz de conseguir este feito seguindo as instruções mais complexas sugeridas por Valentino Vranken e rao, mas aqui é uma abordagem mais simples, por um relatório mais simples. Isto irá colocar cada tabela em uma folha separada e nomeá-los no Excel. Ele não parece ter um efeito sobre outras exportações, como PDF e Word.
Em primeiro lugar no Tablix Properties
de de seus mesas sob General
, verifique quer Add a page break before or after
, este separa o relatório em folhas.
Então, em cada tabela, clique na tabela, em seguida, na visão Grouping
, no lado do Row Groups
, selecione o grupo pai ou o grupo de linhas padrão e, em seguida, na visão Properties
sob set Group -> PageBreak
BreakLocation
para None
e PageName
ao nome da folha .
O método retângulo
A maneira mais simples e mais confiável que eu encontrei de alcançar planilhas / page-breaks é com o uso da ferramenta de retângulo.
Grupo sua página dentro de retângulos ou um único retângulo que enche a página em um sub-relatório, da seguinte forma:
-
A maneira mais rápida que eu encontrei de colocar o retângulo é desenhá-la ao redor dos objetos que você deseja colocar no retângulo.
-
Botão direito do mouse e no menu layout, enviar o retângulo para trás.
-
Selecionar todos os seus objetos e arrastá-los um pouco, mas não se esqueça que a terra no mesmo lugar que eles eram. Todos eles vão ser agora no retângulo.
Nas propriedades retângulo você pode definir a página-break para ocorrer no início ou no final do retângulo e nome da página pode ser baseada em uma expressão.
As planilhas será nomeado o mesmo que o nome da página.
Nomes duplicados terá um número de sufixo colchetes.
Nota:. Certifique-se de que os nomes são nomes de folha de trabalho válida
Você pode usar -sed- e -grep- para substituir ou gravação para o cabeçalho xml de cada arquivo, especificando o seu nome da folha desejada, por exemplo, sheetname1, entre qualquer ocorrência das tags:
<Sheetnames>?sheetname1?</Sheetnames>
Enquanto este uso da propriedade PageName em um objeto de fato permitem que você personalize os nomes das folhas exportados em Excel, ser avisado de que ele também pode atualizar as definições de namespace do seu relatório, o que pode afetar a capacidade de reimplantar o relatório para o seu servidor.
Eu tive um relatório que eu aplico isso a dentro BIDS e atualizei meu namespace de 2008 a 2010. Quando eu tentei publicar o relatório em um servidor 2008R2 relatório, eu tenho um erro que o namespace não era válido e teve que revert tudo de volta. Estou certo de que minha circunstância pode ser única e talvez isso não vai acontecer sempre, mas eu pensei que digno de postar sobre. Uma vez eu encontrei o problema, esta página ajudou a reverter a volta namespace (Existem marcas que também devem ser removidos Além de redefinir o namespace):