@slickgrid-universal/excel-export 2.1.3 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commonjs/excelExport.service.d.ts +33 -8
- package/dist/commonjs/excelExport.service.js +96 -80
- package/dist/commonjs/excelExport.service.js.map +1 -1
- package/dist/commonjs/excelUtils.d.ts +28 -0
- package/dist/commonjs/excelUtils.js +211 -0
- package/dist/commonjs/excelUtils.js.map +1 -0
- package/dist/commonjs/interfaces/excelStylesheet.interface.d.ts +18 -17
- package/dist/commonjs/interfaces/index.d.ts +0 -3
- package/dist/commonjs/interfaces/index.js +0 -3
- package/dist/commonjs/interfaces/index.js.map +1 -1
- package/dist/esm/excelExport.service.d.ts +33 -8
- package/dist/esm/excelExport.service.js +97 -81
- package/dist/esm/excelExport.service.js.map +1 -1
- package/dist/esm/excelUtils.d.ts +28 -0
- package/dist/esm/excelUtils.js +202 -0
- package/dist/esm/excelUtils.js.map +1 -0
- package/dist/esm/interfaces/excelStylesheet.interface.d.ts +18 -17
- package/dist/esm/interfaces/index.d.ts +0 -3
- package/dist/esm/interfaces/index.js +0 -3
- package/dist/esm/interfaces/index.js.map +1 -1
- package/package.json +3 -3
- package/dist/commonjs/interfaces/excelExportOption.interface.d.ts +0 -31
- package/dist/commonjs/interfaces/excelExportOption.interface.js +0 -3
- package/dist/commonjs/interfaces/excelExportOption.interface.js.map +0 -1
- package/dist/commonjs/interfaces/excelWorkbook.interface.d.ts +0 -16
- package/dist/commonjs/interfaces/excelWorkbook.interface.js +0 -3
- package/dist/commonjs/interfaces/excelWorkbook.interface.js.map +0 -1
- package/dist/commonjs/interfaces/excelWorksheet.interface.d.ts +0 -35
- package/dist/commonjs/interfaces/excelWorksheet.interface.js +0 -3
- package/dist/commonjs/interfaces/excelWorksheet.interface.js.map +0 -1
- package/dist/esm/interfaces/excelExportOption.interface.d.ts +0 -31
- package/dist/esm/interfaces/excelExportOption.interface.js +0 -2
- package/dist/esm/interfaces/excelExportOption.interface.js.map +0 -1
- package/dist/esm/interfaces/excelWorkbook.interface.d.ts +0 -16
- package/dist/esm/interfaces/excelWorkbook.interface.js +0 -2
- package/dist/esm/interfaces/excelWorkbook.interface.js.map +0 -1
- package/dist/esm/interfaces/excelWorksheet.interface.d.ts +0 -35
- package/dist/esm/interfaces/excelWorksheet.interface.js +0 -2
- package/dist/esm/interfaces/excelWorksheet.interface.js.map +0 -1
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import * as ExcelBuilder from 'excel-builder-webpacker';
|
|
2
|
-
import * as moment_ from 'moment-mini';
|
|
3
|
-
const moment = moment_['default'] || moment_; // patch to fix rollup "moment has no default export" issue, document here https://github.com/rollup/rollup/issues/670
|
|
4
2
|
import {
|
|
5
3
|
// utility functions
|
|
6
|
-
exportWithFormatterWhenDefined, getTranslationPrefix,
|
|
4
|
+
exportWithFormatterWhenDefined, getTranslationPrefix, sanitizeHtmlToText, Constants, FieldType, FileType, getColumnFieldType, isColumnDateType, } from '@slickgrid-universal/common';
|
|
7
5
|
import { addWhiteSpaces, deepCopy, titleCase } from '@slickgrid-universal/utils';
|
|
6
|
+
import { getGroupTotalValue, getExcelFormatFromGridFormatter, useCellFormatByFieldType, } from './excelUtils';
|
|
8
7
|
const DEFAULT_EXPORT_OPTIONS = {
|
|
9
8
|
filename: 'export',
|
|
10
9
|
format: FileType.xlsx
|
|
@@ -16,6 +15,9 @@ export class ExcelExportService {
|
|
|
16
15
|
this._hasColumnTitlePreHeader = false;
|
|
17
16
|
this._hasGroupedItems = false;
|
|
18
17
|
this._pubSubService = null;
|
|
18
|
+
// references of each detected cell and/or group total formats
|
|
19
|
+
this._regularCellExcelFormats = {};
|
|
20
|
+
this._groupTotalExcelFormats = {};
|
|
19
21
|
/** ExcelExportService class name which is use to find service instance in the external registered services */
|
|
20
22
|
this.className = 'ExcelExportService';
|
|
21
23
|
}
|
|
@@ -30,7 +32,20 @@ export class ExcelExportService {
|
|
|
30
32
|
}
|
|
31
33
|
/** Getter for the Grid Options pulled through the Grid Object */
|
|
32
34
|
get _gridOptions() {
|
|
33
|
-
|
|
35
|
+
var _a;
|
|
36
|
+
return ((_a = this._grid) === null || _a === void 0 ? void 0 : _a.getOptions()) || {};
|
|
37
|
+
}
|
|
38
|
+
get stylesheet() {
|
|
39
|
+
return this._stylesheet;
|
|
40
|
+
}
|
|
41
|
+
get stylesheetFormats() {
|
|
42
|
+
return this._stylesheetFormats;
|
|
43
|
+
}
|
|
44
|
+
get groupTotalExcelFormats() {
|
|
45
|
+
return this._groupTotalExcelFormats;
|
|
46
|
+
}
|
|
47
|
+
get regularCellExcelFormats() {
|
|
48
|
+
return this._regularCellExcelFormats;
|
|
34
49
|
}
|
|
35
50
|
dispose() {
|
|
36
51
|
var _a;
|
|
@@ -62,14 +77,18 @@ export class ExcelExportService {
|
|
|
62
77
|
* Example: exportToExcel({ format: FileType.csv, delimiter: DelimiterType.comma })
|
|
63
78
|
*/
|
|
64
79
|
exportToExcel(options) {
|
|
80
|
+
var _a;
|
|
65
81
|
if (!this._grid || !this._dataView || !this._pubSubService) {
|
|
66
82
|
throw new Error('[Slickgrid-Universal] it seems that the SlickGrid & DataView objects and/or PubSubService are not initialized did you forget to enable the grid option flag "enableExcelExport"?');
|
|
67
83
|
}
|
|
84
|
+
(_a = this._pubSubService) === null || _a === void 0 ? void 0 : _a.publish(`onBeforeExportToExcel`, true);
|
|
85
|
+
this._excelExportOptions = deepCopy({ ...DEFAULT_EXPORT_OPTIONS, ...this._gridOptions.excelExportOptions, ...options });
|
|
86
|
+
this._fileFormat = this._excelExportOptions.format || FileType.xlsx;
|
|
87
|
+
// reset references of detected Excel formats
|
|
88
|
+
this._regularCellExcelFormats = {};
|
|
89
|
+
this._groupTotalExcelFormats = {};
|
|
90
|
+
// wrap in a Promise so that we can add loading spinner
|
|
68
91
|
return new Promise(resolve => {
|
|
69
|
-
var _a;
|
|
70
|
-
(_a = this._pubSubService) === null || _a === void 0 ? void 0 : _a.publish(`onBeforeExportToExcel`, true);
|
|
71
|
-
this._excelExportOptions = deepCopy({ ...DEFAULT_EXPORT_OPTIONS, ...this._gridOptions.excelExportOptions, ...options });
|
|
72
|
-
this._fileFormat = this._excelExportOptions.format || FileType.xlsx;
|
|
73
92
|
// prepare the Excel Workbook & Sheet
|
|
74
93
|
// we can use ExcelBuilder constructor with WebPack but we need to use function calls with RequireJS/SystemJS
|
|
75
94
|
const worksheetOptions = { name: this._excelExportOptions.sheetName || 'Sheet1' };
|
|
@@ -77,26 +96,26 @@ export class ExcelExportService {
|
|
|
77
96
|
this._sheet = ExcelBuilder.Worksheet ? new ExcelBuilder.Worksheet(worksheetOptions) : this._workbook.createWorksheet(worksheetOptions);
|
|
78
97
|
// add any Excel Format/Stylesheet to current Workbook
|
|
79
98
|
this._stylesheet = this._workbook.getStyleSheet();
|
|
99
|
+
// create some common default Excel formatters that will be used
|
|
80
100
|
const boldFormatter = this._stylesheet.createFormat({ font: { bold: true } });
|
|
81
101
|
const stringFormatter = this._stylesheet.createFormat({ format: '@' });
|
|
82
102
|
const numberFormatter = this._stylesheet.createFormat({ format: '0' });
|
|
83
|
-
const usdFormatter = this._stylesheet.createFormat({ format: '$#,##0.00' });
|
|
84
103
|
this._stylesheetFormats = {
|
|
85
104
|
boldFormatter,
|
|
86
|
-
dollarFormatter: usdFormatter,
|
|
87
105
|
numberFormatter,
|
|
88
106
|
stringFormatter,
|
|
89
107
|
};
|
|
108
|
+
this._sheet.setColumnFormats([boldFormatter]);
|
|
90
109
|
// get the CSV output from the grid data
|
|
91
110
|
const dataOutput = this.getDataOutput();
|
|
92
111
|
// trigger a download file
|
|
93
112
|
// wrap it into a setTimeout so that the EventAggregator has enough time to start a pre-process like showing a spinner
|
|
94
113
|
setTimeout(async () => {
|
|
95
|
-
var _a;
|
|
96
|
-
if (this._gridOptions
|
|
114
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
115
|
+
if ((_b = (_a = this._gridOptions) === null || _a === void 0 ? void 0 : _a.excelExportOptions) === null || _b === void 0 ? void 0 : _b.customExcelHeader) {
|
|
97
116
|
this._gridOptions.excelExportOptions.customExcelHeader(this._workbook, this._sheet);
|
|
98
117
|
}
|
|
99
|
-
const columns =
|
|
118
|
+
const columns = ((_c = this._grid) === null || _c === void 0 ? void 0 : _c.getColumns()) || [];
|
|
100
119
|
this._sheet.setColumns(this.getColumnStyles(columns));
|
|
101
120
|
const currentSheetData = this._sheet.data;
|
|
102
121
|
let finalOutput = currentSheetData;
|
|
@@ -106,16 +125,22 @@ export class ExcelExportService {
|
|
|
106
125
|
this._sheet.setData(finalOutput);
|
|
107
126
|
this._workbook.addWorksheet(this._sheet);
|
|
108
127
|
// using ExcelBuilder.Builder.createFile with WebPack but ExcelBuilder.createFile with RequireJS/SystemJS
|
|
109
|
-
const createFileFn =
|
|
110
|
-
|
|
111
|
-
|
|
128
|
+
const createFileFn = (_e = (_d = ExcelBuilder.Builder) === null || _d === void 0 ? void 0 : _d.createFile) !== null && _e !== void 0 ? _e : ExcelBuilder.createFile;
|
|
129
|
+
// MIME type could be undefined, if that's the case we'll detect the type by its file extension
|
|
130
|
+
// user could also provide its own mime type, if however an empty string is provided we will consider to be without any MIME type)
|
|
131
|
+
let mimeType = (_f = this._excelExportOptions) === null || _f === void 0 ? void 0 : _f.mimeType;
|
|
132
|
+
if (mimeType === undefined) {
|
|
133
|
+
mimeType = this._fileFormat === FileType.xls ? 'application/vnd.ms-excel' : 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
|
|
134
|
+
}
|
|
135
|
+
const createFileOptions = mimeType === '' ? { type: 'blob' } : { type: 'blob', mimeType };
|
|
136
|
+
const excelBlob = await createFileFn(this._workbook, createFileOptions);
|
|
112
137
|
const downloadOptions = {
|
|
113
138
|
filename: `${this._excelExportOptions.filename}.${this._fileFormat}`,
|
|
114
139
|
format: this._fileFormat
|
|
115
140
|
};
|
|
116
141
|
// start downloading but add the Blob property only on the start download not on the event itself
|
|
117
142
|
this.startDownloadFile({ ...downloadOptions, blob: excelBlob, data: this._sheet.data });
|
|
118
|
-
(
|
|
143
|
+
(_g = this._pubSubService) === null || _g === void 0 ? void 0 : _g.publish(`onAfterExportToExcel`, downloadOptions);
|
|
119
144
|
resolve(true);
|
|
120
145
|
});
|
|
121
146
|
});
|
|
@@ -169,61 +194,16 @@ export class ExcelExportService {
|
|
|
169
194
|
}
|
|
170
195
|
}
|
|
171
196
|
}
|
|
172
|
-
/** use different Excel Stylesheet Format as per the Field Type */
|
|
173
|
-
useCellFormatByFieldType(data, fieldType) {
|
|
174
|
-
let outputData = data;
|
|
175
|
-
switch (fieldType) {
|
|
176
|
-
case FieldType.dateTime:
|
|
177
|
-
case FieldType.dateTimeIso:
|
|
178
|
-
case FieldType.dateTimeShortIso:
|
|
179
|
-
case FieldType.dateTimeIsoAmPm:
|
|
180
|
-
case FieldType.dateTimeIsoAM_PM:
|
|
181
|
-
case FieldType.dateEuro:
|
|
182
|
-
case FieldType.dateEuroShort:
|
|
183
|
-
case FieldType.dateTimeEuro:
|
|
184
|
-
case FieldType.dateTimeShortEuro:
|
|
185
|
-
case FieldType.dateTimeEuroAmPm:
|
|
186
|
-
case FieldType.dateTimeEuroAM_PM:
|
|
187
|
-
case FieldType.dateTimeEuroShort:
|
|
188
|
-
case FieldType.dateTimeEuroShortAmPm:
|
|
189
|
-
case FieldType.dateUs:
|
|
190
|
-
case FieldType.dateUsShort:
|
|
191
|
-
case FieldType.dateTimeUs:
|
|
192
|
-
case FieldType.dateTimeShortUs:
|
|
193
|
-
case FieldType.dateTimeUsAmPm:
|
|
194
|
-
case FieldType.dateTimeUsAM_PM:
|
|
195
|
-
case FieldType.dateTimeUsShort:
|
|
196
|
-
case FieldType.dateTimeUsShortAmPm:
|
|
197
|
-
case FieldType.dateUtc:
|
|
198
|
-
case FieldType.date:
|
|
199
|
-
case FieldType.dateIso:
|
|
200
|
-
outputData = data;
|
|
201
|
-
if (data) {
|
|
202
|
-
const defaultDateFormat = mapMomentDateFormatWithFieldType(fieldType);
|
|
203
|
-
const isDateValid = moment(data, defaultDateFormat, false).isValid();
|
|
204
|
-
const outputDate = (data && isDateValid) ? moment(data).format(defaultDateFormat) : data;
|
|
205
|
-
const dateFormatter = this._stylesheet.createFormat({ format: defaultDateFormat });
|
|
206
|
-
outputData = { value: outputDate, metadata: { style: dateFormatter.id } };
|
|
207
|
-
}
|
|
208
|
-
break;
|
|
209
|
-
case FieldType.number:
|
|
210
|
-
const num = parseFloat(data);
|
|
211
|
-
const val = isNaN(num) ? null : num;
|
|
212
|
-
outputData = { value: val, metadata: { style: this._stylesheetFormats.numberFormatter.id } };
|
|
213
|
-
break;
|
|
214
|
-
default:
|
|
215
|
-
outputData = data;
|
|
216
|
-
}
|
|
217
|
-
return outputData;
|
|
218
|
-
}
|
|
219
197
|
// -----------------------
|
|
220
198
|
// protected functions
|
|
221
199
|
// -----------------------
|
|
222
200
|
getDataOutput() {
|
|
223
|
-
|
|
201
|
+
var _a, _b;
|
|
202
|
+
const columns = ((_a = this._grid) === null || _a === void 0 ? void 0 : _a.getColumns()) || [];
|
|
224
203
|
// data variable which will hold all the fields data of a row
|
|
225
204
|
const outputData = [];
|
|
226
|
-
const
|
|
205
|
+
const gridExportOptions = (_b = this._gridOptions) === null || _b === void 0 ? void 0 : _b.excelExportOptions;
|
|
206
|
+
const columnHeaderStyle = gridExportOptions === null || gridExportOptions === void 0 ? void 0 : gridExportOptions.columnHeaderStyle;
|
|
227
207
|
let columnHeaderStyleId = this._stylesheetFormats.boldFormatter.id;
|
|
228
208
|
if (columnHeaderStyle) {
|
|
229
209
|
columnHeaderStyleId = this._stylesheet.createFormat(columnHeaderStyle).id;
|
|
@@ -254,13 +234,13 @@ export class ExcelExportService {
|
|
|
254
234
|
});
|
|
255
235
|
}
|
|
256
236
|
columns.forEach((columnDef) => {
|
|
257
|
-
var _a, _b, _c, _d, _e;
|
|
237
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
258
238
|
const skippedField = (_a = columnDef.excludeFromExport) !== null && _a !== void 0 ? _a : false;
|
|
259
239
|
// if column width is 0, then we consider that field as a hidden field and should not be part of the export
|
|
260
240
|
if ((columnDef.width === undefined || columnDef.width > 0) && !skippedField) {
|
|
261
241
|
columnStyles.push({
|
|
262
242
|
bestFit: true,
|
|
263
|
-
width: (
|
|
243
|
+
width: (_g = (_d = (_b = columnDef.exportColumnWidth) !== null && _b !== void 0 ? _b : (_c = columnDef.excelExportOptions) === null || _c === void 0 ? void 0 : _c.width) !== null && _d !== void 0 ? _d : (_f = (_e = this._gridOptions) === null || _e === void 0 ? void 0 : _e.excelExportOptions) === null || _f === void 0 ? void 0 : _f.customColumnWidth) !== null && _g !== void 0 ? _g : 10
|
|
264
244
|
});
|
|
265
245
|
}
|
|
266
246
|
});
|
|
@@ -425,7 +405,7 @@ export class ExcelExportService {
|
|
|
425
405
|
* @param {Object} itemObj - item datacontext object
|
|
426
406
|
*/
|
|
427
407
|
readRegularRowData(columns, row, itemObj) {
|
|
428
|
-
var _a;
|
|
408
|
+
var _a, _b, _c;
|
|
429
409
|
let idx = 0;
|
|
430
410
|
const rowOutputStrings = [];
|
|
431
411
|
const columnsLn = columns.length;
|
|
@@ -434,7 +414,6 @@ export class ExcelExportService {
|
|
|
434
414
|
const itemMetadata = this._dataView.getItemMetadata(row);
|
|
435
415
|
for (let col = 0; col < columnsLn; col++) {
|
|
436
416
|
const columnDef = columns[col];
|
|
437
|
-
const fieldType = columnDef.outputType || columnDef.type || FieldType.string;
|
|
438
417
|
// skip excluded column
|
|
439
418
|
if (columnDef.excludeFromExport) {
|
|
440
419
|
continue;
|
|
@@ -488,17 +467,35 @@ export class ExcelExportService {
|
|
|
488
467
|
}
|
|
489
468
|
}
|
|
490
469
|
else {
|
|
470
|
+
let itemData = '';
|
|
471
|
+
const fieldType = getColumnFieldType(columnDef);
|
|
491
472
|
// -- Read Data & Push to Data Array
|
|
492
|
-
//
|
|
493
|
-
|
|
473
|
+
// user might want to export with Formatter, and/or auto-detect Excel format, and/or export as regular cell data
|
|
474
|
+
// for column that are Date type, we'll always export with their associated Date Formatters unless `exportWithFormatter` is specifically set to false
|
|
475
|
+
const exportOptions = { ...this._excelExportOptions };
|
|
476
|
+
if ((columnDef === null || columnDef === void 0 ? void 0 : columnDef.exportWithFormatter) !== false && isColumnDateType(fieldType)) {
|
|
477
|
+
exportOptions.exportWithFormatter = true;
|
|
478
|
+
}
|
|
479
|
+
itemData = exportWithFormatterWhenDefined(row, col, columnDef, itemObj, this._grid, exportOptions);
|
|
480
|
+
// auto-detect best possible Excel format, unless the user provide his own formatting,
|
|
481
|
+
// we only do this check once per column (everything after that will be pull from temp ref)
|
|
482
|
+
if (!this._regularCellExcelFormats.hasOwnProperty(columnDef.id)) {
|
|
483
|
+
const cellStyleFormat = useCellFormatByFieldType(this._stylesheet, this._stylesheetFormats, columnDef, this._grid);
|
|
484
|
+
// user could also override style and/or valueParserCallback
|
|
485
|
+
if ((_b = columnDef.excelExportOptions) === null || _b === void 0 ? void 0 : _b.style) {
|
|
486
|
+
cellStyleFormat.stylesheetFormatterId = this._stylesheet.createFormat(columnDef.excelExportOptions.style).id;
|
|
487
|
+
}
|
|
488
|
+
if ((_c = columnDef.excelExportOptions) === null || _c === void 0 ? void 0 : _c.valueParserCallback) {
|
|
489
|
+
cellStyleFormat.getDataValueParser = columnDef.excelExportOptions.valueParserCallback;
|
|
490
|
+
}
|
|
491
|
+
this._regularCellExcelFormats[columnDef.id] = cellStyleFormat;
|
|
492
|
+
}
|
|
493
|
+
const { stylesheetFormatterId, getDataValueParser } = this._regularCellExcelFormats[columnDef.id];
|
|
494
|
+
itemData = getDataValueParser(itemData, columnDef, stylesheetFormatterId, this._stylesheet);
|
|
494
495
|
// does the user want to sanitize the output data (remove HTML tags)?
|
|
495
|
-
if (columnDef.sanitizeDataExport || this._excelExportOptions.sanitizeDataExport) {
|
|
496
|
+
if (typeof itemData === 'string' && (columnDef.sanitizeDataExport || this._excelExportOptions.sanitizeDataExport)) {
|
|
496
497
|
itemData = sanitizeHtmlToText(itemData);
|
|
497
498
|
}
|
|
498
|
-
// use different Excel Stylesheet Format as per the Field Type
|
|
499
|
-
if (!columnDef.exportWithFormatter) {
|
|
500
|
-
itemData = this.useCellFormatByFieldType(itemData, fieldType);
|
|
501
|
-
}
|
|
502
499
|
rowOutputStrings.push(itemData);
|
|
503
500
|
idx++;
|
|
504
501
|
}
|
|
@@ -528,19 +525,38 @@ export class ExcelExportService {
|
|
|
528
525
|
const groupingAggregatorRowText = this._excelExportOptions.groupingAggregatorRowText || '';
|
|
529
526
|
const outputStrings = [groupingAggregatorRowText];
|
|
530
527
|
columns.forEach((columnDef) => {
|
|
528
|
+
var _a, _b, _c, _d, _e;
|
|
531
529
|
let itemData = '';
|
|
530
|
+
const fieldType = getColumnFieldType(columnDef);
|
|
532
531
|
const skippedField = columnDef.excludeFromExport || false;
|
|
533
532
|
// if there's a exportCustomGroupTotalsFormatter or groupTotalsFormatter, we will re-run it to get the exact same output as what is shown in UI
|
|
534
533
|
if (columnDef.exportCustomGroupTotalsFormatter) {
|
|
535
534
|
itemData = columnDef.exportCustomGroupTotalsFormatter(itemObj, columnDef, this._grid);
|
|
536
535
|
}
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
536
|
+
// auto-detect best possible Excel format for Group Totals, unless the user provide his own formatting,
|
|
537
|
+
// we only do this check once per column (everything after that will be pull from temp ref)
|
|
538
|
+
if (fieldType === FieldType.number) {
|
|
539
|
+
let groupCellFormat = this._groupTotalExcelFormats[columnDef.id];
|
|
540
|
+
if (!(groupCellFormat === null || groupCellFormat === void 0 ? void 0 : groupCellFormat.groupType)) {
|
|
541
|
+
groupCellFormat = getExcelFormatFromGridFormatter(this._stylesheet, this._stylesheetFormats, columnDef, this._grid, 'group');
|
|
542
|
+
if ((_a = columnDef.groupTotalsExcelExportOptions) === null || _a === void 0 ? void 0 : _a.style) {
|
|
543
|
+
groupCellFormat.stylesheetFormatter = this._stylesheet.createFormat(columnDef.groupTotalsExcelExportOptions.style);
|
|
544
|
+
}
|
|
545
|
+
this._groupTotalExcelFormats[columnDef.id] = groupCellFormat;
|
|
546
|
+
}
|
|
547
|
+
const groupTotalParser = (_c = (_b = columnDef.groupTotalsExcelExportOptions) === null || _b === void 0 ? void 0 : _b.valueParserCallback) !== null && _c !== void 0 ? _c : getGroupTotalValue;
|
|
548
|
+
if (((_d = itemObj[groupCellFormat.groupType]) === null || _d === void 0 ? void 0 : _d[columnDef.field]) !== undefined) {
|
|
549
|
+
itemData = {
|
|
550
|
+
value: groupTotalParser(itemObj, columnDef, groupCellFormat.groupType, this._stylesheet),
|
|
551
|
+
metadata: { style: (_e = groupCellFormat.stylesheetFormatter) === null || _e === void 0 ? void 0 : _e.id }
|
|
552
|
+
};
|
|
540
553
|
}
|
|
541
554
|
}
|
|
555
|
+
else if (columnDef.groupTotalsFormatter) {
|
|
556
|
+
itemData = columnDef.groupTotalsFormatter(itemObj, columnDef, this._grid);
|
|
557
|
+
}
|
|
542
558
|
// does the user want to sanitize the output data (remove HTML tags)?
|
|
543
|
-
if (columnDef.sanitizeDataExport || this._excelExportOptions.sanitizeDataExport) {
|
|
559
|
+
if (typeof itemData === 'string' && (columnDef.sanitizeDataExport || this._excelExportOptions.sanitizeDataExport)) {
|
|
544
560
|
itemData = sanitizeHtmlToText(itemData);
|
|
545
561
|
}
|
|
546
562
|
// add the column (unless user wants to skip it)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"excelExport.service.js","sourceRoot":"","sources":["../../src/excelExport.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"excelExport.service.js","sourceRoot":"","sources":["../../src/excelExport.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Column, ExcelStylesheet, FormatterType, GetDataValueCallback, SlickGrid } from '@slickgrid-universal/common';
|
|
2
|
+
export type ExcelFormatter = object & {
|
|
3
|
+
id: number;
|
|
4
|
+
};
|
|
5
|
+
export declare const getExcelSameInputDataCallback: GetDataValueCallback;
|
|
6
|
+
export declare const getExcelNumberCallback: GetDataValueCallback;
|
|
7
|
+
/** use different Excel Stylesheet Format as per the Field Type */
|
|
8
|
+
export declare function useCellFormatByFieldType(stylesheet: ExcelStylesheet, stylesheetFormatters: any, columnDef: Column, grid: SlickGrid): {
|
|
9
|
+
stylesheetFormatterId: number | undefined;
|
|
10
|
+
getDataValueParser: GetDataValueCallback;
|
|
11
|
+
};
|
|
12
|
+
export declare function getGroupTotalValue(totals: any, columnDef: Column, groupType: string): any;
|
|
13
|
+
/** Get numeric formatter options when defined or use default values (minDecimal, maxDecimal, thousandSeparator, decimalSeparator, wrapNegativeNumber) */
|
|
14
|
+
export declare function getNumericFormatterOptions(columnDef: Column, grid: SlickGrid, formatterType: FormatterType): {
|
|
15
|
+
minDecimal: any;
|
|
16
|
+
maxDecimal: any;
|
|
17
|
+
decimalSeparator: any;
|
|
18
|
+
thousandSeparator: any;
|
|
19
|
+
wrapNegativeNumber: any;
|
|
20
|
+
currencyPrefix: any;
|
|
21
|
+
currencySuffix: any;
|
|
22
|
+
numberPrefix: string;
|
|
23
|
+
numberSuffix: string;
|
|
24
|
+
};
|
|
25
|
+
export declare function getExcelFormatFromGridFormatter(stylesheet: ExcelStylesheet, stylesheetFormatters: any, columnDef: Column, grid: SlickGrid, formatterType: FormatterType): {
|
|
26
|
+
stylesheetFormatter: ExcelFormatter;
|
|
27
|
+
groupType: string;
|
|
28
|
+
};
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import { FieldType, Formatters, getColumnFieldType, GroupTotalFormatters, isNumber, retrieveFormatterOptions, sanitizeHtmlToText, } from '@slickgrid-universal/common';
|
|
2
|
+
// define all type of potential excel data function callbacks
|
|
3
|
+
export const getExcelSameInputDataCallback = (data) => data;
|
|
4
|
+
export const getExcelNumberCallback = (data, _col, excelFormatterId) => ({
|
|
5
|
+
value: isNumber(data) ? +data : data,
|
|
6
|
+
metadata: { style: excelFormatterId }
|
|
7
|
+
});
|
|
8
|
+
/** use different Excel Stylesheet Format as per the Field Type */
|
|
9
|
+
export function useCellFormatByFieldType(stylesheet, stylesheetFormatters, columnDef, grid) {
|
|
10
|
+
const fieldType = getColumnFieldType(columnDef);
|
|
11
|
+
let stylesheetFormatterId;
|
|
12
|
+
let callback = getExcelSameInputDataCallback;
|
|
13
|
+
if (fieldType === FieldType.number) {
|
|
14
|
+
stylesheetFormatterId = getExcelFormatFromGridFormatter(stylesheet, stylesheetFormatters, columnDef, grid, 'cell').stylesheetFormatter.id;
|
|
15
|
+
callback = getExcelNumberCallback;
|
|
16
|
+
}
|
|
17
|
+
return { stylesheetFormatterId, getDataValueParser: callback };
|
|
18
|
+
}
|
|
19
|
+
export function getGroupTotalValue(totals, columnDef, groupType) {
|
|
20
|
+
var _a, _b;
|
|
21
|
+
return (_b = (_a = totals === null || totals === void 0 ? void 0 : totals[groupType]) === null || _a === void 0 ? void 0 : _a[columnDef.field]) !== null && _b !== void 0 ? _b : 0;
|
|
22
|
+
}
|
|
23
|
+
/** Get numeric formatter options when defined or use default values (minDecimal, maxDecimal, thousandSeparator, decimalSeparator, wrapNegativeNumber) */
|
|
24
|
+
export function getNumericFormatterOptions(columnDef, grid, formatterType) {
|
|
25
|
+
let dataType;
|
|
26
|
+
if (formatterType === 'group') {
|
|
27
|
+
switch (columnDef.groupTotalsFormatter) {
|
|
28
|
+
case GroupTotalFormatters.avgTotalsCurrency:
|
|
29
|
+
case GroupTotalFormatters.avgTotalsDollar:
|
|
30
|
+
case GroupTotalFormatters.sumTotalsCurrency:
|
|
31
|
+
case GroupTotalFormatters.sumTotalsCurrencyColored:
|
|
32
|
+
case GroupTotalFormatters.sumTotalsDollar:
|
|
33
|
+
case GroupTotalFormatters.sumTotalsDollarBold:
|
|
34
|
+
case GroupTotalFormatters.sumTotalsDollarColored:
|
|
35
|
+
case GroupTotalFormatters.sumTotalsDollarColoredBold:
|
|
36
|
+
dataType = 'currency';
|
|
37
|
+
break;
|
|
38
|
+
case GroupTotalFormatters.avgTotalsPercentage:
|
|
39
|
+
dataType = 'percent';
|
|
40
|
+
break;
|
|
41
|
+
case GroupTotalFormatters.avgTotals:
|
|
42
|
+
case GroupTotalFormatters.minTotals:
|
|
43
|
+
case GroupTotalFormatters.maxTotals:
|
|
44
|
+
case GroupTotalFormatters.sumTotals:
|
|
45
|
+
case GroupTotalFormatters.sumTotalsColored:
|
|
46
|
+
case GroupTotalFormatters.sumTotalsBold:
|
|
47
|
+
default:
|
|
48
|
+
// side note, formatters are using "regular" without any decimal limits (min, max),
|
|
49
|
+
// however in Excel export with custom format that doesn't work so well, we should use "decimal" to at least show optional decimals with "##"
|
|
50
|
+
dataType = 'decimal';
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
switch (columnDef.formatter) {
|
|
56
|
+
case Formatters.currency:
|
|
57
|
+
case Formatters.dollar:
|
|
58
|
+
case Formatters.dollarColored:
|
|
59
|
+
case Formatters.dollarColoredBold:
|
|
60
|
+
dataType = 'currency';
|
|
61
|
+
break;
|
|
62
|
+
case Formatters.percent:
|
|
63
|
+
case Formatters.percentComplete:
|
|
64
|
+
case Formatters.percentCompleteBar:
|
|
65
|
+
case Formatters.percentCompleteBarWithText:
|
|
66
|
+
case Formatters.percentSymbol:
|
|
67
|
+
dataType = 'percent';
|
|
68
|
+
break;
|
|
69
|
+
case Formatters.decimal:
|
|
70
|
+
default:
|
|
71
|
+
// use "decimal" instead of "regular" to show optional decimals "##" in Excel
|
|
72
|
+
dataType = 'decimal';
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return retrieveFormatterOptions(columnDef, grid, dataType, formatterType);
|
|
77
|
+
}
|
|
78
|
+
export function getExcelFormatFromGridFormatter(stylesheet, stylesheetFormatters, columnDef, grid, formatterType) {
|
|
79
|
+
let format = '';
|
|
80
|
+
let groupType = '';
|
|
81
|
+
let stylesheetFormatter;
|
|
82
|
+
const fieldType = getColumnFieldType(columnDef);
|
|
83
|
+
if (formatterType === 'group') {
|
|
84
|
+
switch (columnDef.groupTotalsFormatter) {
|
|
85
|
+
case GroupTotalFormatters.avgTotals:
|
|
86
|
+
case GroupTotalFormatters.avgTotalsCurrency:
|
|
87
|
+
case GroupTotalFormatters.avgTotalsDollar:
|
|
88
|
+
case GroupTotalFormatters.avgTotalsPercentage:
|
|
89
|
+
groupType = 'avg';
|
|
90
|
+
break;
|
|
91
|
+
case GroupTotalFormatters.minTotals:
|
|
92
|
+
groupType = 'min';
|
|
93
|
+
break;
|
|
94
|
+
case GroupTotalFormatters.maxTotals:
|
|
95
|
+
groupType = 'max';
|
|
96
|
+
break;
|
|
97
|
+
case GroupTotalFormatters.sumTotals:
|
|
98
|
+
case GroupTotalFormatters.sumTotalsBold:
|
|
99
|
+
case GroupTotalFormatters.sumTotalsColored:
|
|
100
|
+
case GroupTotalFormatters.sumTotalsCurrency:
|
|
101
|
+
case GroupTotalFormatters.sumTotalsCurrencyColored:
|
|
102
|
+
case GroupTotalFormatters.sumTotalsDollar:
|
|
103
|
+
case GroupTotalFormatters.sumTotalsDollarColoredBold:
|
|
104
|
+
case GroupTotalFormatters.sumTotalsDollarColored:
|
|
105
|
+
case GroupTotalFormatters.sumTotalsDollarBold:
|
|
106
|
+
groupType = 'sum';
|
|
107
|
+
break;
|
|
108
|
+
default:
|
|
109
|
+
stylesheetFormatter = stylesheetFormatters.numberFormatter;
|
|
110
|
+
break;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
switch (fieldType) {
|
|
115
|
+
case FieldType.number:
|
|
116
|
+
switch (columnDef.formatter) {
|
|
117
|
+
case Formatters.currency:
|
|
118
|
+
case Formatters.decimal:
|
|
119
|
+
case Formatters.dollar:
|
|
120
|
+
case Formatters.dollarColored:
|
|
121
|
+
case Formatters.dollarColoredBold:
|
|
122
|
+
case Formatters.percent:
|
|
123
|
+
case Formatters.percentComplete:
|
|
124
|
+
case Formatters.percentCompleteBar:
|
|
125
|
+
case Formatters.percentCompleteBarWithText:
|
|
126
|
+
case Formatters.percentSymbol:
|
|
127
|
+
format = createExcelFormatFromGridFormatter(columnDef, grid, 'cell');
|
|
128
|
+
break;
|
|
129
|
+
default:
|
|
130
|
+
stylesheetFormatter = stylesheetFormatters.numberFormatter;
|
|
131
|
+
break;
|
|
132
|
+
}
|
|
133
|
+
break;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
if (!stylesheetFormatter && (columnDef.formatter || columnDef.groupTotalsFormatter)) {
|
|
137
|
+
format = createExcelFormatFromGridFormatter(columnDef, grid, formatterType, groupType);
|
|
138
|
+
if (!stylesheetFormatters.hasOwnProperty(format)) {
|
|
139
|
+
stylesheetFormatters[format] = stylesheet.createFormat({ format }); // save new formatter with its format as a prop key
|
|
140
|
+
}
|
|
141
|
+
stylesheetFormatter = stylesheetFormatters[format];
|
|
142
|
+
}
|
|
143
|
+
return { stylesheetFormatter: stylesheetFormatter, groupType };
|
|
144
|
+
}
|
|
145
|
+
// --
|
|
146
|
+
// private functions
|
|
147
|
+
// ------------------
|
|
148
|
+
function createFormatFromNumber(formattedVal) {
|
|
149
|
+
// full number syntax can have up to 7 sections, for example::
|
|
150
|
+
// Total: ($10,420.55 USD) Expensed
|
|
151
|
+
const [
|
|
152
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
153
|
+
_, prefix, openBraquet, symbolPrefix, number, symbolSuffix, closingBraquet, suffix] = (formattedVal === null || formattedVal === void 0 ? void 0 : formattedVal.match(/^([^\d\(\-]*)([\(]?)([^\d]*)([\-]?[\w]]?[\d\s]*[.,\d]*[\d]*[^)\s\%]?)([^\d.,)]*)([\)]?)([^\d]*)$/i)) || [];
|
|
154
|
+
// we use 1 so that they won't be removed when rounding numbers, however Excel uses 0 and # symbol
|
|
155
|
+
// replace 1's by 0's (required numbers) and replace 2's by "#" (optional numbers)
|
|
156
|
+
const replacedNumber = (number || '').replace(/1/g, '0').replace(/[2]/g, '#');
|
|
157
|
+
const format = [
|
|
158
|
+
escapeQuotes(prefix !== null && prefix !== void 0 ? prefix : ''),
|
|
159
|
+
openBraquet !== null && openBraquet !== void 0 ? openBraquet : '',
|
|
160
|
+
escapeQuotes(symbolPrefix !== null && symbolPrefix !== void 0 ? symbolPrefix : ''),
|
|
161
|
+
replacedNumber,
|
|
162
|
+
escapeQuotes(symbolSuffix !== null && symbolSuffix !== void 0 ? symbolSuffix : ''),
|
|
163
|
+
closingBraquet !== null && closingBraquet !== void 0 ? closingBraquet : '',
|
|
164
|
+
escapeQuotes(suffix !== null && suffix !== void 0 ? suffix : '')
|
|
165
|
+
].join('');
|
|
166
|
+
return format.replace(',', '\,');
|
|
167
|
+
}
|
|
168
|
+
function createExcelFormatFromGridFormatter(columnDef, grid, formatterType, groupType = '') {
|
|
169
|
+
let outputFormat = '';
|
|
170
|
+
let positiveFormat = '';
|
|
171
|
+
let negativeFormat = '';
|
|
172
|
+
const { minDecimal, maxDecimal, thousandSeparator } = getNumericFormatterOptions(columnDef, grid, formatterType);
|
|
173
|
+
const leftInteger = thousandSeparator ? '2220' : '0';
|
|
174
|
+
const testingNo = parseFloat(`${leftInteger}.${excelTestingDecimalNumberPadding(minDecimal, maxDecimal)}`);
|
|
175
|
+
if (formatterType === 'group' && columnDef.groupTotalsFormatter) {
|
|
176
|
+
positiveFormat = sanitizeHtmlToText(columnDef.groupTotalsFormatter({ [groupType]: { [columnDef.field]: testingNo } }, columnDef, grid));
|
|
177
|
+
negativeFormat = sanitizeHtmlToText(columnDef.groupTotalsFormatter({ [groupType]: { [columnDef.field]: -testingNo } }, columnDef, grid));
|
|
178
|
+
}
|
|
179
|
+
else if (columnDef.formatter) {
|
|
180
|
+
positiveFormat = sanitizeHtmlToText(columnDef.formatter(0, 0, testingNo, columnDef, {}, grid));
|
|
181
|
+
negativeFormat = sanitizeHtmlToText(columnDef.formatter(0, 0, -testingNo, columnDef, {}, grid));
|
|
182
|
+
}
|
|
183
|
+
if (positiveFormat && negativeFormat) {
|
|
184
|
+
outputFormat = createFormatFromNumber(positiveFormat) + ';' + createFormatFromNumber(negativeFormat);
|
|
185
|
+
}
|
|
186
|
+
return outputFormat;
|
|
187
|
+
}
|
|
188
|
+
function escapeQuotes(val) {
|
|
189
|
+
return val ? `"${val}"` : val;
|
|
190
|
+
}
|
|
191
|
+
/** Get number format for a number cell, for example { minDecimal: 2, maxDecimal: 5 } will return "00###" */
|
|
192
|
+
function excelTestingDecimalNumberPadding(minDecimal, maxDecimal) {
|
|
193
|
+
return textPadding('1', minDecimal) + textPadding('2', maxDecimal - minDecimal);
|
|
194
|
+
}
|
|
195
|
+
function textPadding(numberStr, count) {
|
|
196
|
+
let output = '';
|
|
197
|
+
for (let i = 0; i < count; i++) {
|
|
198
|
+
output += numberStr;
|
|
199
|
+
}
|
|
200
|
+
return output;
|
|
201
|
+
}
|
|
202
|
+
//# sourceMappingURL=excelUtils.js.map
|