@stamhoofd/excel-writer 2.80.1 → 2.81.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.
@@ -1 +1 @@
1
- {"version":3,"file":"XlsxColumnFilterer.d.ts","sourceRoot":"","sources":["../../src/XlsxColumnFilterer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,4BAA4B,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGrI;;;GAGG;AACH,qBAAa,kBAAkB,CAAC,CAAC;IAC7B,SAAS,EAAE,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;gBAElC,SAAS,EAAE,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE;IAIzD,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,4BAA4B,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE;CAqFxF"}
1
+ {"version":3,"file":"XlsxColumnFilterer.d.ts","sourceRoot":"","sources":["../../src/XlsxColumnFilterer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,4BAA4B,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGrI;;;GAGG;AACH,qBAAa,kBAAkB,CAAC,CAAC;IAC7B,SAAS,EAAE,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;gBAElC,SAAS,EAAE,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE;IAIzD,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,4BAA4B,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE;CA2HxF"}
@@ -30,13 +30,14 @@ class XlsxColumnFilterer {
30
30
  }
31
31
  // Validate sheetFilter
32
32
  const concreteColumns = [];
33
- for (const { id, name } of sheetFilter.columns) {
33
+ for (const { id, name, category } of sheetFilter.columns) {
34
34
  let found = false;
35
35
  for (const column of sheet.columns) {
36
36
  if ('id' in column) {
37
37
  if (column.id === id) {
38
38
  const c = { ...column };
39
39
  c.name = name || c.name;
40
+ c.category = (category !== undefined ? category : c.category) ?? undefined;
40
41
  concreteColumns.push(c);
41
42
  found = true;
42
43
  break;
@@ -45,13 +46,47 @@ class XlsxColumnFilterer {
45
46
  else {
46
47
  const matched = column.match(id);
47
48
  if (matched !== undefined) {
49
+ if (category !== undefined) {
50
+ for (const m of matched) {
51
+ m.category = category ?? undefined;
52
+ }
53
+ }
48
54
  if (name) {
49
55
  for (const m of matched) {
50
56
  if (matched.length === 1) {
51
57
  m.name = name || m.name;
52
58
  }
53
59
  else {
54
- m.name = name + ' ' + m.name;
60
+ if (!m.name) {
61
+ m.name = name || m.name;
62
+ }
63
+ else {
64
+ if (m.name === name) {
65
+ // ignore
66
+ continue;
67
+ }
68
+ if (m.category === null || m.category === undefined) {
69
+ if (name === m.defaultCategory) {
70
+ // No real added value of repating this if we can't add it cleanly
71
+ continue;
72
+ }
73
+ // Never create a category if it was not set
74
+ m.name = name + ' ' + m.name;
75
+ }
76
+ else {
77
+ if (m.category.trim().length > 0) {
78
+ if (name === m.defaultCategory) {
79
+ // No real added value of repating this if we can't add it cleanly
80
+ continue;
81
+ }
82
+ m.category = m.category.trim() + (' → ' + name);
83
+ }
84
+ else {
85
+ m.category = name;
86
+ }
87
+ m.name = m.name ?? '';
88
+ }
89
+ }
55
90
  }
56
91
  }
57
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"XlsxColumnFilterer.js","sourceRoot":"","sources":["../../src/XlsxColumnFilterer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"XlsxColumnFilterer.js","sourceRoot":"","sources":["../../src/XlsxColumnFilterer.ts"],"names":[],"mappings":";;;AACA,6DAAwD;AAExD;;;GAGG;AACH,MAAa,kBAAkB;IAC3B,SAAS,CAAqC;IAE9C,YAAY,SAA6C;QACrD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,aAAa,CAAC,MAA0B;QACpC,uBAAuB;QACvB,KAAK,MAAM,EAAE,EAAE,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;gBACjD,MAAM,IAAI,2BAAW,CAAC;oBAClB,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,gBAAgB,GAAG,EAAE;oBAC9B,KAAK,EAAE,oBAAoB,GAAG,EAAE,GAAG,sCAAsC;oBACzE,UAAU,EAAE,GAAG;iBAClB,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;YAE/D,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,OAAO,EAAE,CAAC;YACd,CAAC;YAED,uBAAuB;YACvB,MAAM,eAAe,GAAuC,EAAE,CAAC;YAC/D,KAAK,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;gBACvD,IAAI,KAAK,GAAG,KAAK,CAAC;gBAElB,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBACjC,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;wBACjB,IAAI,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;4BACnB,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;4BACxB,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC;4BACxB,CAAC,CAAC,QAAQ,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC;4BAC3E,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;4BACxB,KAAK,GAAG,IAAI,CAAC;4BACb,MAAM;wBACV,CAAC;oBACL,CAAC;yBACI,CAAC;wBACF,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBACjC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;4BACxB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gCACzB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oCACtB,CAAC,CAAC,QAAQ,GAAG,QAAQ,IAAI,SAAS,CAAC;gCACvC,CAAC;4BACL,CAAC;4BAED,IAAI,IAAI,EAAE,CAAC;gCACP,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oCACtB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wCACvB,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC;oCAC5B,CAAC;yCACI,CAAC;wCACF,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;4CACV,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC;wCAC5B,CAAC;6CACI,CAAC;4CACF,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gDAClB,SAAS;gDACT,SAAS;4CACb,CAAC;4CAED,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gDAClD,IAAI,IAAI,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;oDAC7B,kEAAkE;oDAClE,SAAS;gDACb,CAAC;gDAED,4CAA4C;gDAC5C,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC;4CACjC,CAAC;iDACI,CAAC;gDACF,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oDAC/B,IAAI,IAAI,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;wDAC7B,kEAAkE;wDAClE,SAAS;oDACb,CAAC;oDACD,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;gDACpD,CAAC;qDACI,CAAC;oDACF,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;gDACtB,CAAC;gDACD,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;4CAC1B,CAAC;wCACL,CAAC;oCACL,CAAC;gCACL,CAAC;4BACL,CAAC;4BACD,eAAe,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;4BACjC,KAAK,GAAG,IAAI,CAAC;4BACb,MAAM;wBACV,CAAC;oBACL,CAAC;gBACL,CAAC;gBAED,IAAI,CAAC,KAAK,EAAE,CAAC;oBACT,MAAM,IAAI,2BAAW,CAAC;wBAClB,IAAI,EAAE,gBAAgB;wBACtB,OAAO,EAAE,iBAAiB,GAAG,EAAE;wBAC/B,KAAK,EAAE,kBAAkB,GAAG,EAAE,GAAG,sCAAsC;wBACvE,UAAU,EAAE,GAAG;qBAClB,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;YACD,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,EAAE,CAAC;YACd,CAAC;YAED,OAAO,CAAC;oBACJ,GAAG,KAAK;oBACR,OAAO,EAAE,eAAe;iBAC3B,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,2BAAW,CAAC;gBAClB,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,qBAAqB;gBAC9B,KAAK,EAAE,mCAAmC;gBAC1C,UAAU,EAAE,GAAG;aAClB,CAAC,CAAC;QACP,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAlID,gDAkIC"}
@@ -1 +1 @@
1
- {"version":3,"file":"XlsxTransformer.d.ts","sourceRoot":"","sources":["../../src/XlsxTransformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAErG;;;GAGG;AACH,qBAAa,eAAe,CAAC,CAAC;IAC1B,MAAM,EAAE,4BAA4B,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;IACnD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE,GAAG,CAAC,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,CAAa;gBAExD,MAAM,EAAE,4BAA4B,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,iBAAiB;IAKnF,IAAI;IA+BJ,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE;CAc1B"}
1
+ {"version":3,"file":"XlsxTransformer.d.ts","sourceRoot":"","sources":["../../src/XlsxTransformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,4BAA4B,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEpI;;;GAGG;AACH,qBAAa,eAAe,CAAC,CAAC;IAC1B,MAAM,EAAE,4BAA4B,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;IACnD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE,GAAG,CAAC,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,CAAa;gBAExD,MAAM,EAAE,4BAA4B,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,iBAAiB;IAKnF,IAAI;IAmFJ,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE;CAc1B"}
@@ -28,6 +28,52 @@ class XlsxTransformer {
28
28
  if (!sheetSymbol) {
29
29
  throw new Error('Sheet not found');
30
30
  }
31
+ const hasColumns = sheet.columns.find(col => !!col.category);
32
+ if (hasColumns) {
33
+ const categories = [];
34
+ for (const col of sheet.columns) {
35
+ const lastCategory = categories[categories.length - 1];
36
+ if (lastCategory && lastCategory.name === (col.category ?? '')) {
37
+ lastCategory.columns.push(col);
38
+ }
39
+ else {
40
+ // Create new category
41
+ categories.push({
42
+ name: col.category ?? '',
43
+ columns: [col],
44
+ });
45
+ }
46
+ }
47
+ // Write in bold
48
+ await this.writer.addRow(sheetSymbol, categories.flatMap((col) => {
49
+ return col.columns.map((c, index) => {
50
+ if (index === 0) {
51
+ return {
52
+ value: col.name,
53
+ width: c.width,
54
+ style: {
55
+ font: {
56
+ bold: true,
57
+ },
58
+ },
59
+ merge: {
60
+ width: col.columns.length,
61
+ height: 1,
62
+ },
63
+ };
64
+ }
65
+ return {
66
+ value: null,
67
+ width: c.width,
68
+ style: {
69
+ font: {
70
+ bold: true,
71
+ },
72
+ },
73
+ };
74
+ });
75
+ }));
76
+ }
31
77
  await this.writer.addRow(sheetSymbol, sheet.columns.map((col) => {
32
78
  return {
33
79
  value: col.name,
@@ -1 +1 @@
1
- {"version":3,"file":"XlsxTransformer.js","sourceRoot":"","sources":["../../src/XlsxTransformer.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACH,MAAa,eAAe;IACxB,MAAM,CAA6C;IACnD,MAAM,CAAoB;IAC1B,QAAQ,GAAkD,IAAI,GAAG,EAAE,CAAC;IAEpE,YAAY,MAAkD,EAAE,MAAyB;QACrF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,IAAI;QACN,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACrD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAC1C,CAAC;QACL,CAAC;QACD,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAE1B,uBAAuB;QACvB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACvC,CAAC;YAED,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC5D,OAAO;oBACH,KAAK,EAAE,GAAG,CAAC,IAAI;oBACf,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,KAAK,EAAE;wBACH,IAAI,EAAE;4BACF,IAAI,EAAE,IAAI;yBACb;qBACJ;iBACJ,CAAC;YACN,CAAC,CAAC,CAAC,CAAC;QACR,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAS;QACnB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACvC,CAAC;YAED,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBACtB,KAAK,MAAM,eAAe,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7E,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gBACnG,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ;AAvDD,0CAuDC"}
1
+ {"version":3,"file":"XlsxTransformer.js","sourceRoot":"","sources":["../../src/XlsxTransformer.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ export type XlsxTransformerConcreteColumn<T> = {
2
2
  id: string;
3
3
  name: string;
4
4
  width: number;
5
+ category?: string;
6
+ defaultCategory?: string;
5
7
  getValue(object: T): CellValue;
6
8
  };
7
9
  export type XlsxTransformerColumn<T> = XlsxTransformerConcreteColumn<T> | {
@@ -23,6 +25,11 @@ export interface CellValue {
23
25
  value: string | number | Date | null;
24
26
  width?: number;
25
27
  style?: CellStyleRequest;
28
+ merge?: MergeCells;
29
+ }
30
+ export interface MergeCells {
31
+ width: number;
32
+ height: number;
26
33
  }
27
34
  /**
28
35
  * This should be implemented in a specific environment (e.g. nodejs, browser)
@@ -45,6 +52,7 @@ export type XlsxWorkbookFilter = {
45
52
  columns: {
46
53
  id: string;
47
54
  name?: string;
55
+ category?: string | null;
48
56
  }[];
49
57
  }[];
50
58
  };
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,6BAA6B,CAAC,CAAC,IAAI;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI,6BAA6B,CAAC,CAAC,CAAC,GAAG;IACtE,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;CAC3E,CAAC;AAEF,MAAM,WAAW,oBAAoB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IAC7B,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,4BAA4B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;IAClD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IAC7B,OAAO,EAAE,6BAA6B,CAAC,CAAC,CAAC,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,SAAS;IACtB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IACjD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAEjE;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAIvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC7B,MAAM,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KAC5C,EAAE,CAAC;CACP,CAAC;AAEF,oBAAY,uBAAuB;IAC/B,IAAI,IAAI;IACR,MAAM,IAAI;IACV,cAAc,IAAI;IAClB,2BAA2B,IAAI;IAC/B,mCAAmC,IAAI;IACvC,kBAAkB,IAAI;IACtB,eAAe,IAAI;IACnB,0BAA0B,IAAI;IAC9B,uBAAuB,IAAI;IAE3B,UAAU,IAAI;IACd,kBAAkB,KAAK;IACvB,UAAU,KAAK;IACf,QAAQ,KAAK;IACb,SAAS,KAAK;IAEd;;;OAGG;IACH,SAAS,KAAK;IAEd;;;OAGG;IACH,SAAS,KAAK;IAEd;;;OAGG;IACH,eAAe,KAAK;IAEpB;;;OAGG;IACH,aAAa,KAAK;IAElB;;;OAGG;IACH,QAAQ,KAAK;IAEb;;;OAGG;IACH,eAAe,KAAK;IAEpB;;;OAGG;IACH,IAAI,KAAK;IAET;;;OAGG;IACH,WAAW,KAAK;IAEhB;;;OAGG;IACH,aAAa,KAAK;IAElB;;;OAGG;IACH,kBAAkB,KAAK;IAEvB;;;OAGG;IACH,uBAAuB,KAAK;IAE5B;;;OAGG;IACH,yBAAyB,KAAK;IAE9B;;;OAGG;IACH,WAAW,KAAK;IAEhB;;;OAGG;IACH,IAAI,KAAK;CACZ;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,EAAE,CAAC,EAAE,uBAAuB,GAAG,MAAM,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;CAyCvB,CAAC;AAEF,oBAAY,QAAQ;IAChB,OAAO,MAAM;IACb,IAAI,MAAM;IACV,KAAK,MAAM;IACX,YAAY,cAAc;IAC1B,MAAM,MAAM,CAAE,4BAA4B;IAC1C,YAAY,MAAM;IAClB,OAAO,QAAQ;CAClB;AAED,MAAM,MAAM,WAAW,GAAG;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,UAAU,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,kBAAkB,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC/G,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,aAAa,GAAG,SAAS,GAAG,KAAK,CAAC;IACnE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,SAAS,CAAC,EAAE,oBAAoB,CAAC;CACpC,CAAC"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":";;;AA2DA,IAAY,uBAoGX;AApGD,WAAY,uBAAuB;IAC/B,qEAAQ,CAAA;IACR,yEAAU,CAAA;IACV,yFAAkB,CAAA;IAClB,mHAA+B,CAAA;IAC/B,mIAAuC,CAAA;IACvC,iGAAsB,CAAA;IACtB,2FAAmB,CAAA;IACnB,iHAA8B,CAAA;IAC9B,2GAA2B,CAAA;IAE3B,iFAAc,CAAA;IACd,kGAAuB,CAAA;IACvB,kFAAe,CAAA;IACf,8EAAa,CAAA;IACb,gFAAc,CAAA;IAEd;;;OAGG;IACH,gFAAc,CAAA;IAEd;;;OAGG;IACH,gFAAc,CAAA;IAEd;;;OAGG;IACH,4FAAoB,CAAA;IAEpB;;;OAGG;IACH,wFAAkB,CAAA;IAElB;;;OAGG;IACH,8EAAa,CAAA;IAEb;;;OAGG;IACH,4FAAoB,CAAA;IAEpB;;;OAGG;IACH,sEAAS,CAAA;IAET;;;OAGG;IACH,oFAAgB,CAAA;IAEhB;;;OAGG;IACH,wFAAkB,CAAA;IAElB;;;OAGG;IACH,kGAAuB,CAAA;IAEvB;;;OAGG;IACH,4GAA4B,CAAA;IAE5B;;;OAGG;IACH,gHAA8B,CAAA;IAE9B;;;OAGG;IACH,oFAAgB,CAAA;IAEhB;;;OAGG;IACH,sEAAS,CAAA;AACb,CAAC,EApGW,uBAAuB,uCAAvB,uBAAuB,QAoGlC;AA+CD,IAAY,QAQX;AARD,WAAY,QAAQ;IAChB,yBAAa,CAAA;IACb,sBAAU,CAAA;IACV,uBAAW,CAAA;IACX,sCAA0B,CAAA;IAC1B,wBAAY,CAAA;IACZ,8BAAkB,CAAA;IAClB,2BAAe,CAAA;AACnB,CAAC,EARW,QAAQ,wBAAR,QAAQ,QAQnB"}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":";;;AAmEA,IAAY,uBAoGX;AApGD,WAAY,uBAAuB;IAC/B,qEAAQ,CAAA;IACR,yEAAU,CAAA;IACV,yFAAkB,CAAA;IAClB,mHAA+B,CAAA;IAC/B,mIAAuC,CAAA;IACvC,iGAAsB,CAAA;IACtB,2FAAmB,CAAA;IACnB,iHAA8B,CAAA;IAC9B,2GAA2B,CAAA;IAE3B,iFAAc,CAAA;IACd,kGAAuB,CAAA;IACvB,kFAAe,CAAA;IACf,8EAAa,CAAA;IACb,gFAAc,CAAA;IAEd;;;OAGG;IACH,gFAAc,CAAA;IAEd;;;OAGG;IACH,gFAAc,CAAA;IAEd;;;OAGG;IACH,4FAAoB,CAAA;IAEpB;;;OAGG;IACH,wFAAkB,CAAA;IAElB;;;OAGG;IACH,8EAAa,CAAA;IAEb;;;OAGG;IACH,4FAAoB,CAAA;IAEpB;;;OAGG;IACH,sEAAS,CAAA;IAET;;;OAGG;IACH,oFAAgB,CAAA;IAEhB;;;OAGG;IACH,wFAAkB,CAAA;IAElB;;;OAGG;IACH,kGAAuB,CAAA;IAEvB;;;OAGG;IACH,4GAA4B,CAAA;IAE5B;;;OAGG;IACH,gHAA8B,CAAA;IAE9B;;;OAGG;IACH,oFAAgB,CAAA;IAEhB;;;OAGG;IACH,sEAAS,CAAA;AACb,CAAC,EApGW,uBAAuB,uCAAvB,uBAAuB,QAoGlC;AA+CD,IAAY,QAQX;AARD,WAAY,QAAQ;IAChB,yBAAa,CAAA;IACb,sBAAU,CAAA;IACV,uBAAW,CAAA;IACX,sCAA0B,CAAA;IAC1B,wBAAY,CAAA;IACZ,8BAAkB,CAAA;IAClB,2BAAe,CAAA;AACnB,CAAC,EARW,QAAQ,wBAAR,QAAQ,QAQnB"}
@@ -17,6 +17,7 @@ export declare class XlsxSheetWriter extends XlsxFileWriter {
17
17
  timezone: string;
18
18
  columns: ColumnInfo[];
19
19
  rowCount: number;
20
+ mergeCells: string[];
20
21
  writeHeader(columnCount?: number): Promise<void>;
21
22
  writeFooter(): Promise<void>;
22
23
  writeRow(cells: CellValue[]): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"XlsxSheetWriter.d.ts","sourceRoot":"","sources":["../../../src/stream-writer/XlsxSheetWriter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,SAAS,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AA2BtD,cAAM,UAAU;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,aAAa,CAAC,KAAK,EAAE,MAAM;CAK9B;AAED,qBAAa,eAAgB,SAAQ,cAAc;IAC/C;;OAEG;IACH,MAAM,EAAE,gBAAgB,CAAC;IACzB,cAAc,UAAS;IAEvB;;OAEG;IACH,QAAQ,SAAqB;IAE7B,OAAO,EAAE,UAAU,EAAE,CAAM;IAE3B,QAAQ,SAAK;IAEP,WAAW,CAAC,WAAW,SAAI;IAkB3B,WAAW;IAUX,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE;IA2B3B,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAqD/E,KAAK;CAId"}
1
+ {"version":3,"file":"XlsxSheetWriter.d.ts","sourceRoot":"","sources":["../../../src/stream-writer/XlsxSheetWriter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,SAAS,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AA2BtD,cAAM,UAAU;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,aAAa,CAAC,KAAK,EAAE,MAAM;CAK9B;AAED,qBAAa,eAAgB,SAAQ,cAAc;IAC/C;;OAEG;IACH,MAAM,EAAE,gBAAgB,CAAC;IACzB,cAAc,UAAS;IAEvB;;OAEG;IACH,QAAQ,SAAqB;IAE7B,OAAO,EAAE,UAAU,EAAE,CAAM;IAE3B,QAAQ,SAAK;IAEb,UAAU,EAAE,MAAM,EAAE,CAAM;IAEpB,WAAW,CAAC,WAAW,SAAI;IAkB3B,WAAW;IAkBX,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE;IAkC3B,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAoD/E,KAAK;CAId"}
@@ -45,6 +45,7 @@ class XlsxSheetWriter extends XlsxFileWriter_1.XlsxFileWriter {
45
45
  timezone = 'Europe/Brussels';
46
46
  columns = [];
47
47
  rowCount = 0;
48
+ mergeCells = [];
48
49
  async writeHeader(columnCount = 0) {
49
50
  await this.write('<?xml version="1.0" encoding="UTF-8"?>\n');
50
51
  await this.write(`<worksheet xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">`);
@@ -63,6 +64,13 @@ class XlsxSheetWriter extends XlsxFileWriter_1.XlsxFileWriter {
63
64
  await this.writeHeader(0);
64
65
  }
65
66
  await this.write('</sheetData>');
67
+ if (this.mergeCells.length > 0) {
68
+ await this.write('<mergeCells count="' + this.mergeCells.length + '">');
69
+ for (const merge of this.mergeCells) {
70
+ await this.write('<mergeCell ref="' + (0, escapeXml_1.escapeXml)(merge) + '" />');
71
+ }
72
+ await this.write('</mergeCells>');
73
+ }
66
74
  await this.write('</worksheet>');
67
75
  }
68
76
  async writeRow(cells) {
@@ -82,6 +90,12 @@ class XlsxSheetWriter extends XlsxFileWriter_1.XlsxFileWriter {
82
90
  let str = `<row r="${this.rowCount}">`;
83
91
  for (const [index, cell] of cells.entries()) {
84
92
  str += await this.getCellString(cell, { row: this.rowCount, column: index + 1 });
93
+ if (cell.merge && (cell.merge.width > 1 || cell.merge.height > 1)) {
94
+ const start = `${numberToAlpha(index + 1).toUpperCase()}${this.rowCount}`;
95
+ const end = `${numberToAlpha(index + cell.merge.width).toUpperCase()}${this.rowCount + cell.merge.height - 1}`;
96
+ // append at the end of the file
97
+ this.mergeCells.push(`${start}:${end}`);
98
+ }
85
99
  }
86
100
  str += '</row>';
87
101
  await this.write(str);
@@ -89,6 +103,7 @@ class XlsxSheetWriter extends XlsxFileWriter_1.XlsxFileWriter {
89
103
  async getCellString(cell, { row, column }) {
90
104
  let type = interfaces_1.CellType.InlineString;
91
105
  let str = '';
106
+ const r = `${numberToAlpha(column).toUpperCase()}${row}`;
92
107
  switch (typeof cell.value) {
93
108
  case 'boolean':
94
109
  type = interfaces_1.CellType.Boolean;
@@ -125,7 +140,6 @@ class XlsxSheetWriter extends XlsxFileWriter_1.XlsxFileWriter {
125
140
  break;
126
141
  }
127
142
  const styleId = (await this.styles.requestCellStyleId(cell.style ?? {})).toString();
128
- const r = `${numberToAlpha(column).toUpperCase()}${row}`;
129
143
  if (type === interfaces_1.CellType.InlineString) {
130
144
  return `<c r="${(0, escapeXml_1.escapeXml)(r)}" s="${(0, escapeXml_1.escapeXml)(styleId)}" t="${(0, escapeXml_1.escapeXml)(type)}"><is><t>${(0, escapeXml_1.escapeXml)(str)}</t></is></c>`;
131
145
  }
@@ -1 +1 @@
1
- {"version":3,"file":"XlsxSheetWriter.js","sourceRoot":"","sources":["../../../src/stream-writer/XlsxSheetWriter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"XlsxSheetWriter.js","sourceRoot":"","sources":["../../../src/stream-writer/XlsxSheetWriter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"XlsxColumnFilterer.d.ts","sourceRoot":"","sources":["../../../src/XlsxColumnFilterer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,4BAA4B,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGrI;;;GAGG;AACH,qBAAa,kBAAkB,CAAC,CAAC;IAC7B,SAAS,EAAE,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;gBAElC,SAAS,EAAE,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE;IAIzD,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,4BAA4B,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE;CAqFxF"}
1
+ {"version":3,"file":"XlsxColumnFilterer.d.ts","sourceRoot":"","sources":["../../../src/XlsxColumnFilterer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,4BAA4B,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGrI;;;GAGG;AACH,qBAAa,kBAAkB,CAAC,CAAC;IAC7B,SAAS,EAAE,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;gBAElC,SAAS,EAAE,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE;IAIzD,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,4BAA4B,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE;CA2HxF"}
@@ -27,13 +27,14 @@ export class XlsxColumnFilterer {
27
27
  }
28
28
  // Validate sheetFilter
29
29
  const concreteColumns = [];
30
- for (const { id, name } of sheetFilter.columns) {
30
+ for (const { id, name, category } of sheetFilter.columns) {
31
31
  let found = false;
32
32
  for (const column of sheet.columns) {
33
33
  if ('id' in column) {
34
34
  if (column.id === id) {
35
35
  const c = { ...column };
36
36
  c.name = name || c.name;
37
+ c.category = (category !== undefined ? category : c.category) ?? undefined;
37
38
  concreteColumns.push(c);
38
39
  found = true;
39
40
  break;
@@ -42,13 +43,47 @@ export class XlsxColumnFilterer {
42
43
  else {
43
44
  const matched = column.match(id);
44
45
  if (matched !== undefined) {
46
+ if (category !== undefined) {
47
+ for (const m of matched) {
48
+ m.category = category ?? undefined;
49
+ }
50
+ }
45
51
  if (name) {
46
52
  for (const m of matched) {
47
53
  if (matched.length === 1) {
48
54
  m.name = name || m.name;
49
55
  }
50
56
  else {
51
- m.name = name + ' ' + m.name;
57
+ if (!m.name) {
58
+ m.name = name || m.name;
59
+ }
60
+ else {
61
+ if (m.name === name) {
62
+ // ignore
63
+ continue;
64
+ }
65
+ if (m.category === null || m.category === undefined) {
66
+ if (name === m.defaultCategory) {
67
+ // No real added value of repating this if we can't add it cleanly
68
+ continue;
69
+ }
70
+ // Never create a category if it was not set
71
+ m.name = name + ' ' + m.name;
72
+ }
73
+ else {
74
+ if (m.category.trim().length > 0) {
75
+ if (name === m.defaultCategory) {
76
+ // No real added value of repating this if we can't add it cleanly
77
+ continue;
78
+ }
79
+ m.category = m.category.trim() + (' → ' + name);
80
+ }
81
+ else {
82
+ m.category = name;
83
+ }
84
+ m.name = m.name ?? '';
85
+ }
86
+ }
52
87
  }
53
88
  }
54
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"XlsxColumnFilterer.js","sourceRoot":"","sources":["../../../src/XlsxColumnFilterer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"XlsxColumnFilterer.js","sourceRoot":"","sources":["../../../src/XlsxColumnFilterer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"XlsxTransformer.d.ts","sourceRoot":"","sources":["../../../src/XlsxTransformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAErG;;;GAGG;AACH,qBAAa,eAAe,CAAC,CAAC;IAC1B,MAAM,EAAE,4BAA4B,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;IACnD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE,GAAG,CAAC,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,CAAa;gBAExD,MAAM,EAAE,4BAA4B,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,iBAAiB;IAKnF,IAAI;IA+BJ,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE;CAc1B"}
1
+ {"version":3,"file":"XlsxTransformer.d.ts","sourceRoot":"","sources":["../../../src/XlsxTransformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,4BAA4B,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEpI;;;GAGG;AACH,qBAAa,eAAe,CAAC,CAAC;IAC1B,MAAM,EAAE,4BAA4B,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;IACnD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE,GAAG,CAAC,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,CAAa;gBAExD,MAAM,EAAE,4BAA4B,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,iBAAiB;IAKnF,IAAI;IAmFJ,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE;CAc1B"}
@@ -25,6 +25,52 @@ export class XlsxTransformer {
25
25
  if (!sheetSymbol) {
26
26
  throw new Error('Sheet not found');
27
27
  }
28
+ const hasColumns = sheet.columns.find(col => !!col.category);
29
+ if (hasColumns) {
30
+ const categories = [];
31
+ for (const col of sheet.columns) {
32
+ const lastCategory = categories[categories.length - 1];
33
+ if (lastCategory && lastCategory.name === (col.category ?? '')) {
34
+ lastCategory.columns.push(col);
35
+ }
36
+ else {
37
+ // Create new category
38
+ categories.push({
39
+ name: col.category ?? '',
40
+ columns: [col],
41
+ });
42
+ }
43
+ }
44
+ // Write in bold
45
+ await this.writer.addRow(sheetSymbol, categories.flatMap((col) => {
46
+ return col.columns.map((c, index) => {
47
+ if (index === 0) {
48
+ return {
49
+ value: col.name,
50
+ width: c.width,
51
+ style: {
52
+ font: {
53
+ bold: true,
54
+ },
55
+ },
56
+ merge: {
57
+ width: col.columns.length,
58
+ height: 1,
59
+ },
60
+ };
61
+ }
62
+ return {
63
+ value: null,
64
+ width: c.width,
65
+ style: {
66
+ font: {
67
+ bold: true,
68
+ },
69
+ },
70
+ };
71
+ });
72
+ }));
73
+ }
28
74
  await this.writer.addRow(sheetSymbol, sheet.columns.map((col) => {
29
75
  return {
30
76
  value: col.name,
@@ -1 +1 @@
1
- {"version":3,"file":"XlsxTransformer.js","sourceRoot":"","sources":["../../../src/XlsxTransformer.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,OAAO,eAAe;IACxB,MAAM,CAA6C;IACnD,MAAM,CAAoB;IAC1B,QAAQ,GAAkD,IAAI,GAAG,EAAE,CAAC;IAEpE,YAAY,MAAkD,EAAE,MAAyB;QACrF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,IAAI;QACN,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACrD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAC1C,CAAC;QACL,CAAC;QACD,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAE1B,uBAAuB;QACvB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACvC,CAAC;YAED,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC5D,OAAO;oBACH,KAAK,EAAE,GAAG,CAAC,IAAI;oBACf,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,KAAK,EAAE;wBACH,IAAI,EAAE;4BACF,IAAI,EAAE,IAAI;yBACb;qBACJ;iBACJ,CAAC;YACN,CAAC,CAAC,CAAC,CAAC;QACR,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAS;QACnB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACvC,CAAC;YAED,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBACtB,KAAK,MAAM,eAAe,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7E,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gBACnG,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"XlsxTransformer.js","sourceRoot":"","sources":["../../../src/XlsxTransformer.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,OAAO,eAAe;IACxB,MAAM,CAA6C;IACnD,MAAM,CAAoB;IAC1B,QAAQ,GAAkD,IAAI,GAAG,EAAE,CAAC;IAEpE,YAAY,MAAkD,EAAE,MAAyB;QACrF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,IAAI;QACN,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACrD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAC1C,CAAC;QACL,CAAC;QACD,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAE1B,uBAAuB;QACvB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACvC,CAAC;YAED,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7D,IAAI,UAAU,EAAE,CAAC;gBACb,MAAM,UAAU,GAGV,EAAE,CAAC;gBAET,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAC9B,MAAM,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACvD,IAAI,YAAY,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;wBAC7D,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACnC,CAAC;yBACI,CAAC;wBACF,sBAAsB;wBACtB,UAAU,CAAC,IAAI,CAAC;4BACZ,IAAI,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE;4BACxB,OAAO,EAAE,CAAC,GAAG,CAAC;yBACjB,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;gBAED,gBAAgB;gBAChB,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC7D,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;wBAChC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;4BACd,OAAO;gCACH,KAAK,EAAE,GAAG,CAAC,IAAI;gCACf,KAAK,EAAE,CAAC,CAAC,KAAK;gCACd,KAAK,EAAE;oCACH,IAAI,EAAE;wCACF,IAAI,EAAE,IAAI;qCACb;iCACJ;gCACD,KAAK,EAAE;oCACH,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM;oCACzB,MAAM,EAAE,CAAC;iCACZ;6BACJ,CAAC;wBACN,CAAC;wBACD,OAAO;4BACH,KAAK,EAAE,IAAI;4BACX,KAAK,EAAE,CAAC,CAAC,KAAK;4BACd,KAAK,EAAE;gCACH,IAAI,EAAE;oCACF,IAAI,EAAE,IAAI;iCACb;6BACJ;yBACJ,CAAC;oBACN,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC,CAAC;YACR,CAAC;YAED,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC5D,OAAO;oBACH,KAAK,EAAE,GAAG,CAAC,IAAI;oBACf,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,KAAK,EAAE;wBACH,IAAI,EAAE;4BACF,IAAI,EAAE,IAAI;yBACb;qBACJ;iBACJ,CAAC;YACN,CAAC,CAAC,CAAC,CAAC;QACR,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAS;QACnB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACvC,CAAC;YAED,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBACtB,KAAK,MAAM,eAAe,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7E,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gBACnG,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ"}
@@ -2,6 +2,8 @@ export type XlsxTransformerConcreteColumn<T> = {
2
2
  id: string;
3
3
  name: string;
4
4
  width: number;
5
+ category?: string;
6
+ defaultCategory?: string;
5
7
  getValue(object: T): CellValue;
6
8
  };
7
9
  export type XlsxTransformerColumn<T> = XlsxTransformerConcreteColumn<T> | {
@@ -23,6 +25,11 @@ export interface CellValue {
23
25
  value: string | number | Date | null;
24
26
  width?: number;
25
27
  style?: CellStyleRequest;
28
+ merge?: MergeCells;
29
+ }
30
+ export interface MergeCells {
31
+ width: number;
32
+ height: number;
26
33
  }
27
34
  /**
28
35
  * This should be implemented in a specific environment (e.g. nodejs, browser)
@@ -45,6 +52,7 @@ export type XlsxWorkbookFilter = {
45
52
  columns: {
46
53
  id: string;
47
54
  name?: string;
55
+ category?: string | null;
48
56
  }[];
49
57
  }[];
50
58
  };
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/interfaces.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,6BAA6B,CAAC,CAAC,IAAI;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI,6BAA6B,CAAC,CAAC,CAAC,GAAG;IACtE,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;CAC3E,CAAC;AAEF,MAAM,WAAW,oBAAoB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IAC7B,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,4BAA4B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;IAClD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IAC7B,OAAO,EAAE,6BAA6B,CAAC,CAAC,CAAC,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,SAAS;IACtB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IACjD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAEjE;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAIvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC7B,MAAM,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KAC5C,EAAE,CAAC;CACP,CAAC;AAEF,oBAAY,uBAAuB;IAC/B,IAAI,IAAI;IACR,MAAM,IAAI;IACV,cAAc,IAAI;IAClB,2BAA2B,IAAI;IAC/B,mCAAmC,IAAI;IACvC,kBAAkB,IAAI;IACtB,eAAe,IAAI;IACnB,0BAA0B,IAAI;IAC9B,uBAAuB,IAAI;IAE3B,UAAU,IAAI;IACd,kBAAkB,KAAK;IACvB,UAAU,KAAK;IACf,QAAQ,KAAK;IACb,SAAS,KAAK;IAEd;;;OAGG;IACH,SAAS,KAAK;IAEd;;;OAGG;IACH,SAAS,KAAK;IAEd;;;OAGG;IACH,eAAe,KAAK;IAEpB;;;OAGG;IACH,aAAa,KAAK;IAElB;;;OAGG;IACH,QAAQ,KAAK;IAEb;;;OAGG;IACH,eAAe,KAAK;IAEpB;;;OAGG;IACH,IAAI,KAAK;IAET;;;OAGG;IACH,WAAW,KAAK;IAEhB;;;OAGG;IACH,aAAa,KAAK;IAElB;;;OAGG;IACH,kBAAkB,KAAK;IAEvB;;;OAGG;IACH,uBAAuB,KAAK;IAE5B;;;OAGG;IACH,yBAAyB,KAAK;IAE9B;;;OAGG;IACH,WAAW,KAAK;IAEhB;;;OAGG;IACH,IAAI,KAAK;CACZ;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,EAAE,CAAC,EAAE,uBAAuB,GAAG,MAAM,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;CAyCvB,CAAC;AAEF,oBAAY,QAAQ;IAChB,OAAO,MAAM;IACb,IAAI,MAAM;IACV,KAAK,MAAM;IACX,YAAY,cAAc;IAC1B,MAAM,MAAM,CAAE,4BAA4B;IAC1C,YAAY,MAAM;IAClB,OAAO,QAAQ;CAClB;AAED,MAAM,MAAM,WAAW,GAAG;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,UAAU,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,kBAAkB,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC/G,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,aAAa,GAAG,SAAS,GAAG,KAAK,CAAC;IACnE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,SAAS,CAAC,EAAE,oBAAoB,CAAC;CACpC,CAAC"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/interfaces.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/interfaces.ts"],"names":[],"mappings":"AA2DA,MAAM,CAAN,IAAY,uBAoGX;AApGD,WAAY,uBAAuB;IAC/B,qEAAQ,CAAA;IACR,yEAAU,CAAA;IACV,yFAAkB,CAAA;IAClB,mHAA+B,CAAA;IAC/B,mIAAuC,CAAA;IACvC,iGAAsB,CAAA;IACtB,2FAAmB,CAAA;IACnB,iHAA8B,CAAA;IAC9B,2GAA2B,CAAA;IAE3B,iFAAc,CAAA;IACd,kGAAuB,CAAA;IACvB,kFAAe,CAAA;IACf,8EAAa,CAAA;IACb,gFAAc,CAAA;IAEd;;;OAGG;IACH,gFAAc,CAAA;IAEd;;;OAGG;IACH,gFAAc,CAAA;IAEd;;;OAGG;IACH,4FAAoB,CAAA;IAEpB;;;OAGG;IACH,wFAAkB,CAAA;IAElB;;;OAGG;IACH,8EAAa,CAAA;IAEb;;;OAGG;IACH,4FAAoB,CAAA;IAEpB;;;OAGG;IACH,sEAAS,CAAA;IAET;;;OAGG;IACH,oFAAgB,CAAA;IAEhB;;;OAGG;IACH,wFAAkB,CAAA;IAElB;;;OAGG;IACH,kGAAuB,CAAA;IAEvB;;;OAGG;IACH,4GAA4B,CAAA;IAE5B;;;OAGG;IACH,gHAA8B,CAAA;IAE9B;;;OAGG;IACH,oFAAgB,CAAA;IAEhB;;;OAGG;IACH,sEAAS,CAAA;AACb,CAAC,EApGW,uBAAuB,KAAvB,uBAAuB,QAoGlC;AA+CD,MAAM,CAAN,IAAY,QAQX;AARD,WAAY,QAAQ;IAChB,yBAAa,CAAA;IACb,sBAAU,CAAA;IACV,uBAAW,CAAA;IACX,sCAA0B,CAAA;IAC1B,wBAAY,CAAA;IACZ,8BAAkB,CAAA;IAClB,2BAAe,CAAA;AACnB,CAAC,EARW,QAAQ,KAAR,QAAQ,QAQnB"}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/interfaces.ts"],"names":[],"mappings":"AAmEA,MAAM,CAAN,IAAY,uBAoGX;AApGD,WAAY,uBAAuB;IAC/B,qEAAQ,CAAA;IACR,yEAAU,CAAA;IACV,yFAAkB,CAAA;IAClB,mHAA+B,CAAA;IAC/B,mIAAuC,CAAA;IACvC,iGAAsB,CAAA;IACtB,2FAAmB,CAAA;IACnB,iHAA8B,CAAA;IAC9B,2GAA2B,CAAA;IAE3B,iFAAc,CAAA;IACd,kGAAuB,CAAA;IACvB,kFAAe,CAAA;IACf,8EAAa,CAAA;IACb,gFAAc,CAAA;IAEd;;;OAGG;IACH,gFAAc,CAAA;IAEd;;;OAGG;IACH,gFAAc,CAAA;IAEd;;;OAGG;IACH,4FAAoB,CAAA;IAEpB;;;OAGG;IACH,wFAAkB,CAAA;IAElB;;;OAGG;IACH,8EAAa,CAAA;IAEb;;;OAGG;IACH,4FAAoB,CAAA;IAEpB;;;OAGG;IACH,sEAAS,CAAA;IAET;;;OAGG;IACH,oFAAgB,CAAA;IAEhB;;;OAGG;IACH,wFAAkB,CAAA;IAElB;;;OAGG;IACH,kGAAuB,CAAA;IAEvB;;;OAGG;IACH,4GAA4B,CAAA;IAE5B;;;OAGG;IACH,gHAA8B,CAAA;IAE9B;;;OAGG;IACH,oFAAgB,CAAA;IAEhB;;;OAGG;IACH,sEAAS,CAAA;AACb,CAAC,EApGW,uBAAuB,KAAvB,uBAAuB,QAoGlC;AA+CD,MAAM,CAAN,IAAY,QAQX;AARD,WAAY,QAAQ;IAChB,yBAAa,CAAA;IACb,sBAAU,CAAA;IACV,uBAAW,CAAA;IACX,sCAA0B,CAAA;IAC1B,wBAAY,CAAA;IACZ,8BAAkB,CAAA;IAClB,2BAAe,CAAA;AACnB,CAAC,EARW,QAAQ,KAAR,QAAQ,QAQnB"}
@@ -17,6 +17,7 @@ export declare class XlsxSheetWriter extends XlsxFileWriter {
17
17
  timezone: string;
18
18
  columns: ColumnInfo[];
19
19
  rowCount: number;
20
+ mergeCells: string[];
20
21
  writeHeader(columnCount?: number): Promise<void>;
21
22
  writeFooter(): Promise<void>;
22
23
  writeRow(cells: CellValue[]): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"XlsxSheetWriter.d.ts","sourceRoot":"","sources":["../../../../src/stream-writer/XlsxSheetWriter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,SAAS,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AA2BtD,cAAM,UAAU;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,aAAa,CAAC,KAAK,EAAE,MAAM;CAK9B;AAED,qBAAa,eAAgB,SAAQ,cAAc;IAC/C;;OAEG;IACH,MAAM,EAAE,gBAAgB,CAAC;IACzB,cAAc,UAAS;IAEvB;;OAEG;IACH,QAAQ,SAAqB;IAE7B,OAAO,EAAE,UAAU,EAAE,CAAM;IAE3B,QAAQ,SAAK;IAEP,WAAW,CAAC,WAAW,SAAI;IAkB3B,WAAW;IAUX,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE;IA2B3B,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAqD/E,KAAK;CAId"}
1
+ {"version":3,"file":"XlsxSheetWriter.d.ts","sourceRoot":"","sources":["../../../../src/stream-writer/XlsxSheetWriter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,SAAS,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AA2BtD,cAAM,UAAU;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,aAAa,CAAC,KAAK,EAAE,MAAM;CAK9B;AAED,qBAAa,eAAgB,SAAQ,cAAc;IAC/C;;OAEG;IACH,MAAM,EAAE,gBAAgB,CAAC;IACzB,cAAc,UAAS;IAEvB;;OAEG;IACH,QAAQ,SAAqB;IAE7B,OAAO,EAAE,UAAU,EAAE,CAAM;IAE3B,QAAQ,SAAK;IAEb,UAAU,EAAE,MAAM,EAAE,CAAM;IAEpB,WAAW,CAAC,WAAW,SAAI;IAkB3B,WAAW;IAkBX,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE;IAkC3B,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAoD/E,KAAK;CAId"}
@@ -42,6 +42,7 @@ export class XlsxSheetWriter extends XlsxFileWriter {
42
42
  timezone = 'Europe/Brussels';
43
43
  columns = [];
44
44
  rowCount = 0;
45
+ mergeCells = [];
45
46
  async writeHeader(columnCount = 0) {
46
47
  await this.write('<?xml version="1.0" encoding="UTF-8"?>\n');
47
48
  await this.write(`<worksheet xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">`);
@@ -60,6 +61,13 @@ export class XlsxSheetWriter extends XlsxFileWriter {
60
61
  await this.writeHeader(0);
61
62
  }
62
63
  await this.write('</sheetData>');
64
+ if (this.mergeCells.length > 0) {
65
+ await this.write('<mergeCells count="' + this.mergeCells.length + '">');
66
+ for (const merge of this.mergeCells) {
67
+ await this.write('<mergeCell ref="' + escapeXml(merge) + '" />');
68
+ }
69
+ await this.write('</mergeCells>');
70
+ }
63
71
  await this.write('</worksheet>');
64
72
  }
65
73
  async writeRow(cells) {
@@ -79,6 +87,12 @@ export class XlsxSheetWriter extends XlsxFileWriter {
79
87
  let str = `<row r="${this.rowCount}">`;
80
88
  for (const [index, cell] of cells.entries()) {
81
89
  str += await this.getCellString(cell, { row: this.rowCount, column: index + 1 });
90
+ if (cell.merge && (cell.merge.width > 1 || cell.merge.height > 1)) {
91
+ const start = `${numberToAlpha(index + 1).toUpperCase()}${this.rowCount}`;
92
+ const end = `${numberToAlpha(index + cell.merge.width).toUpperCase()}${this.rowCount + cell.merge.height - 1}`;
93
+ // append at the end of the file
94
+ this.mergeCells.push(`${start}:${end}`);
95
+ }
82
96
  }
83
97
  str += '</row>';
84
98
  await this.write(str);
@@ -86,6 +100,7 @@ export class XlsxSheetWriter extends XlsxFileWriter {
86
100
  async getCellString(cell, { row, column }) {
87
101
  let type = CellType.InlineString;
88
102
  let str = '';
103
+ const r = `${numberToAlpha(column).toUpperCase()}${row}`;
89
104
  switch (typeof cell.value) {
90
105
  case 'boolean':
91
106
  type = CellType.Boolean;
@@ -122,7 +137,6 @@ export class XlsxSheetWriter extends XlsxFileWriter {
122
137
  break;
123
138
  }
124
139
  const styleId = (await this.styles.requestCellStyleId(cell.style ?? {})).toString();
125
- const r = `${numberToAlpha(column).toUpperCase()}${row}`;
126
140
  if (type === CellType.InlineString) {
127
141
  return `<c r="${escapeXml(r)}" s="${escapeXml(styleId)}" t="${escapeXml(type)}"><is><t>${escapeXml(str)}</t></is></c>`;
128
142
  }
@@ -1 +1 @@
1
- {"version":3,"file":"XlsxSheetWriter.js","sourceRoot":"","sources":["../../../../src/stream-writer/XlsxSheetWriter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAa,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,SAAS,aAAa,CAAC,GAAW;IAC9B,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAEpC,kEAAkE;IAClE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,yCAAyC;IACzC,IAAI,GAAG,GAAG,GAAG,CAAC;IACd,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5B,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;QAChC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU;IACZ,KAAK,CAAU;IAEf,aAAa,CAAC,KAAa;QACvB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC;YACjD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,CAAC;IACL,CAAC;CACJ;AAED,MAAM,OAAO,eAAgB,SAAQ,cAAc;IAC/C;;OAEG;IACH,MAAM,CAAmB;IACzB,cAAc,GAAG,KAAK,CAAC;IAEvB;;OAEG;IACH,QAAQ,GAAG,iBAAiB,CAAC;IAE7B,OAAO,GAAiB,EAAE,CAAC;IAE3B,QAAQ,GAAG,CAAC,CAAC;IAEb,KAAK,CAAC,WAAW,CAAC,WAAW,GAAG,CAAC;QAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,KAAK,CAAC,6JAA6J,CAAC,CAAC;QAEhL,4FAA4F;QAC5F,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE3B,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,KAAK,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,YAAY,KAAK,MAAM,CAAC,CAAC;QACvF,CAAC;QAED,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAE5B,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAChC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,WAAW;QACb,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAEjC,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAkB;QAC7B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBACxC,sCAAsC;gBACtC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACxC,MAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;gBAE9B,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC5B,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YAED,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,GAAG,GAAG,WAAW,IAAI,CAAC,QAAQ,IAAI,CAAC;QAEvC,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1C,GAAG,IAAI,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC;QAED,GAAG,IAAI,QAAQ,CAAC;QAChB,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAe,EAAE,EAAE,GAAG,EAAE,MAAM,EAAmC;QACjF,IAAI,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC;QACjC,IAAI,GAAG,GAAG,EAAE,CAAC;QAEb,QAAQ,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;YACxB,KAAK,SAAS;gBACV,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC;gBACxB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC7B,MAAM;YACV,KAAK,QAAQ;gBACT,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC;gBACvB,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC7C,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC;oBACtB,GAAG,GAAG,SAAS,CAAC;gBACpB,CAAC;qBACI,CAAC;oBACF,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAChC,CAAC;gBACD,MAAM;YACV,KAAK,QAAQ;gBACT,uCAAuC;gBACvC,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC;gBAC7B,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;gBACjB,MAAM;YACV,KAAK,QAAQ;gBACT,IAAI,IAAI,CAAC,KAAK,YAAY,IAAI,EAAE,CAAC;oBAC7B,qFAAqF;oBACrF,4IAA4I;oBAC5I,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAExE,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC;oBACvB,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC1G,CAAC;gBAED,OAAO;gBACP,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;oBACtB,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC;oBAC7B,GAAG,GAAG,EAAE,CAAC;gBACb,CAAC;gBACD,MAAM;QACd,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEpF,MAAM,CAAC,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,EAAE,CAAC;QAEzD,IAAI,IAAI,KAAK,QAAQ,CAAC,YAAY,EAAE,CAAC;YACjC,OAAO,SAAS,SAAS,CAAC,CAAC,CAAC,QAAQ,SAAS,CAAC,OAAO,CAAC,QAAQ,SAAS,CAAC,IAAI,CAAC,YAAY,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC;QAC3H,CAAC;QAED,OAAO,SAAS,SAAS,CAAC,CAAC,CAAC,QAAQ,SAAS,CAAC,OAAO,CAAC,QAAQ,SAAS,CAAC,IAAI,CAAC,QAAQ,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;IAClH,CAAC;IAED,KAAK,CAAC,KAAK;QACP,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;CACJ"}
1
+ {"version":3,"file":"XlsxSheetWriter.js","sourceRoot":"","sources":["../../../../src/stream-writer/XlsxSheetWriter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stamhoofd/excel-writer",
3
- "version": "2.80.1",
3
+ "version": "2.81.0",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./esm/dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -24,5 +24,5 @@
24
24
  "publishConfig": {
25
25
  "access": "public"
26
26
  },
27
- "gitHead": "37793d55487f7e8792d7b97df20750f8bd5be9a3"
27
+ "gitHead": "5a0faf4813aeb5c3d7216536278acb65ba2361e0"
28
28
  }