Angular Exportação de Grade Pivot para Excel e Serviço PDF

    Os serviços Ignite UI Excel e PDF Exporter tratam o IgxPivotGrid exatamente como seus usuários o veem na tela — completo com layouts hierárquicos e resumos. Injete oIgxExcelExporterService ou,IgxPdfExporterService chame o método apropriadoexportexport e deixe o serviço gerar o documento final.

    As seções abaixo explicam configuração, padrões de uso e dicas para personalizar cada exportação para que seus usuários recebam dados prontos para consumo, independentemente do tipo de arquivo que prefiram.

    Angular Excel Exporter Example

    Este exemplo ao vivo demonstra o fluxo padrão de exportação em Excel e PDF para a Grade Pivot — dados vinculados, dois botões de exportação (Excel e PDF) e os arquivos e.xlsx arquivos resultantes.pdf com filtragem e ordenação preservados. Compartilhe com stakeholders que queiram pré-visualizar a experiência antes de inseri-la em sua aplicação.

    Exporting Pivot Grid's Data

    Colocar os exportadores no seu projeto leva apenas algumas linhas de código. Siga estes passos e você terá serviços reutilizáveis que podem criar saídas em Excel ou PDF sob demanda:

    1. Importe oIgxExcelExporterService and/ouIgxPdfExporterService no seu módulo raiz.
    2. Injete o exportador que você precisar e chame o métodoexport dele quando o usuário solicitar um arquivo.
    // component.ts
    import { IgxExcelExporterService, IgxPdfExporterService } from 'igniteui-angular/grids/core';
    // import { IgxExcelExporterService, IgxPdfExporterService } from '@infragistics/igniteui-angular/grids/core'; for licensed package
    
    ...
    
    private excelExportService = inject(IgxExcelExporterService);
    private pdfExportService = inject(IgxPdfExporterService);
    
    
    Note

    Na v12.2.1 e posteriores,IgxExcelExporterService é fornecido na raiz e não precisa ser registrado noproviders array. O exportador PDF foi introduzido em versões posteriores e está disponível como um serviço injetável sem nenhuma configuração adicional.

    Para iniciar um processo de exportação, você pode usar o manipulador de um botão no modelo do seu componente.

    <igx-pivot-grid #pivotGrid [data]="localData" [pivotConfiguration]="pivotConfig"></igx-pivot-grid>
    <button (click)="exportButtonHandler()">Export IgxPivotGrid to Excel</button>
    <button (click)="exportPdfButtonHandler()">Export IgxPivotGrid to PDF</button>
    

    Você pode acessar qualquer um dos serviços exportadores definindo-o como uma dependência de construtor e permitindo que Angular forneça uma instância. Chamar o método compartilhadoexport inicia o download respeitando automaticamente o estado do componente, as linhas selecionadas e as regras de formatação.

    Aqui está o código que executará ambos os processos de exportação no arquivo typescript do componente:

    // component.ts
    import { IgxExcelExporterService, IgxExcelExporterOptions, IgxPdfExporterService, IgxPdfExporterOptions } from 'igniteui-angular/grids/core';
    import { IgxPivotGridComponent } from 'igniteui-angular/grids/pivot-grid';
    
    @ViewChild('pivotGrid') public pivotGrid: IgxPivotGridComponent;
    
    private excelExportService = inject(IgxExcelExporterService);
    private pdfExportService = inject(IgxPdfExporterService);
    
    public exportButtonHandler() {
      this.excelExportService.export(this.pivotGrid, new IgxExcelExporterOptions('ExportedDataFile'));
    }
    
    public exportPdfButtonHandler() {
      this.pdfExportService.export(this.pivotGrid, new IgxPdfExporterOptions('ExportedDataFile'));
    }
    

    Depois de conectado, ao pressionar os respectivos botões, os arquivos nomeadosExportedDataFile.xlsx ouExportedDataFile.pdf preenchidos com a visualização atual da Grade Pivot. Você pode trocar nomes de arquivos amigáveis para o cliente, adicionar carimbos de data e hora ou exibir um toast de sucesso para que os usuários saibam que a exportação foi concluída.

    Note

    Os indicadores de expansão/recolhimento no Excel são mostrados com base na hierarquia da última dimensão da Grade Dinâmica.

    Note

    A Grade Dinâmica exportada não será formatada como uma tabela, pois as tabelas do Excel não oferecem suporte a vários cabeçalhos de linha.

    Exportações de PDF incluem automaticamente a linha de cabeçalho da coluna no topo do documento, para que os leitores mantenham o mesmo contexto ao abrir ou imprimir o arquivo.

    Customizing the Exported Content

    A maioria das equipes personaliza as exportações antes de compartilhá-las: escondendo colunas de uso interno, renomeando cabeçalhos ou pulando linhas que se aplicam apenas aos administradores. Ambos os serviços exportadores expõem eventos que permitem interceptar cada linha ou coluna e decidir como ela deve aparecer no arquivo. AssinecolumnExporting erowExporting faça ajustes de última hora — configurecancel = true para omitir um item ou ajustar os argumentos do evento para atualizar valores em tempo real.

    O exemplo a seguir excluirá todas as colunas da exportação se o cabeçalho for "Valor da venda":

    // component.ts
    
    this.excelExportService.columnExporting.subscribe((args: IColumnExportingEventArgs) => {
        if (args.header == 'Amount of Sale') {
            args.cancel = true;
        }
    });
    this.excelExportService.export(this.pivotGrid, new IgxExcelExporterOptions('ExportedDataFile'));
    

    Quando você está exportando dados do componente Grade Pivot, os serviços automaticamente respeitam a ordenação, filtragem, resumos e colunas ocultas para que o arquivo reflita o que o usuário vê atualmente. Precisa do conjunto de dados completo em vez disso? Ative ou inclua linhas filtradas, colunas ocultas ou metadados personalizados, as flagsIgxExcelExporterOptionsIgxPdfExporterOptions relevantes.

    Known Limitations

    Antes de enviar exportações para usuários de produção, revise as seguintes restrições da plataforma para definir expectativas e fornecer orientações úteis dentro do seu app.

    Limitação Descrição
    Tamanho máximo da planilha O tamanho máximo da folha de cálculo suportado pelo Excel é de 1.048.576 linhas por 16.384 colunas. Considere dividir exportações extremamente grandes por intervalo de datas ou segmento para se manter dentro desses limites.
    Estilo de célula O serviço exportador do Excel não suporta exportar um estilo personalizado aplicado diretamente a um componente de célula. Nesses cenários, recomendamos usar a Biblioteca Excel mais rica para formatação detalhada.
    Layouts PDF amplos Exportações muito largas podem forçar colunas do PDF a encolherem para caber na página. Aplique larguras de coluna ou oculte campos de baixa prioridade antes de exportar para manter o documento legível.

    API References

    Os serviços Excel e PDF Exporter têm algumas APIs adicionais para explorar, listadas abaixo.

    Componentes adicionais que foram usados:

    Additional Resources

    Nossa comunidade é ativa e sempre receptiva a novas ideias. Os links abaixo conectam você a exemplos, respostas da comunidade e a equipe de engenharia.