File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 2121 " devextreme-quill" ,
2222 " jszip" ,
2323 " devexpress-diagram" ,
24- " devexpress-gantt"
24+ " devexpress-gantt" ,
25+ " file-saver" ,
26+ " devextreme-exceljs-fork"
2527 ],
2628 "outputPath" : " dist/Angular" ,
2729 "index" : " src/index.html" ,
Original file line number Diff line number Diff line change 2424 "@angular/router" : " ^18.0.3" ,
2525 "devextreme" : " 25.1.3" ,
2626 "devextreme-angular" : " 25.1.3" ,
27- "exceljs" : " ^4.4.0 " ,
27+ "devextreme- exceljs-fork " : " ^4.4.3 " ,
2828 "file-saver" : " ^2.0.5" ,
29+ "jspdf" : " ^3.0.3" ,
2930 "rxjs" : " ~7.8.0" ,
3031 "tslib" : " ^2.3.0" ,
3132 "zone.js" : " ~0.14.7"
3435 "@angular-devkit/build-angular" : " ^18.0.4" ,
3536 "@angular/cli" : " ~18.0.4" ,
3637 "@angular/compiler-cli" : " ^18.0.3" ,
38+ "@types/events" : " ^3.0.3" ,
3739 "@types/file-saver" : " ^2.0.7" ,
3840 "@types/jasmine" : " ~4.3.0" ,
3941 "@types/node" : " ^24.7.0" ,
Original file line number Diff line number Diff line change 11import { Component } from '@angular/core' ;
2+ import { exportPivotGrid } from 'devextreme/excel_exporter' ;
3+ import { Workbook } from 'devextreme-exceljs-fork' ;
4+ import { saveAs } from 'file-saver' ;
25import { AdventureWorksService } from './adventureworks.service' ;
36import type { PivotGridDataSource } from './app.types' ;
47
@@ -18,10 +21,15 @@ export class AppComponent {
1821 }
1922
2023 exportGrid ( e : any ) : void {
21- // Export functionality can be implemented here
22- // For this example, we'll just prevent the default export
24+ const workbook = new Workbook ( ) ;
25+ const worksheet = workbook . addWorksheet ( 'Sales' ) ;
26+
27+ exportPivotGrid ( {
28+ component : e . component ,
29+ worksheet,
30+ } ) . then ( ( ) => workbook . xlsx . writeBuffer ( ) . then ( ( buffer : ArrayBuffer ) => {
31+ saveAs ( new Blob ( [ buffer ] , { type : 'application/octet-stream' } ) , 'Sales.xlsx' ) ;
32+ } ) ) . catch ( ( ) => undefined ) ;
2333 e . cancel = true ;
24- // eslint-disable-next-line no-console
25- console . log ( 'Export functionality can be implemented using DevExtreme export capabilities' ) ;
2634 }
2735}
Original file line number Diff line number Diff line change 2323 " ES2022" ,
2424 " dom"
2525 ],
26- "types" : [" node" ]
26+ "types" : [" node" ],
27+ "skipLibCheck" : true
2728 },
2829 "angularCompilerOptions" : {
2930 "enableI18nLegacyMessageIdFormat" : false ,
Original file line number Diff line number Diff line change 1515 },
1616 "dependencies" : {
1717 "devextreme" : " 25.1.3" ,
18+ "devextreme-exceljs-fork" : " ^4.4.3" ,
1819 "devextreme-react" : " 25.1.3" ,
19- "exceljs" : " ^4.4.0" ,
2020 "file-saver" : " ^2.0.5" ,
21+ "jspdf" : " ^3.0.3" ,
2122 "react" : " ^18.2.0" ,
2223 "react-dom" : " ^18.2.0"
2324 },
Original file line number Diff line number Diff line change @@ -8,7 +8,7 @@ import PivotGrid, {
88} from 'devextreme-react/pivot-grid' ;
99import type { PivotGridTypes } from 'devextreme-react/pivot-grid' ;
1010import { exportPivotGrid } from 'devextreme/excel_exporter' ;
11- import { Workbook } from 'exceljs' ;
11+ import { Workbook } from 'devextreme- exceljs-fork ' ;
1212import { saveAs } from 'file-saver' ;
1313import AdventureWorksService from './adventureworks.service' ;
1414
@@ -22,9 +22,8 @@ function App(): JSX.Element {
2222 exportPivotGrid ( {
2323 component : e . component ,
2424 worksheet,
25- } ) . then ( ( ) => workbook . xlsx . writeBuffer ( ) . then ( ( buffer ) => {
25+ } ) . then ( ( ) => workbook . xlsx . writeBuffer ( ) . then ( ( buffer : ArrayBuffer ) => {
2626 saveAs ( new Blob ( [ buffer ] , { type : 'application/octet-stream' } ) , 'Sales.xlsx' ) ;
27- return buffer ;
2827 } ) ) . catch ( ( ) => undefined ) ;
2928 e . cancel = true ;
3029 } , [ ] ) ;
Original file line number Diff line number Diff line change 1313 },
1414 "dependencies" : {
1515 "devextreme" : " 25.1.3" ,
16+ "devextreme-exceljs-fork" : " ^4.4.3" ,
1617 "devextreme-vue" : " 25.1.3" ,
17- "exceljs" : " ^4.4.0" ,
1818 "file-saver" : " ^2.0.5" ,
19+ "jspdf" : " ^3.0.3" ,
1920 "vue" : " ^3.2.45" ,
2021 "vue-router" : " ^4.1.6"
2122 },
Original file line number Diff line number Diff line change 88import type { DxPivotGridTypes } from ' devextreme-vue/pivot-grid' ;
99import AdventureWorksService from ' ../adventureworks.service' ;
1010import { exportPivotGrid } from ' devextreme/excel_exporter' ;
11- import { Workbook } from ' exceljs' ;
11+ import { Workbook } from ' devextreme- exceljs-fork ' ;
1212import { saveAs } from ' file-saver' ;
1313
1414const dataSource = AdventureWorksService .getPivotGridDataSource () as any ;
Original file line number Diff line number Diff line change 2727 "browser-sync" : " ^3.0.2" ,
2828 "devextreme" : " 25.1.3" ,
2929 "devextreme-dist" : " 25.1.3" ,
30- "jquery" : " ^3.7.1"
30+ "devextreme-exceljs-fork" : " ^4.4.3" ,
31+ "file-saver" : " ^2.0.5" ,
32+ "jquery" : " ^3.7.1" ,
33+ "jspdf" : " ^3.0.3"
3134 }
3235}
Original file line number Diff line number Diff line change 88 < link rel ="icon " href ="/favicon.ico " />
99 < link rel ="stylesheet " type ="text/css " href ="../node_modules/devextreme-dist/css/dx.material.blue.light.compact.css " />
1010 < link rel ="stylesheet " type ="text/css " href ="index.css " />
11- < script src ="https://cdnjs.cloudflare.com/ajax/libs/ exceljs/3.8.0/ exceljs.min.js "> </ script >
12- < script src ="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/2.0.5 /FileSaver.min.js "> </ script >
11+ < script src ="../node_modules/devextreme- exceljs-fork/dist/dx- exceljs-fork .min.js "> </ script >
12+ < script src ="../node_modules/file-saver/dist /FileSaver.min.js "> </ script >
1313 < script type ="text/javascript " src ="../node_modules/jquery/dist/jquery.js "> </ script >
1414 < script type ="text/javascript " src ="../node_modules/devextreme-dist/js/dx.all.js "> </ script >
1515 < script type ="text/javascript " src ="index.js "> </ script >
You can’t perform that action at this time.
0 commit comments