Exportación de cuadrícula de pivote Angular al servicio Excel
El servicio Excel Exporter puede exportar datos a Excel desde IgxPivotGrid. La funcionalidad de exportación de datos está encapsulada en la clase IgxExcelExporterService
. Para desencadenar el proceso, debe invocar el método export
de IgxExcelExporterService
y pasar el componente IgxPivotGrid como primer argumento.
Angular Excel Exporter Example
Exporting Pivot Grid's Data
Para comenzar a usar IgniteUI Excel Exporter, primero importe IgxExcelExporterService
en el archivo app.module.ts y agregue el servicio a la matriz providers
:
// app.module.ts
import { IgxExcelExporterService } from 'igniteui-angular';
// import { IgxExcelExporterService } from '@infragistics/igniteui-angular'; for licensed package
@NgModule({
providers: [ IgxExcelExporterService ]
})
export class AppModule {}
Note
En v12.2.1 y posteriores, los servicios de exportación se brindan en la raíz, lo que significa que ya no es necesario declararlos en los proveedores de AppModule.
Para iniciar un proceso de exportación, puede utilizar el controlador de un botón en la plantilla de su componente.
<igx-pivot-grid #pivotGrid [data]="localData" [pivotConfiguration]="pivotConfig"></igx-pivot-grid>
<button (click)="exportButtonHandler()">Export IgxPivotGrid to Excel</button>
Puede acceder al servicio exportador definiendo un argumento de tipo IgxExcelExporterService
en el constructor del componente y el marco Angular proporcionará una instancia del servicio. Para exportar algunos datos en formato MS Excel, debe invocar el método export
del servicio exportador y pasar el componente IgxPivotGrid como primer argumento.
Aquí está el código que ejecutará el proceso de exportación en el archivo mecanografiado del 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'));
}
Si todo salió bien, debería ver el componente IgxPivotGrid y un botón debajo de él. Al presionar el botón, se activará el proceso de exportación y el navegador descargará un archivo llamado "ExportedDataFile.xlsx" que contiene los datos del componente Pivot Grid en formato MS Excel.
Note
Los indicadores de expandir/contraer en Excel se muestran según la jerarquía de la última dimensión de la cuadrícula dinámica.
Note
La cuadrícula dinámica exportada no tendrá formato de tabla, ya que las tablas de Excel no admiten encabezados de filas múltiples.
Customizing the Exported Content
En los ejemplos anteriores, el servicio Exportador de Excel exportaba todos los datos disponibles. Hay situaciones en las que es posible que desee omitir la exportación de una fila o incluso de una columna completa. Para lograr esto, puede conectarse a los eventos columnExporting
y/o rowExporting
que se activan respectivamente para cada columna y/o cada fila y cancelar el evento respectivo estableciendo la propiedad cancel
del objeto de argumento de evento en true
.
El siguiente ejemplo excluirá todas las columnas de la exportación si su encabezado es "Cantidad de venta":
// 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'));
Cuando exporta datos desde el componente Pivot Grid, el proceso de exportación tiene en cuenta características como el filtrado de filas y la ocultación de columnas y exporta solo los datos visibles en Pivot Grid. Puede configurar el servicio exportador para incluir filas filtradas o columnas ocultas configurando propiedades en el objeto IgxExcelExporterOptions
.
Known Limitations
Limitación | Descripción |
---|---|
Tamaño máximo de hoja de trabajo | El tamaño máximo de hoja de cálculo admitido por Excel es 1.048.576 filas por 16.384 columnas. |
Estilo celular | El servicio de exportación de Excel no admite la exportación de un estilo personalizado aplicado a un componente de celda. En tales escenarios, recomendamos utilizar la Biblioteca de Excel. |
API References
El servicio Excel Exporter tiene algunas API más para explorar, que se enumeran a continuación.
Componentes adicionales que se utilizaron: