Considerações ao exportar para formatos como Excel ou CSV
Para evitar comportamentos inesperados ao exportar para formatos como Excel ou CSV, os seguintes aspectos importantes precisam ser levados em consideração Durante o design do relatório:
Nem todos os formatos de documento são criados iguais
Você pode usar muitos elementos diferentes para fazer o design. Os dados Eles podem ser apresentados em um formato tabular claro, mas geralmente carregam títulos ou títulos formatados e, eventualmente, elementos gráficos, tabelas ou Subnotificação. Um documento com controles suficientes pode ser representado perfeitamente para um formato de exportação centrado em documentos como um PDF. Alguns formatos fazem um bom trabalho com a apresentação de documentos, mas eles podem ter problemas ao exportar documentos que precisam ser editados como DOCX e RTF.
Existe um grupo de formatos com exibição limitada que são usados para o trabalho interativo com dados integrados. É o caso do XLS(X) e do CSV. Falaremos sobre estes neste capítulo.
Considere exportar os dados separadamente
Considere implementar recursos de exportação de dados em seus aplicativos separar. O sistema de relatórios WYSIWYG visa criar o Exportações de dados para usuários que desejam executar seus dados em uma planilha. É essencial que a estrutura do dados é o mais limpo possível, os elementos visuais de qualquer tipo geralmente não oferece valor agregado para esse fim.
Exporte dados de forma limpa
Vários formatos de exportação não suportam elementos de interseção. O motor Exportar gera uma estrutura tabular onde linhas e colunas são usadas Para colocar itens de saída conforme exigido pelo design do relatório Visual. Especialmente para os formatos Excel e CSV, essa técnica de A implementação pode resultar em mais colunas ou linhas ou até mesmo células Combinado, o que dificulta o trabalho com documentos para Análise de dados. Mostra vários cenários do problema, encontrando possíveis soluções ou estratégias para projetar seus relatórios para Mantenha-os compatíveis com exportações centradas em dados.
Colunas desalinhadas
A imagem a seguir mostra um layout de relatório com uma tabela. Talvez difícil de ver, mas as colunas no cabeçalho não se alinham perfeitamente com os do resto da tabela.
Aqui está o resultado da exportação para XLSX:
Você pode ver que apenas as colunas A, C, E e G são totalmente visíveis, enquanto que as colunas B, D, F e H são quase invisíveis. Isso acontece porque o colunas no relatório estão desalinhadas, portanto, as colunas no não se alinham corretamente com os da detalhe. O problema se torna mais visível ao ampliar o arquivo Excel e Adicione algumas cores:
Você pode corrigir esse problema alinhando com precisão o cabeçalho e o Tabela da faixa de detalhe de cada célula, usando indicadores verticais no editor.
Esta imagem mostra as guias de alinhamento em vermelho.
Espaços em branco
Este relatório mostra alguns elementos gráficos que são separados por espaço entre eles:
Ao exportar para XLSX, este é o resultado:
Linhas e colunas adicionais são geradas devido aos espaços no o relatório inicial. Para determinar a origem de tais espaços, pode ser útil determinar a origem de tais espaços Definir as cores da tela de fundo do item no designer de relatórios antes exportação.
Em alguns casos, é recomendável desativar a opção CanGrow para o tabelas para evitar que as células cresçam de tamanho ao exportar e ocorre um estouro no número de linhas no documento XLS(X).
As cores são exibidas no Excel, tornando os limites das células visíveis:
Como solução, recomenda-se ajustar as posições de cada elemento para que não Não resta espaço vazio. Você pode usar o TextAlignment e Acolchoamento para alinhá-los.
Cabeçalho e rodapé
Em relatórios, as faixas de cabeçalho e rodapé também podem causar nas linhas ou colunas do arquivo de exportação, se seus controles eles não se alinham com os de outras bandas. Veja a seguir um design de relatório que Exibe este problema:
O arquivo XLSX resultante tem esta aparência:
O uso de cores de fundo ajuda a entender exatamente o que causa o problema. Esta imagem mostra linhas vermelhas para ilustrar os controles que influenciaram a criação de colunas.
A recomendação é alinhar os controles em cabeçalhos e rodapés com aqueles em as faixas de dados do relatório. Em alguns casos, é aconselhável remover o elementos de cabeçalho ou rodapé no caso de um melhor tabulação dos dados e nenhuma coluna adicional aparece.
Valores calculados e formatados de forma personalizada
As exportações para Excel e CSV não funcionarão nos seguintes casos:
- Quando o valor de uma célula vem de um valor calculado.
- Quando um valor em uma célula é aplicado, um valor de formatação derivado de um formato personalizado.
- Quando o evento é usado AntesImprimir para atribuir valores personalizados a A propriedade Texto de rótulos ou células de tabela.
Isso ocorre porque Excel e CSV são os únicos formatos atualmente suportados que distinguem entre valores de cadeia de caracteres e outros tipos de dados (como números, decimais etc.) Portanto, não é possível realizar cálculos envolvendo este tipo de campos.
Quando a exportação desses tipos de campos for obrigatória, é recomendável usar o comando EvaluateBinding Em vez de AntesImprimir. Nesse caso, atribua seu campo calculado para a variável e.Valor e altere o valor do XlsxExportOptions.TextExportMode Para Texto. Os dados finais serão sempre um valor string de texto, portanto, no arquivo Excel resultante, você não poderá realizar cálculos ou operações, como adições, etc.
Especificações do CSV
Para exportações de CSV, há duas opções adicionais que podem ajudar Evite células vazias no arquivo resultante. Essas opções são SkipEmptyColumns e SkipEmptyRows que estão habilitados em um inadimplência. Veja a seguir um exemplo de layout de relatório para demonstrar O efeito dessas opções:
Quando exportado para CSV e carregado no Excel com as configurações padrão, Aqui está o resultado:
E aqui está o que você obtém se desabilitar ambas as propriedades:
Outra opção que pode ser útil para exportações CSV é o estático FollowReportLayout, que é habilitado por padrão.
Um relatório exportado com essas configurações padrão terá esta aparência:
Desabilitar essa propriedade não observará certos detalhes do design no arquivo resultante. Isso significa que o espaço pode ser eliminado Um vazio de exportação.
Essas opções adicionais para exportações no formato CSV são importante, uma vez que este formato requer estruturas limpas de dados para que possam ser utilizados em Transferência automatizada de dados.