Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a: Construtor de Relatórios da Microsoft (SSRS)
Designer de Relatórios
do Power BI no SQL Server Data Tools
Quando trabalha com Power BI ou SQL Server Reporting Services (SSRS), pode usar a extensão de renderização Excel para exportar relatórios paginados para o Microsoft Excel. A largura das colunas exportadas no Excel imita a largura das colunas nos relatórios. Mas podes reestruturar os dados do relatório ou processá-los mais detalhadamente num livro de exercícios.
Este artigo discute vários aspetos do processo de exportação, como o suporte ao renderizador para funcionalidades interativas e a colocação de dados nas células. As limitações do Excel e do renderizador também são abordadas.
Formato de exportação
A extensão de renderização Excel exporta relatórios para o formato Office Open XML. O tipo de conteúdo dos ficheiros que o renderizador gera é application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, e a extensão do ficheiro é .xlsx.
Você pode alterar algumas configurações padrão para esse renderizador alterando as configurações de informações do dispositivo. Para obter mais informações, consulte Configurações de informações do dispositivo Excel.
Para informações sobre como exportar um relatório em formato Excel, consulte Exportar relatórios paginados (Construtor de Relatórios).
Importante
Quando defines um parâmetro de relatório do tipo String, o utilizador é apresentado a uma caixa de texto que pode assumir qualquer valor. Se o parâmetro de relatório não estiver ligado a um parâmetro de consulta e os valores dos parâmetros estiverem incluídos no relatório, há um risco de segurança. Especificamente, o utilizador do relatório pode introduzir sintaxe de expressão, código de script ou uma URL como valor do parâmetro. Como resultado, o utilizador pode introduzir um script malicioso ou um link malicioso. Se o relatório for exportado para o Excel, outros utilizadores podem vê-lo. Se selecionarem o conteúdo do parâmetro renderizado, arriscam-se a executar inadvertidamente um script malicioso ou a ir a um site malicioso.
Para reduzir o risco de executar scripts mal-intencionados inadvertidamente, abra relatórios renderizados somente de fontes confiáveis. Para obter mais informações sobre como proteger relatórios, consulte Proteger relatórios e recursos.
Limitações do Excel
O Excel impõe limitações aos relatórios exportados devido às capacidades do Excel e dos seus formatos de ficheiro. As seguintes limitações são as mais significativas:
- A largura máxima da coluna é de 255 caracteres ou 1726,5 pontos. O renderizador não verifica se a largura da coluna é inferior ao limite.
- O número máximo de caracteres numa célula é 32.767. Se este limite for ultrapassado, o renderizador apresenta uma mensagem de erro.
- A altura máxima da linha é de 409 pontos. Se o conteúdo de uma linha fizer com que a altura da linha ultrapasse 409 pontos, a célula do Excel mostra uma quantidade parcial de texto até 409 pontos. O restante conteúdo da cela ainda está dentro da célula, até ao máximo permitido de 32.767 caracteres.
- Como a altura máxima das linhas é de 409 pontos, se a altura definida de uma célula no relatório for superior a 409 pontos, o Excel divide o conteúdo da célula em várias linhas.
- O número máximo de folhas de exercícios não está definido no Excel. Mas fatores externos, como memória e espaço em disco, podem causar a aplicação de limitações.
- Nos contornos, o Excel permite apenas até sete níveis aninhados.
- A disponibilidade de um esboço depende da posição do item do relatório que controla a visibilidade de outro item. Um esboço não está disponível nos seguintes casos:
- O item do relatório de controle não está em nenhuma das linhas anterior ou seguinte relativamente ao item que está a ser expandido ou colapsado.
- O item do relatório de controlo não está na coluna do item que está a ser expandido ou colapsado.
Para mais informações sobre limitações do Excel, consulte especificações e limites do Excel.
Caixas de texto e texto
As seguintes limitações aplicam-se a caixas de texto e texto:
- Os valores das caixas de texto que são expressões não são convertidos em fórmulas do Excel. O valor de cada caixa de texto é avaliado durante o processamento do relatório. A expressão avaliada é exportada conforme o conteúdo de cada célula do Excel.
- Cada caixa de texto é renderizada dentro de uma célula do Excel. Quanto ao tamanho da fonte, tipo de letra, decoração e estilo da fonte, a formatação é suportada no texto da célula.
- O Excel não suporta formatação de texto por linhas extras.
- O Excel adiciona um preenchimento padrão de aproximadamente 3,75 pontos aos lados esquerdo e direito das células. Se a margem interna de uma caixa de texto for inferior a 3,75 pontos e a caixa não for larga o suficiente para acomodar o texto, o texto pode passar para uma nova linha no Excel. Para contornar esse problema, aumente a largura da caixa de texto no relatório.
Imagens
As seguintes limitações aplicam-se às imagens:
- As imagens de fundo dos itens do relatório são ignoradas porque o Excel não suporta imagens de fundo para células individuais.
- A extensão de renderização do Excel suporta apenas a imagem de plano de fundo do corpo do relatório. Se uma imagem de plano de fundo do corpo do relatório for exibida no relatório, a imagem será renderizada como uma imagem de plano de fundo da planilha.
Retângulos
A seguinte limitação aplica-se a retângulos: Retângulos nos rodapés de relatórios não são exportados para o Excel. Mas retângulos no corpo do relatório, células tablix e outros componentes semelhantes são renderizados como uma variedade de células Excel.
Cabeçalhos e rodapés do relatório
As seguintes limitações aplicam-se aos cabeçalhos e rodapés do relatório:
- Os cabeçalhos e rodapés do Excel suportam um máximo de 256 caracteres, incluindo marcação. A extensão de renderização trunca a cadeia de caracteres em 256 caracteres.
- O SSRS não suporta margens nos cabeçalhos e rodapés dos relatórios. No Excel, estes valores de margem são definidos a zero.
- Quando imprime um relatório que é exportado para o Excel, as definições da impressora podem afetar a renderização. Especificamente, se um cabeçalho ou rodapé no relatório contiver várias linhas de dados, pode não ver várias linhas na impressão.
- As caixas de texto num cabeçalho ou rodapé mantêm a formatação, mas não o alinhamento quando são exportadas para o Excel. Os espaços à esquerda e à direita são removidos quando o relatório é renderizado para o Excel, o que altera o alinhamento.
Células combinadas
A seguinte limitação aplica-se à fusão de células: Se as células forem fundidas, o texto não está corretamente enrolado.
O renderizador do Excel é principalmente um renderizador de layout. O seu objetivo é replicar o layout do relatório renderizado o mais fielmente possível numa folha de cálculo Excel. Como resultado, as células podem ser fundidas na folha de cálculo para preservar o layout do relatório. Células fundidas podem causar problemas porque a funcionalidade de ordenação no Excel exige que as células sejam fundidas de uma forma específica para que a ordenação funcione corretamente. Por exemplo, se quiser ordenar um intervalo de células, o Excel exige que cada célula fundida nesse intervalo tenha o mesmo tamanho que as outras células fundidas nesse intervalo.
Reduzir o número de células fundidas nas suas folhas de Excel facilita a ordenação das folhas. Os seguintes pontos podem ajudá-lo a minimizar o número de células que são fundidas durante o processo de exportação.
- A razão mais comum para as células serem fundidas é que os itens não estão alinhados para a esquerda ou para a direita. Normalmente consegues resolver o problema alinhando as bordas esquerda e direita de todos os itens do relatório e dando aos itens a mesma largura.
- Mesmo quando alinhas todos os itens, algumas colunas continuam a ser fundidas em casos raros. A conversão interna de unidades e o arredondamento durante o processo de renderização podem causar a fusão das células. Na linguagem de definição de relatórios (RDL), pode especificar posições e tamanhos em várias unidades, como polegadas, píxeis, centímetros e pontos. Internamente, o Excel usa pontos. Como resultado, polegadas e centímetros são convertidos em pontos durante a renderização. Para minimizar as operações de conversão durante a renderização e a potencial imprecisão do arredondamento, considere especificar todas as medições em pontos inteiros. Uma polegada são 72 pontos.
Grupos de linhas de relatório e grupos de colunas
Relatórios que incluem grupos de linhas ou colunas contêm células vazias quando os exporta para o Excel. A imagem seguinte mostra um relatório que agrupa as linhas segundo a distância de deslocação. Cada distância de deslocamento pode conter mais de um cliente.
Quando exportas o relatório para o Excel, a distância de deslocação aparece apenas numa célula da coluna de Distância de Deslocação . Quando desenha o relatório, pode alinhar o texto com o topo, meio ou fundo do grupo de linhas. Esse alinhamento determina se o valor está na primeira, central ou última célula do relatório exportado. As outras células dessa coluna do grupo estão vazias. A coluna Nome , que contém nomes de clientes, não tem células vazias.
A imagem seguinte mostra o relatório depois de o exportar para o Excel. As células vazias estão sombreadas a cinzento na imagem, mas esse sombreamento não faz parte do relatório exportado.
Depois de exportar um relatório que contenha grupos de linhas ou colunas para o Excel, precisa de modificar o relatório antes de poder mostrar os dados exportados numa Tabela Dinâmica. Deve adicionar o valor de grupo às células das quais está em falta. A folha de trabalho torna-se então uma tabela plana com valores em todas as células. A imagem seguinte mostra a folha de trabalho atualizada.
Se criar um relatório com o propósito específico de o exportar para o Excel para análise adicional dos dados do relatório, considere não agrupar em linhas ou colunas no seu relatório.
Renderizador do Excel
O seguinte código XML mostra o elemento para a extensão de renderização Excel nos ficheiros de configuração RSReportServer e RSReportDesigner:
<Extension Name="EXCELOPENXML" Type="Microsoft.ReportingServices.Rendering.ExcelOpenXmlRenderer.ExcelOpenXmlRenderer,Microsoft.ReportingServices.ExcelRendering"/>
O renderizador Excel tem os seguintes valores e limites padrão:
| Propriedade | Valor |
|---|---|
| Máximo de colunas por folha de cálculo | 16,384 |
| Máximo de linhas por folha de cálculo | 1 048 576 |
| Número de cores permitidas numa folha de cálculo | Aproximadamente 16 milhões (cor de 24 bits) |
| Arquivos compactados ZIP | Compressão ZIP |
| Família de fontes padrão | Calibri |
| Tamanho de fonte padrão | 11 pontos |
| Altura da linha padrão | 15 pontos |
Como o relatório define explicitamente a altura das linhas, a altura padrão afeta apenas as linhas que são dimensionadas automaticamente durante a exportação para o Excel.
Itens de relatório no Excel
Quando exporta um relatório para o Excel, os seguintes componentes são renderizados como um conjunto de células do Excel: subrelatórios, retângulos, o corpo do relatório e regiões de dados. Caixas de texto, imagens, gráficos, barras de dados, linhas de faísca, mapas, medidores e indicadores são renderizados numa única célula de Excel. Mas essa célula pode fundir-se com outras células. O layout do resto do relatório determina se ocorre uma fusão.
Imagens, gráficos, linhas de faísca, barras de dados, mapas, medidores, indicadores e linhas estão posicionados numa única célula Excel, mas estão no topo da grelha da célula. As linhas são renderizadas como bordas de célula.
Gráficos, linhas de brilho, barras de dados, mapas, indicadores e indicadores são exportados como imagens. Os dados que representam não são exportados com eles. Os dados não estão disponíveis no livro de Excel a menos que os inclua numa coluna ou linha numa região de dados dentro de um relatório.
Se quiser trabalhar com dados para gráficos, minigráficos, barras de dados, mapas, manómetros e indicadores, pode exportar o relatório para um ficheiro CSV ou gerar feeds de dados compatíveis com Atom a partir do relatório. Para mais informações, consulte Exportar um relatório paginado para um ficheiro CSV (Construtor de Relatórios) e Gerar fluxos de dados a partir de relatórios (Construtor de Relatórios).
Tamanho da página
A extensão de renderização Excel utiliza as definições de altura e largura da página para determinar as definições em papel da folha de cálculo do Excel. O Excel tenta associar as definições de propriedades PageHeight e PageWidth a um dos tamanhos de papel mais comuns.
Se não forem encontradas correspondências, o Excel utiliza o tamanho de página predefinido para a impressora. A orientação é definida para Portrait se a largura da página for inferior à altura da página. Caso contrário, a orientação é definida para Landscape.
Nomes dos separadores da folha de cálculo
Quando exportas um relatório para o Excel, as quebras de página criam as páginas do relatório, e cada página é exportada para uma folha de cálculo diferente. Se fornecer um nome inicial de página para o relatório, a primeira folha de cálculo do livro de Excel tem esse nome. Como cada folha de trabalho num livro de exercícios deve ter um nome único, um inteiro começando em dois e incrementado em um é adicionado ao nome da página para cada folha. Por exemplo, se o nome inicial da página for Relatório de Vendas por Ano Fiscal, a segunda folha de cálculo é chamada Relatório de Vendas por Ano Fiscal (2). O terceiro chama-se Relatório de Vendas por Ano Fiscal (3), e assim sucessivamente.
Se todas as páginas de relatório criadas por quebras de página fornecerem novos nomes de página, cada folha de cálculo tem o nome de página associado. Mas se estes nomes de página não forem únicos, as folhas de trabalho têm o mesmo nome que os nomes iniciais das páginas. Por exemplo, se o nome da página de dois grupos for Vendas para NW, um separador de folha tem o nome Vendas para NW, e o outro Vendas para NW (2).
Se o relatório não fornecer um nome inicial de página ou nomes de página para quebras de página, os separadores de folhas de cálculo terão os nomes padrão Sheet1, Sheet2, e assim por diante.
O SSRS fornece propriedades que pode definir para relatórios, regiões de dados, grupos e retângulos. Estas propriedades ajudam-no a criar relatórios que pode exportar para o Excel da forma que quiser. Para mais informações, consulte Paginação em relatórios paginados (Microsoft Report Builder).
Propriedades do documento
O renderizador do Excel grava os seguintes metadados no arquivo do Excel.
| Propriedades do elemento de relatório | Description |
|---|---|
| Criado | Data e hora da execução do relatório como um valor de data/hora ISO. |
| Author | Relatório.Autor |
| Description | Relatório.Descrição |
| LastSaved | Data e hora da execução do relatório como um valor de data/hora ISO. |
Cabeçalhos e rodapés de páginas
A forma como o cabeçalho da página é renderizado depende da definição de informação SimplePageHeaders do dispositivo:
- Por defeito,
SimplePageHeadersestá definido como Falso. Neste caso, o cabeçalho é renderizado na grelha da célula na folha de cálculo do Excel, no topo dessa grelha. - Se
SimplePageHeadersestiver definido para True, o cabeçalho é renderizado na secção do cabeçalho da folha de cálculo do Excel.
O rodapé da página é sempre renderizado na secção do rodapé da folha de cálculo do Excel, independentemente do valor da SimplePageHeaders definição.
Devido às limitações do Excel, as caixas de texto são o único tipo de item de relatório que pode ser renderizado nas secções de cabeçalho e rodapé do Excel.
As secções de cabeçalho e rodapé do Excel suportam um máximo de 256 carateres, incluindo marcação. Se este limite for ultrapassado, o renderizador Excel remove caracteres de marcação que começam no final do cabeçalho ou da cadeia de rodapé para reduzir o número total de caracteres. Se todos os caracteres de marcação forem removidos e o comprimento ainda exceder o máximo, a cadeia é truncada a partir do fim.
Configurações do SimplePageHeader
Quando a definição de informação
SimplePageHeadersdo dispositivo está definida para Falso, as linhas da folha de trabalho que contêm os cabeçalhos tornam-se linhas bloqueadas. Você pode congelar ou descongelar o painel no Excel.Se as definições do Excel para imprimir títulos estiverem configuradas para imprimir estas linhas de cabeçalho, estes cabeçalhos são impressos em todas as páginas da folha de cálculo, exceto na folha de capa do mapa do documento.
Na janela de Propriedades do Cabeçalho da Página do Construtor de Relatórios:
- Se não estiver selecionado Imprimir na primeira página , o cabeçalho não é adicionado à primeira página do relatório.
- Se Imprimir na última página não estiver selecionado, o cabeçalho não é adicionado à última página do relatório.
Interatividade
Alguns elementos interativos são suportados no Excel. As secções seguintes abordam a interatividade.
Mostrar e ocultar
Existem limitações na forma como o Excel gere os itens de relatório ocultos e exibidos quando são exportados. Grupos, linhas e colunas que contêm itens de relatório que podem expandir-se e colapsar são renderizados como contornos do Excel. Mas os contornos do Excel expandem e colapsam linhas e colunas ao longo de toda a linha ou coluna. Como resultado, itens do relatório podem ser colapsados que não se destinam a ser colapsados. Além disso, os símbolos de contorno do Excel podem ficar sobrecarregados com contornos sobrepostos.
Para resolver estas questões, a extensão de renderização do Excel utiliza as seguintes regras de delineamento:
O item do relatório que pode expandir e colapsar e que está mais próximo do canto superior esquerdo também pode expandir-se e colapsar no Excel. Outros itens do relatório que compartilham espaço vertical ou horizontal com o item no canto superior esquerdo não podem ser expandidos ou colapsados no Excel.
Para determinar se uma região de dados é colapsável por linhas ou colunas, considera-se a posição de dois elementos:
- O item do relatório que controla a visibilidade
- A região de dados que pode expandir-se e colapsar
As regras que se aplicam dependem da posição relativa destes dois itens:
- Se o item que controla a visibilidade aparecer acima ou abaixo do item que expande e colapsa, o item é dobrável em linhas.
- Se o item que controla a visibilidade aparecer ao lado do item que expande e colapsa, o item é dobrável por colunas.
- Se o item que controla a visibilidade aparecer à mesma distância acima e ao lado do item que expande e colapsa, o item é dobrável em filas.
Para determinar onde os subtotais automáticos são colocados no relatório renderizado, a extensão de renderização examina a primeira instância de um membro dinâmico. Se um membro estático entre pares aparecer imediatamente acima dele, assume-se que o elemento dinâmico é o subtotal. Os contornos são definidos para indicar que estes dados são dados resumidos. Se não houver irmãos estáticos de um membro dinâmico, a primeira instância da instância será o subtotal.
Devido a uma limitação do Excel, os esquemas podem ser aninhados apenas até sete níveis.
Mapa do documento
Se existirem etiquetas de mapa de documentos no relatório, um mapa de documento é apresentado como uma folha de cálculo de capa do Excel. A folha de trabalho chama-se Document map e está localizada no primeiro separador do livro de trabalho.
A DocumentMapLabel propriedade de um item ou grupo de relatório determina o seu rótulo no mapa do documento. As etiquetas estão listadas pela ordem em que aparecem no relatório, começando na primeira linha e na primeira coluna. Cada célula do rótulo do mapa do documento é recuada e o número de níveis de profundidade que aparece no relatório. Cada nível de recuo é representado colocando o rótulo em uma coluna subsequente. O Excel suporta até 256 níveis de aninhamento de estrutura de tópicos.
O contorno do mapa do documento é renderizado como um contorno recolhível do Excel. A estrutura de tópicos corresponde à estrutura aninhada do mapa do documento. O estado de expansão e colapso do contorno começa no segundo nível.
O nó raiz do mapa é o nome do relatório, ou o seu nome de ficheiro sem a extensão .rdl. Esse nome não é interativo.
O renderizador utiliza uma fonte Arial de 10 pontos para as ligações do mapa do documento.
Links de detalhamento
Um link de detalhamento que aparece numa caixa de texto é exibido como um hiperlink Excel na célula em que o texto aparece. Um link de drillthrough para uma imagem ou gráfico é apresentado como um hyperlink Excel na imagem. Quando selecionas um link de drillthrough, ele abre o navegador predefinido do cliente e vai para a visualização HTML do destino.
Hyperlinks
Um hiperlink que aparece numa caixa de texto é renderizado como um hyperlink Excel na célula onde o texto é renderizado. Um hyperlink para uma imagem ou gráfico é renderizado como um hyperlink Excel na imagem. Quando selecionas um hiperlink, ele abre o navegador predefinido do cliente e vai para a URL de destino.
Classificação interativa
No Construtor de Relatórios, pode selecionar botões num relatório para alterar a ordem em que as tabelas e matrizes mostram as linhas e colunas. O Excel não suporta este tipo de ordenação interativa.
Bookmarks
Um link de favoritos numa caixa de texto é renderizado como um hiperlink Excel na célula onde o texto é renderizado. Um link de favorito para uma imagem ou gráfico é renderizado como um hiperlink Excel na imagem. Quando selecionas um favorito, ele vai para a célula Excel onde o item do relatório favorito é renderizado.
Alterar relatórios em tempo de execução
Em alguns cenários, precisas de um relatório para renderizar em vários formatos. Se não for possível criar um layout de relatório que seja apresentado da forma desejada em todos os formatos necessários, pode utilizar o valor global incorporado RenderFormat. Quando usa este valor, pode alterar condicionalmente a aparência do relatório em tempo de execução. Desta forma, pode esconder ou mostrar itens do relatório, dependendo do renderizador que usar, para obter os melhores resultados em cada formato. Para mais informações, consulte Globais Incorporados e Referências de Utilizador num relatório paginado (Construtor de Relatórios).
Resolução de problemas na exportação para o Excel
Quando usas a conta de serviço virtual e a conta de execução, a exportação para Excel pode falhar. Especificamente, o acesso à chave do registo pode ser negado.
Para contornar este problema, pode conceder permissão de leitura à conta de execução para a entrada do registo afetado no ramo da conta de utilizador virtual. Por exemplo, uma possível entrada no registo é HKEY_USERS\S-1-5-80-4050220999-2730734961-1537482082-519850261-379003301\Software\Microsoft\Avalon.Graphics. Depois tens de reiniciar o computador.