Angular Exportação de Grade Dinâmica para o Serviço do Excel
O serviço Exportador do Excel pode exportar dados para o Excel do IgxPivotGrid. A funcionalidade de exportação de dados é encapsulada IgxExcelExporterService
na classe. Para disparar o processo, você precisa invocar o IgxExcelExporterService
método do export
e passar o componente IgxPivotGrid como o primeiro argumento.
Angular Excel Exporter Example
Exporting Pivot Grid's Data
Para começar a usar o IgniteUI Excel Exporter, primeiro importe o IgxExcelExporterService
arquivo app.module.ts e adicione o serviço à providers
matriz:
// app.module.ts
import { IgxExcelExporterService } from 'igniteui-angular';
// import { IgxExcelExporterService } from '@infragistics/igniteui-angular'; for licensed package
@NgModule({
providers: [ IgxExcelExporterService ]
})
export class AppModule {}
Note
Na v12.2.1 e posterior, os serviços de exportador são fornecidos na raiz, o que significa que você não precisa mais declará-los nos provedores AppModule.
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>
Você pode acessar o serviço exportador definindo um argumento do tipo IgxExcelExporterService
no construtor do componente e a estrutura Angular fornecerá uma instância do serviço. Para exportar alguns dados no formato MS Excel, você precisa invocar o método do export
serviço exportador e passar o componente IgxPivotGrid como primeiro argumento.
Aqui está o código que executará o processo de exportação no arquivo datilografado do componente:
// component.ts
import { IgxExcelExporterService, IgxExcelExporterOptions } from 'igniteui-angular';
import { IgxPivotGridComponent } from 'igniteui-angular';
@ViewChild('pivotGrid') public pivotGrid: IgxPivotGridComponent;
constructor(private excelExportService: IgxExcelExporterService) {
}
public exportButtonHandler() {
this.excelExportService.export(this.pivotGrid, new IgxExcelExporterOptions('ExportedDataFile'));
}
Se tudo correr bem, você deverá ver o componente IgxPivotGrid e um botão abaixo dele. Ao pressionar o botão, ele acionará o processo de exportação e o navegador fará o download de um arquivo chamado "ExportedDataFile.xlsx" que contém os dados do componente Pivot Grid no formato MS Excel.
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.
Customizing the Exported Content
Nos exemplos acima, o serviço Exportador do Excel estava exportando todos os dados disponíveis. Há situações em que você pode querer pular a exportação de uma linha ou até mesmo de uma coluna inteira. Para conseguir isso, você pode conectar os columnExporting
eventos e/ou rowExporting
que são disparados respectivamente para cada coluna e/ou cada linha e cancelar o respectivo evento definindo a propriedade do objeto de cancel
argumento de evento como true
.
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 dinâmica, o processo de exportação leva em conta recursos como filtragem de linhas e ocultação de colunas e exporta apenas os dados visíveis na Grade dinâmica. Você pode configurar o serviço de exportador para incluir linhas filtradas ou colunas ocultas definindo propriedades no IgxExcelExporterOptions
objeto.
Known Limitations
Limitação | Descrição |
---|---|
Tamanho máximo da planilha | O tamanho máximo da planilha com suporte no Excel é de 1.048.576 linhas por 16.384 colunas. |
Estilo de célula | O serviço exportador do Excel não oferece suporte à exportação de um estilo personalizado aplicado a um componente de célula. Nesses cenários, recomendamos o uso da Biblioteca do Excel. |
API References
O serviço Exportador do Excel tem mais algumas APIs para explorar, listadas abaixo.
Componentes adicionais que foram usados: