Skip to content

Commit 97fecec

Browse files
committed
fix(ExcelExport): Fixed hierarchical row dimensions export.
1 parent a3ed46c commit 97fecec

File tree

4 files changed

+120
-77
lines changed

4 files changed

+120
-77
lines changed

projects/igniteui-angular/src/lib/services/excel/excel-exporter-grid.spec.ts

Lines changed: 33 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1461,7 +1461,7 @@ describe('Excel Exporter', () => {
14611461
let grid: IgxPivotGridComponent;
14621462

14631463
beforeEach(waitForAsync(() => {
1464-
options = createExportOptions('PivotGridGridExcelExport');
1464+
options = createExportOptions('PivotGridExcelExport');
14651465
}));
14661466

14671467
it('should export pivot grid', async () => {
@@ -1494,39 +1494,40 @@ describe('Excel Exporter', () => {
14941494
fix.componentInstance.data = SALES_DATA;
14951495
fix.componentInstance.pivotConfigHierarchy = {
14961496
rows: [
1497-
{
1498-
memberName: 'All_Srep Codes',
1499-
enabled: true,
1500-
width: '150px',
1501-
childLevel: {
1502-
memberName: 'SREP_CODE',
1503-
displayName: 'Srep Code',
1504-
sortDirection: 1,
1505-
enabled: true,
1506-
},
1507-
},
1508-
{
1509-
memberName: 'All_Srep Code Alts',
1510-
enabled: true,
1511-
width: '150px',
1512-
childLevel: {
1513-
memberName: 'SREP_CODE_ALT',
1514-
displayName: 'Srep Code Alt',
1515-
sortDirection: 1,
1497+
{
1498+
memberName: 'All_Srep Code Alts',
15161499
enabled: true,
1500+
width: '150px',
1501+
childLevel: {
1502+
memberName: 'SREP_CODE_ALT',
1503+
displayName: 'Srep Code Alt',
1504+
sortDirection: 1,
1505+
enabled: true,
1506+
},
15171507
},
1518-
},
1519-
{
1520-
memberName: 'All_Customers',
1521-
enabled: true,
1522-
width: '150px',
1523-
childLevel: {
1524-
memberName: 'CUST_CODE',
1525-
displayName: 'Customer',
1526-
sortDirection: 1,
1527-
enabled: true,
1508+
{
1509+
memberName: 'All_Srep Codes',
1510+
enabled: true,
1511+
width: '150px',
1512+
childLevel: {
1513+
memberName: 'SREP_CODE',
1514+
displayName: 'Srep Code',
1515+
sortDirection: 1,
1516+
enabled: true,
1517+
},
15281518
},
1529-
}
1519+
{
1520+
// memberFunction: () => 'All Customers',
1521+
memberName: 'All_Customers',
1522+
enabled: true,
1523+
width: '150px',
1524+
childLevel: {
1525+
memberName: 'CUST_CODE',
1526+
displayName: 'Customer',
1527+
sortDirection: 1,
1528+
enabled: true,
1529+
},
1530+
}
15301531
],
15311532
columns: [],
15321533
values: [
@@ -1557,7 +1558,7 @@ describe('Excel Exporter', () => {
15571558
fix.detectChanges();
15581559
await wait(300);
15591560

1560-
await exportAndVerify(grid, options, actualData.exportPivotGridDataWithHeaders, false);
1561+
await exportAndVerify(grid, options, actualData.exportPivotGridHierarchicalRowDimensions, false);
15611562
});
15621563

15631564
it('should export hierarchical pivot grid', async () => {

projects/igniteui-angular/src/lib/services/excel/excel-files.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -632,7 +632,7 @@ export class WorksheetFile implements IExcelFile {
632632
for (const currentCol of headersForLevel) {
633633
const spanLength = isVertical ? currentCol.rowSpan : currentCol.columnSpan;
634634

635-
if (currentCol.level === i && currentCol.headerType !== ExportHeaderType.PivotMergedHeader) {
635+
if (currentCol.level === i) {
636636
let columnCoordinate;
637637
const column = isVertical
638638
? this.rowIndex
@@ -644,7 +644,10 @@ export class WorksheetFile implements IExcelFile {
644644
if (currentCol.headerType === ExportHeaderType.PivotRowHeader) {
645645
rowCoordinate = startValue + 1;
646646
}
647-
const columnValue = dictionary.saveValue(currentCol.header, true, false);
647+
648+
const columnValue = currentCol.headerType === ExportHeaderType.PivotMergedHeader ?
649+
dictionary.saveValue(currentCol.field, true, true) :
650+
dictionary.saveValue(currentCol.header, true, false);
648651

649652
columnCoordinate = (currentCol.field === GRID_LEVEL_COL
650653
? ExcelStrings.getExcelColumn(worksheetData.columnCount + 1)

0 commit comments

Comments
 (0)