es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No se puede exportar a Excel una tabla dinámica de Syncfusion con enableVirtualization = true en Angular.

Aquí está el código component.html.

<ejs-pivotview #pivotview="" id='PivotView' [datasourcesettings]="dataSourceSettings" allowexcelexport='true' allowconditionalformatting='false' allowpdfexport='true' showtoolbar='true' allowcalculatedfield='true' showfieldlist='true' showgroupingbar='true' [chartsettings]='chartSettings' expandall='true' exportallpages='true' enablevirtualization='true' height='500' [gridsettings]='gridSettings' [displayoption]='displayOption' locale='es' [toolbar]='toolbarOptions' width="getWidth()">

Y en component.ts

import {
    FieldListService, CalculatedFieldService,
    ToolbarService, ConditionalFormattingService,
   ToolbarItems, DisplayOption, GroupingBarService,
   IDataOptions, VirtualScrollService
} from '@syncfusion/ej2-angular-pivotview';
//...
//...
declare var require: any;
@Component({
  selector: 'app-repo-pivote',
  templateUrl: './repo-pivote.component.html',
  //encapsulation: ViewEncapsulation.None,
  styleUrls: ['./repo-pivote.component.css'],
  providers: [CalculatedFieldService, ToolbarService, ConditionalFormattingService, FieldListService, GroupingBarService,VirtualScrollService]
})

Los datos tienen más de 30K filas.

Con este error.

error

Cuando elimino el parámetro enableVirtualization funciona correctamente.

ACTUALIZACIÓN

Este es un proyecto simple que muestra el problema.

https://stackblitz.com/edit/angular-ivy-747r19?file=src/app/app.component.html

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error sugiere que hay un problema con la asignación de memoria al exportar datos en modo de virtualización, debido a la gran cantidad de datos que se están manejando (más de 30K).

    Para resolver el problema, puedes intentar aumentar la asignación de memoria del navegador ajustando su configuración. También puedes intentar optimizar el rendimiento del componente reduciendo la cantidad de datos que se cargan en un momento dado, por ejemplo, implementando la paginación o la carga perezosa.

    Además, puedes contactar al equipo de soporte de Syncfusion para obtener ayuda y orientación sobre cómo optimizar el rendimiento del componente y resolver el problema de asignación de memoria.

Comments are closed.