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.

Foi útil?

Solução

Necromancing, apenas no caso de todas as ligações ir escuro:

  1. 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).
    1. Adicionar um grupo ao seu relatório

    • 'Zeilengruppe' 'grupo-alvo',
    • 'Propriedades do grupo' 'Gruppeneigenschaften' significa
  2. Definir a quebra de página nas propriedades do grupo 2. Defina 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'
  3. Agora você precisa definir o PageName do Tablix Membro (grupo), não o PageName 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.

  4. 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. Tablix Member

 MultiTabExcelFile

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/

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

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top