@justybase/spreadsheet-tasks 1.2.0 → 1.3.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.
@@ -9,6 +9,10 @@ export declare class XlsxWriter {
9
9
  private colWidths;
10
10
  private _autofilterIsOn;
11
11
  private _oaEpoch;
12
+ private _formatRegistry;
13
+ private _formatXfMap;
14
+ private _nextNumfmtId;
15
+ private _nextXfIndex;
12
16
  private currentSheetBuffer;
13
17
  private currentSheetRowNum;
14
18
  private currentSheetStartCol;
@@ -32,6 +36,7 @@ export declare class XlsxWriter {
32
36
  endSheet(): void;
33
37
  writeSheet(rows: any[][], headers?: string[] | null, doAutofilter?: boolean): void;
34
38
  private _writeStringCell;
39
+ private _registerFormat;
35
40
  private _toOADate;
36
41
  finalize(): Promise<void>;
37
42
  private _writeSharedStrings;
@@ -1 +1 @@
1
- {"version":3,"file":"XlsxWriter.d.ts","sourceRoot":"","sources":["../src/XlsxWriter.ts"],"names":[],"mappings":"AAgCA,qBAAa,UAAU;IACnB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,OAAO,CAAoB;IAEnC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,eAAe,CAAkB;IAEzC,OAAO,CAAC,QAAQ,CAAS;IAGzB,OAAO,CAAC,kBAAkB,CAA0B;IACpD,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,oBAAoB,CAAa;IACzC,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,wBAAwB,CAAkB;IAClD,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,iBAAiB,CAAgB;gBAE7B,QAAQ,EAAE,MAAM;IAS5B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,0BAA0B;IAQlC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,GAAE,OAAe,GAAG,IAAI;IAiB1D,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,OAAO;IAaf,UAAU,CACN,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,EAAE,EAClB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAO,GAC3D,IAAI;IAyEP,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IA4C1B,QAAQ,IAAI,IAAI;IAkChB,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,GAAE,MAAM,EAAE,GAAG,IAAW,EAAE,YAAY,GAAE,OAAc,GAAG,IAAI;IAqI9F,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,SAAS;IAKjB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBzB,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,YAAY;IAiCpB,OAAO,CAAC,cAAc;IAiCtB,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,UAAU;CAqBrB;AAED,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"XlsxWriter.d.ts","sourceRoot":"","sources":["../src/XlsxWriter.ts"],"names":[],"mappings":"AAiCA,qBAAa,UAAU;IACnB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,OAAO,CAAoB;IAEnC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,eAAe,CAAkB;IAEzC,OAAO,CAAC,QAAQ,CAAS;IAGzB,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,YAAY,CAAa;IAGjC,OAAO,CAAC,kBAAkB,CAA0B;IACpD,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,oBAAoB,CAAa;IACzC,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,wBAAwB,CAAkB;IAClD,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,iBAAiB,CAAgB;gBAE7B,QAAQ,EAAE,MAAM;IAS5B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,0BAA0B;IAQlC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,GAAE,OAAe,GAAG,IAAI;IAiB1D,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,OAAO;IAaf,UAAU,CACN,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,EAAE,EAClB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAO,GAC3D,IAAI;IAyEP,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAkD1B,QAAQ,IAAI,IAAI;IAkChB,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,GAAE,MAAM,EAAE,GAAG,IAAW,EAAE,YAAY,GAAE,OAAc,GAAG,IAAI;IA4I9F,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,SAAS;IAKjB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBzB,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,YAAY;IA2DpB,OAAO,CAAC,cAAc;IAiCtB,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,UAAU;CAqBrB;AAED,eAAe,UAAU,CAAC"}
@@ -41,6 +41,7 @@ const fs = __importStar(require("fs"));
41
41
  const archiver_1 = __importDefault(require("archiver"));
42
42
  const stream_1 = require("stream");
43
43
  const BigBuffer_1 = require("./BigBuffer");
44
+ const Formats_1 = require("./Formats");
44
45
  const COLUMN_LETTERS = (() => {
45
46
  const letters = [];
46
47
  for (let i = 65; i < 91; i++) {
@@ -65,6 +66,11 @@ class XlsxWriter {
65
66
  this.sstCntAll = 0;
66
67
  this.colWidths = [];
67
68
  this._autofilterIsOn = false;
69
+ // Format registry
70
+ this._formatRegistry = new Map();
71
+ this._formatXfMap = new Map();
72
+ this._nextNumfmtId = 165;
73
+ this._nextXfIndex = 3;
68
74
  // Streaming state
69
75
  this.currentSheetBuffer = null;
70
76
  this.currentSheetRowNum = 0;
@@ -223,35 +229,40 @@ class XlsxWriter {
223
229
  this.currentSheetRowNum++;
224
230
  bigBuf.writeString(`<row r="${this.currentSheetRowNum}">`);
225
231
  for (let c = 0; c < row.length; c++) {
226
- const val = row[c];
227
- if (val === null || val === undefined)
232
+ const raw = row[c];
233
+ if (raw === null || raw === undefined)
228
234
  continue;
235
+ const fmtString = (0, Formats_1.getFormat)(raw);
236
+ const val = fmtString !== null ? (0, Formats_1.unwrapCell)(raw) : raw;
237
+ const xfIdx = fmtString !== null ? this._registerFormat(fmtString) : -1;
238
+ const styleAttr = xfIdx >= 0 ? ` s="${xfIdx}"` : '';
229
239
  const colRef = this.currentColLetters[c];
230
240
  if (typeof val === 'number') {
231
241
  if (Number.isFinite(val)) {
232
- bigBuf.writeString(`<c r="${colRef}${this.currentSheetRowNum}"><v>${val}</v></c>`);
242
+ bigBuf.writeString(`<c r="${colRef}${this.currentSheetRowNum}"${styleAttr}><v>${val}</v></c>`);
233
243
  }
234
244
  else {
235
- this._writeStringCell(bigBuf, val.toString(), colRef, this.currentSheetRowNum);
245
+ this._writeStringCell(bigBuf, val.toString(), colRef, this.currentSheetRowNum, xfIdx >= 0 ? xfIdx : undefined);
236
246
  }
237
247
  }
238
248
  else if (typeof val === 'bigint') {
239
- this._writeStringCell(bigBuf, val.toString(), colRef, this.currentSheetRowNum);
249
+ this._writeStringCell(bigBuf, val.toString(), colRef, this.currentSheetRowNum, xfIdx >= 0 ? xfIdx : undefined);
240
250
  }
241
251
  else if (typeof val === 'boolean') {
242
- bigBuf.writeString(`<c r="${colRef}${this.currentSheetRowNum}" t="b"><v>${val ? 1 : 0}</v></c>`);
252
+ bigBuf.writeString(`<c r="${colRef}${this.currentSheetRowNum}" t="b"${styleAttr}><v>${val ? 1 : 0}</v></c>`);
243
253
  }
244
254
  else if (val instanceof Date) {
245
255
  const oaDate = this._toOADate(val);
246
256
  if (Number.isFinite(oaDate)) {
247
- bigBuf.writeString(`<c r="${colRef}${this.currentSheetRowNum}" s="1"><v>${oaDate}</v></c>`);
257
+ const finalStyle = xfIdx >= 0 ? xfIdx : 1;
258
+ bigBuf.writeString(`<c r="${colRef}${this.currentSheetRowNum}" s="${finalStyle}"><v>${oaDate}</v></c>`);
248
259
  }
249
260
  else {
250
- this._writeStringCell(bigBuf, val.toString(), colRef, this.currentSheetRowNum);
261
+ this._writeStringCell(bigBuf, val.toString(), colRef, this.currentSheetRowNum, xfIdx >= 0 ? xfIdx : undefined);
251
262
  }
252
263
  }
253
264
  else {
254
- this._writeStringCell(bigBuf, val.toString(), colRef, this.currentSheetRowNum);
265
+ this._writeStringCell(bigBuf, val.toString(), colRef, this.currentSheetRowNum, xfIdx >= 0 ? xfIdx : undefined);
255
266
  }
256
267
  }
257
268
  bigBuf.writeString('</row>');
@@ -310,9 +321,10 @@ class XlsxWriter {
310
321
  for (let r = 0; r < Math.min(rows.length, 100); r++) {
311
322
  const row = rows[r];
312
323
  for (let c = 0; c < row.length; c++) {
313
- const val = row[c];
314
- if (val === null || val === undefined)
324
+ const raw = row[c];
325
+ if (raw === null || raw === undefined)
315
326
  continue;
327
+ const val = (0, Formats_1.isFormattedCell)(raw) ? raw.value : raw;
316
328
  const len = val instanceof Date ? 10 : val.toString().length;
317
329
  let width = 1.25 * len + 2;
318
330
  if (width > 80)
@@ -367,35 +379,40 @@ class XlsxWriter {
367
379
  bigBuf.writeString(`<row r="${rowNum}">`);
368
380
  const row = rows[r];
369
381
  for (let c = 0; c < row.length; c++) {
370
- const val = row[c];
371
- if (val === null || val === undefined)
382
+ const raw = row[c];
383
+ if (raw === null || raw === undefined)
372
384
  continue;
385
+ const fmtString = (0, Formats_1.getFormat)(raw);
386
+ const val = fmtString !== null ? (0, Formats_1.unwrapCell)(raw) : raw;
387
+ const xfIdx = fmtString !== null ? this._registerFormat(fmtString) : -1;
388
+ const styleAttr = xfIdx >= 0 ? ` s="${xfIdx}"` : '';
373
389
  const colRef = colLetters[c];
374
390
  if (typeof val === 'number') {
375
391
  if (Number.isFinite(val)) {
376
- bigBuf.writeString(`<c r="${colRef}${rowNum}"><v>${val}</v></c>`);
392
+ bigBuf.writeString(`<c r="${colRef}${rowNum}"${styleAttr}><v>${val}</v></c>`);
377
393
  }
378
394
  else {
379
- this._writeStringCell(bigBuf, val.toString(), colRef, rowNum);
395
+ this._writeStringCell(bigBuf, val.toString(), colRef, rowNum, xfIdx >= 0 ? xfIdx : undefined);
380
396
  }
381
397
  }
382
398
  else if (typeof val === 'bigint') {
383
- this._writeStringCell(bigBuf, val.toString(), colRef, rowNum);
399
+ this._writeStringCell(bigBuf, val.toString(), colRef, rowNum, xfIdx >= 0 ? xfIdx : undefined);
384
400
  }
385
401
  else if (typeof val === 'boolean') {
386
- bigBuf.writeString(`<c r="${colRef}${rowNum}" t="b"><v>${val ? 1 : 0}</v></c>`);
402
+ bigBuf.writeString(`<c r="${colRef}${rowNum}" t="b"${styleAttr}><v>${val ? 1 : 0}</v></c>`);
387
403
  }
388
404
  else if (val instanceof Date) {
389
405
  const oaDate = this._toOADate(val);
390
406
  if (Number.isFinite(oaDate)) {
391
- bigBuf.writeString(`<c r="${colRef}${rowNum}" s="1"><v>${oaDate}</v></c>`);
407
+ const finalStyle = xfIdx >= 0 ? xfIdx : 1;
408
+ bigBuf.writeString(`<c r="${colRef}${rowNum}" s="${finalStyle}"><v>${oaDate}</v></c>`);
392
409
  }
393
410
  else {
394
- this._writeStringCell(bigBuf, val.toString(), colRef, rowNum);
411
+ this._writeStringCell(bigBuf, val.toString(), colRef, rowNum, xfIdx >= 0 ? xfIdx : undefined);
395
412
  }
396
413
  }
397
414
  else {
398
- this._writeStringCell(bigBuf, val.toString(), colRef, rowNum);
415
+ this._writeStringCell(bigBuf, val.toString(), colRef, rowNum, xfIdx >= 0 ? xfIdx : undefined);
399
416
  }
400
417
  }
401
418
  bigBuf.writeString('</row>');
@@ -414,7 +431,7 @@ class XlsxWriter {
414
431
  name: this.sheetList[this.sheetCount - 1].pathInArchive
415
432
  });
416
433
  }
417
- _writeStringCell(bigBuf, val, colRef, rowNum) {
434
+ _writeStringCell(bigBuf, val, colRef, rowNum, styleOverride) {
418
435
  let index = this.sstMap.get(val);
419
436
  if (index === undefined) {
420
437
  index = this.sstArray.length;
@@ -422,7 +439,18 @@ class XlsxWriter {
422
439
  this.sstMap.set(val, index);
423
440
  }
424
441
  this.sstCntAll++;
425
- bigBuf.writeString(`<c r="${colRef}${rowNum}" t="s"><v>${index}</v></c>`);
442
+ const styleAttr = styleOverride !== undefined ? ` s="${styleOverride}"` : '';
443
+ bigBuf.writeString(`<c r="${colRef}${rowNum}" t="s"${styleAttr}><v>${index}</v></c>`);
444
+ }
445
+ _registerFormat(fmtString) {
446
+ if (this._formatXfMap.has(fmtString)) {
447
+ return this._formatXfMap.get(fmtString);
448
+ }
449
+ const numfmtId = this._nextNumfmtId++;
450
+ this._formatRegistry.set(fmtString, numfmtId);
451
+ const xfIndex = this._nextXfIndex++;
452
+ this._formatXfMap.set(fmtString, xfIndex);
453
+ return xfIndex;
426
454
  }
427
455
  _toOADate(date) {
428
456
  // Use UTC time to avoid timezone conversion issues
@@ -467,10 +495,33 @@ class XlsxWriter {
467
495
  this.archive.append(stream_1.Readable.from(bigBuf.getChunks()), { name: 'xl/sharedStrings.xml' });
468
496
  }
469
497
  _writeStyles() {
498
+ let numFmts = '';
499
+ let numFmtCount = 1;
500
+ numFmts += '<numFmt numFmtId="164" formatCode="yyyy\\-mm\\-dd\\ hh:mm:ss"/>';
501
+ const xfEntries = [];
502
+ xfEntries.push('<xf numFmtId="0" fontId="0" fillId="0" borderId="0" xfId="0"/>');
503
+ xfEntries.push('<xf numFmtId="14" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1"/>');
504
+ xfEntries.push('<xf numFmtId="164" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1"/>');
505
+ for (const [fmtString, numfmtId] of this._formatRegistry) {
506
+ const escapedFmt = fmtString
507
+ .replace(/&/g, '&amp;')
508
+ .replace(/</g, '&lt;')
509
+ .replace(/>/g, '&gt;')
510
+ .replace(/"/g, '&quot;')
511
+ .replace(/'/g, '&apos;');
512
+ numFmts += `<numFmt numFmtId="${numfmtId}" formatCode="${escapedFmt}"/>`;
513
+ numFmtCount++;
514
+ }
515
+ const sortedFormats = [...this._formatXfMap.entries()].sort((a, b) => a[1] - b[1]);
516
+ for (const [fmtString] of sortedFormats) {
517
+ const numfmtId = this._formatRegistry.get(fmtString);
518
+ xfEntries.push(`<xf numFmtId="${numfmtId}" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1"/>`);
519
+ }
520
+ const totalXf = xfEntries.length;
470
521
  const styles = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
471
522
  <styleSheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
472
- <numFmts count="1">
473
- <numFmt numFmtId="164" formatCode="yyyy\\-mm\\-dd\\ hh:mm:ss"/>
523
+ <numFmts count="${numFmtCount}">
524
+ ${numFmts}
474
525
  </numFmts>
475
526
  <fonts count="1">
476
527
  <font><sz val="11"/><color theme="1"/><name val="Calibri"/><family val="2"/><scheme val="minor"/></font>
@@ -485,10 +536,8 @@ class XlsxWriter {
485
536
  <cellStyleXfs count="1">
486
537
  <xf numFmtId="0" fontId="0" fillId="0" borderId="0"/>
487
538
  </cellStyleXfs>
488
- <cellXfs count="3">
489
- <xf numFmtId="0" fontId="0" fillId="0" borderId="0" xfId="0"/>
490
- <xf numFmtId="14" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1"/>
491
- <xf numFmtId="164" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1"/>
539
+ <cellXfs count="${totalXf}">
540
+ ${xfEntries.join('\n')}
492
541
  </cellXfs>
493
542
  <cellStyles count="1">
494
543
  <cellStyle name="Normal" xfId="0" builtinId="0"/>
@@ -1 +1 @@
1
- {"version":3,"file":"XlsxWriter.js","sourceRoot":"","sources":["../src/XlsxWriter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"XlsxWriter.js","sourceRoot":"","sources":["../src/XlsxWriter.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -6,4 +6,5 @@ export { XlsxReader } from './XlsxReader';
6
6
  export { ReaderFactory } from './ReaderFactory';
7
7
  export { XlsbWriter } from './XlsbWriter';
8
8
  export { XlsxWriter } from './XlsxWriter';
9
+ export { FormattedCell, F, isFormattedCell, unwrapCell, getFormat } from './Formats';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.XlsxWriter = exports.XlsbWriter = exports.ReaderFactory = exports.XlsxReader = exports.XlsbReader = exports.BiffReaderWriter = exports.ExcelReaderAbstract = exports.BigBuffer = void 0;
3
+ exports.getFormat = exports.unwrapCell = exports.isFormattedCell = exports.F = exports.XlsxWriter = exports.XlsbWriter = exports.ReaderFactory = exports.XlsxReader = exports.XlsbReader = exports.BiffReaderWriter = exports.ExcelReaderAbstract = exports.BigBuffer = void 0;
4
4
  // Core classes
5
5
  var BigBuffer_1 = require("./BigBuffer");
6
6
  Object.defineProperty(exports, "BigBuffer", { enumerable: true, get: function () { return BigBuffer_1.BigBuffer; } });
@@ -20,4 +20,10 @@ var XlsbWriter_1 = require("./XlsbWriter");
20
20
  Object.defineProperty(exports, "XlsbWriter", { enumerable: true, get: function () { return XlsbWriter_1.XlsbWriter; } });
21
21
  var XlsxWriter_1 = require("./XlsxWriter");
22
22
  Object.defineProperty(exports, "XlsxWriter", { enumerable: true, get: function () { return XlsxWriter_1.XlsxWriter; } });
23
+ // Formatting
24
+ var Formats_1 = require("./Formats");
25
+ Object.defineProperty(exports, "F", { enumerable: true, get: function () { return Formats_1.F; } });
26
+ Object.defineProperty(exports, "isFormattedCell", { enumerable: true, get: function () { return Formats_1.isFormattedCell; } });
27
+ Object.defineProperty(exports, "unwrapCell", { enumerable: true, get: function () { return Formats_1.unwrapCell; } });
28
+ Object.defineProperty(exports, "getFormat", { enumerable: true, get: function () { return Formats_1.getFormat; } });
23
29
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,eAAe;AACf,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAC5B,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AAEzB,UAAU;AACV,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AAEtB,UAAU;AACV,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,eAAe;AACf,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAC5B,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AAEzB,UAAU;AACV,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AAEtB,UAAU;AACV,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AAEnB,aAAa;AACb,qCAAqF;AAA7D,4FAAA,CAAC,OAAA;AAAE,0GAAA,eAAe,OAAA;AAAE,qGAAA,UAAU,OAAA;AAAE,oGAAA,SAAS,OAAA"}
@@ -0,0 +1,225 @@
1
+ import { XlsbWriter } from '../src/XlsbWriter';
2
+ import { XlsxWriter } from '../src/XlsxWriter';
3
+ import { F, FormattedCell } from '../src/Formats';
4
+ import * as fs from 'fs';
5
+
6
+ const OUTPUT_DIR = './test-output';
7
+
8
+ if (!fs.existsSync(OUTPUT_DIR)) {
9
+ fs.mkdirSync(OUTPUT_DIR, { recursive: true });
10
+ }
11
+
12
+ const demoDate = new Date(2026, 5, 1, 14, 34, 20); // June 1, 2026 14:34:20
13
+ const demoValue = 100000;
14
+
15
+ // ========== XLSB Format Demo ==========
16
+ async function createXlsbFormatDemo() {
17
+ const wb = new XlsbWriter(`${OUTPUT_DIR}/formats_demo_xlsb.xlsb`);
18
+
19
+ // Sheet 1: Number formats
20
+ wb.addSheet('Number Formats');
21
+ wb.writeSheet([
22
+ ['Format Name', 'Value'],
23
+ ['No formatting', demoValue],
24
+ ['Thousands separator', { value: demoValue, format: F.THOUSANDS_SEP }],
25
+ ['Currency PLN', { value: demoValue, format: F.CURRENCY_PLN }],
26
+ ['Currency EUR', { value: demoValue, format: F.CURRENCY_EUR }],
27
+ ['Percentage', { value: 1000, format: F.PERCENTAGE }],
28
+ ['Scientific', { value: demoValue, format: F.SCIENTIFIC }],
29
+ ['Two decimals', { value: demoValue, format: F.TWO_DECIMALS }],
30
+ ['Text', { value: demoValue, format: F.TEXT }],
31
+ ['Leading zeros', { value: demoValue, format: F.LEADING_ZEROS }],
32
+ ], ['Format Name', 'Value']);
33
+
34
+ // Sheet 2: Date & DateTime formats
35
+ const dateRows: any[] = [
36
+ ['Format Name', 'Value'],
37
+ [],
38
+ ['--- Date Formats ---', ''],
39
+ ['No formatting (number)', demoDate.getTime()],
40
+ ['Short (dd.mm.yyyy)', { value: demoDate, format: F.DATE_SHORT }],
41
+ ['Long (d mmmm yyyy)', { value: demoDate, format: F.DATE_LONG }],
42
+ ['Day-Month-Year (dd-mm-yyyy)', { value: demoDate, format: F.DATE_DAY_MONTH_YEAR }],
43
+ ['ISO (yyyy-mm-dd)', { value: demoDate, format: F.DATE_ISO }],
44
+ ['Month Year (mmmm yyyy)', { value: demoDate, format: F.DATE_MONTH_YEAR }],
45
+ ['Weekday', { value: demoDate, format: F.DATE_WEEKDAY }],
46
+ ['Day Month (d mmmm)', { value: demoDate, format: F.DATE_DAY_MONTH }],
47
+ ['Year only (yyyy)', { value: demoDate, format: F.DATE_YEAR_ONLY }],
48
+ [],
49
+ ['--- DateTime Formats ---', ''],
50
+ ['Short DT (dd.mm.yyyy hh:mm)', { value: demoDate, format: F.DATETIME_SHORT }],
51
+ ['Long DT (d mmmm yyyy hh:mm:ss)', { value: demoDate, format: F.DATETIME_LONG }],
52
+ ['Time only (hh:mm)', { value: demoDate, format: F.TIME_HH_MM }],
53
+ ['Time only (hh:mm:ss)', { value: demoDate, format: F.TIME_HH_MM_SS }],
54
+ ['Time 12h', { value: demoDate, format: F.TIME_12H }],
55
+ ['24h DT (dd.mm.yyyy hh:mm:ss)', { value: demoDate, format: F.DATETIME_24H }],
56
+ ['ISO DT', { value: demoDate, format: F.DATETIME_ISO }],
57
+ ['Milliseconds (hh:mm:ss.000)', { value: demoDate, format: F.TIME_MS }],
58
+ ];
59
+
60
+ wb.addSheet('Date Formats');
61
+ wb.writeSheet(dateRows, ['Format Name', 'Value']);
62
+
63
+ await wb.finalize();
64
+ console.log(`✅ XLSB format demo: ${OUTPUT_DIR}/formats_demo_xlsb.xlsb`);
65
+ }
66
+
67
+ // ========== XLSX Format Demo ==========
68
+ async function createXlsxFormatDemo() {
69
+ const wb = new XlsxWriter(`${OUTPUT_DIR}/formats_demo_xlsx.xlsx`);
70
+
71
+ wb.addSheet('Number Formats');
72
+ wb.writeSheet([
73
+ ['Format Name', 'Value'],
74
+ ['No formatting', demoValue],
75
+ ['Thousands separator', { value: demoValue, format: F.THOUSANDS_SEP }],
76
+ ['Currency PLN', { value: demoValue, format: F.CURRENCY_PLN }],
77
+ ['Currency EUR', { value: demoValue, format: F.CURRENCY_EUR }],
78
+ ['Percentage', { value: 1000, format: F.PERCENTAGE }],
79
+ ['Scientific', { value: demoValue, format: F.SCIENTIFIC }],
80
+ ['Two decimals', { value: demoValue, format: F.TWO_DECIMALS }],
81
+ ['Text', { value: demoValue, format: F.TEXT }],
82
+ ['Leading zeros', { value: demoValue, format: F.LEADING_ZEROS }],
83
+ ], ['Format Name', 'Value']);
84
+
85
+ wb.addSheet('Date Formats');
86
+ wb.writeSheet([
87
+ ['Format Name', 'Value'],
88
+ [],
89
+ ['--- Date Formats ---', ''],
90
+ ['Short (dd.mm.yyyy)', { value: demoDate, format: F.DATE_SHORT }],
91
+ ['Long (d mmmm yyyy)', { value: demoDate, format: F.DATE_LONG }],
92
+ ['ISO (yyyy-mm-dd)', { value: demoDate, format: F.DATE_ISO }],
93
+ ['Month Year (mmmm yyyy)', { value: demoDate, format: F.DATE_MONTH_YEAR }],
94
+ ['Weekday', { value: demoDate, format: F.DATE_WEEKDAY }],
95
+ ['Year only (yyyy)', { value: demoDate, format: F.DATE_YEAR_ONLY }],
96
+ [],
97
+ ['--- DateTime Formats ---', ''],
98
+ ['Short DT (dd.mm.yyyy hh:mm)', { value: demoDate, format: F.DATETIME_SHORT }],
99
+ ['Long DT (d mmmm yyyy hh:mm:ss)', { value: demoDate, format: F.DATETIME_LONG }],
100
+ ['Time only (hh:mm)', { value: demoDate, format: F.TIME_HH_MM }],
101
+ ['Time only (hh:mm:ss)', { value: demoDate, format: F.TIME_HH_MM_SS }],
102
+ ['Time 12h', { value: demoDate, format: F.TIME_12H }],
103
+ ['24h DT (dd.mm.yyyy hh:mm:ss)', { value: demoDate, format: F.DATETIME_24H }],
104
+ ['ISO DT', { value: demoDate, format: F.DATETIME_ISO }],
105
+ ['Milliseconds (hh:mm:ss.000)', { value: demoDate, format: F.TIME_MS }],
106
+ ], ['Format Name', 'Value']);
107
+
108
+ await wb.finalize();
109
+ console.log(`✅ XLSX format demo: ${OUTPUT_DIR}/formats_demo_xlsx.xlsx`);
110
+ }
111
+
112
+ // ========== Streaming API Demo ==========
113
+ async function createStreamingFormatDemo() {
114
+ const wb = new XlsbWriter(`${OUTPUT_DIR}/formats_streaming_demo.xlsb`);
115
+
116
+ wb.startSheet('Number Formats', 2, ['Format', 'Value']);
117
+ wb.writeRow(['No formatting', 123456.78]);
118
+ wb.writeRow(['Thousands separator', { value: 123456.78, format: F.THOUSANDS_SEP }]);
119
+ wb.writeRow(['Currency PLN', { value: 123456.78, format: F.CURRENCY_PLN }]);
120
+ wb.writeRow(['Currency EUR', { value: 123456.78, format: F.CURRENCY_EUR }]);
121
+ wb.writeRow(['Percentage', { value: 0.25, format: F.PERCENTAGE }]);
122
+ wb.writeRow(['Scientific', { value: 123456.78, format: F.SCIENTIFIC }]);
123
+ wb.writeRow(['Two decimals', { value: 123456.78, format: F.TWO_DECIMALS }]);
124
+ wb.writeRow(['Text', { value: '123456.78', format: F.TEXT }]);
125
+ wb.writeRow(['Leading zeros', { value: 42, format: F.LEADING_ZEROS }]);
126
+ wb.endSheet();
127
+
128
+ wb.startSheet('Date Formats', 2, ['Format', 'Value']);
129
+ wb.writeRow(['Short date', { value: demoDate, format: F.DATE_SHORT }]);
130
+ wb.writeRow(['Long date', { value: demoDate, format: F.DATE_LONG }]);
131
+ wb.writeRow(['Short datetime', { value: demoDate, format: F.DATETIME_SHORT }]);
132
+ wb.writeRow(['Long datetime', { value: demoDate, format: F.DATETIME_LONG }]);
133
+ wb.writeRow(['Time only', { value: demoDate, format: F.TIME_HH_MM_SS }]);
134
+ wb.writeRow(['Time 12h', { value: demoDate, format: F.TIME_12H }]);
135
+ wb.writeRow(['ISO', { value: demoDate, format: F.DATETIME_ISO }]);
136
+ wb.writeRow(['Milliseconds', { value: demoDate, format: F.TIME_MS }]);
137
+ wb.endSheet();
138
+
139
+ await wb.finalize();
140
+ console.log(`✅ XLSB streaming format demo: ${OUTPUT_DIR}/formats_streaming_demo.xlsb`);
141
+ }
142
+
143
+ // ========== Real-world Scenario Demo ==========
144
+ async function createSalesReportDemo() {
145
+ const wb = new XlsxWriter(`${OUTPUT_DIR}/sales_report_demo.xlsx`);
146
+
147
+ wb.addSheet('Sales');
148
+ wb.writeSheet([
149
+ ['Product', 'Price', 'Cost', 'Margin', 'Sale Date', 'Qty', 'Total'],
150
+ ['Laptop Dell XPS 15', { value: 5499.99, format: F.CURRENCY_PLN }, { value: 4200.00, format: F.CURRENCY_PLN }, { value: 0.30, format: F.PERCENTAGE }, { value: new Date(2026, 5, 1), format: F.DATE_SHORT }, { value: 5, format: F.THOUSANDS_SEP }, { value: 27499.95, format: F.CURRENCY_PLN }],
151
+ ['Monitor LG 27"', { value: 1299.00, format: F.CURRENCY_PLN }, { value: 950.00, format: F.CURRENCY_PLN }, { value: 0.37, format: F.PERCENTAGE }, { value: new Date(2026, 5, 2), format: F.DATE_SHORT }, 3, { value: 3897.00, format: F.CURRENCY_PLN }],
152
+ ['Mechanical keyboard', { value: 349.99, format: F.CURRENCY_PLN }, { value: 200.00, format: F.CURRENCY_PLN }, { value: 0.75, format: F.PERCENTAGE }, { value: new Date(2026, 5, 3), format: F.DATE_SHORT }, 10, { value: 3499.90, format: F.CURRENCY_PLN }],
153
+ ['Wireless mouse', { value: 199.00, format: F.CURRENCY_PLN }, { value: 120.00, format: F.CURRENCY_PLN }, { value: 0.66, format: F.PERCENTAGE }, { value: new Date(2026, 5, 4), format: F.DATE_SHORT }, 8, { value: 1592.00, format: F.CURRENCY_PLN }],
154
+ ['SSD Drive 1TB', { value: 599.00, format: F.CURRENCY_PLN }, { value: 380.00, format: F.CURRENCY_PLN }, { value: 0.58, format: F.PERCENTAGE }, { value: new Date(2026, 5, 5), format: F.DATE_SHORT }, 2, { value: 1198.00, format: F.CURRENCY_PLN }],
155
+ ], ['Product', 'Price', 'Cost', 'Margin', 'Sale Date', 'Qty', 'Total']);
156
+
157
+ wb.addSheet('Summary');
158
+ wb.writeSheet([
159
+ ['Total Sales', { value: 37486.85, format: F.CURRENCY_PLN }],
160
+ ], ['Description', 'Value']);
161
+
162
+ await wb.finalize();
163
+ console.log(`✅ Sales report demo: ${OUTPUT_DIR}/sales_report_demo.xlsx`);
164
+ }
165
+
166
+ // ========== All-in-one comprehensive demo ==========
167
+ async function createComprehensiveDemo() {
168
+ const wb = new XlsbWriter(`${OUTPUT_DIR}/comprehensive_formats_demo.xlsb`);
169
+
170
+ wb.addSheet('All Formats');
171
+ const rows: any[] = [['Category', 'Format Name', 'Value', 'Format Code']];
172
+
173
+ // Number formats
174
+ const numVal = 1234567.89;
175
+ rows.push(['Numeric', 'No formatting', numVal, 'Raw number']);
176
+ rows.push(['Numeric', 'Thousands separator', { value: numVal, format: F.THOUSANDS_SEP }, '#,##0']);
177
+ rows.push(['Numeric', 'Currency PLN', { value: numVal, format: F.CURRENCY_PLN }, '#,##0.00 "zł"']);
178
+ rows.push(['Numeric', 'Currency EUR', { value: numVal, format: F.CURRENCY_EUR }, '#,##0.00 €']);
179
+ rows.push(['Numeric', 'Percentage', { value: 0.125, format: F.PERCENTAGE }, '0%']);
180
+ rows.push(['Numeric', 'Scientific', { value: numVal, format: F.SCIENTIFIC }, '0.00E+00']);
181
+ rows.push(['Numeric', 'Two decimals', { value: numVal, format: F.TWO_DECIMALS }, '#,##0.00']);
182
+ rows.push(['Numeric', 'Text', { value: numVal, format: F.TEXT }, '@']);
183
+ rows.push(['Numeric', 'Leading zeros', { value: 42, format: F.LEADING_ZEROS }, '000000000']);
184
+
185
+ // Date formats
186
+ const dt = new Date(2026, 11, 24, 15, 45, 30); // Dec 24, 2026 15:45:30
187
+ rows.push([]);
188
+ rows.push(['Date', 'Short date', { value: dt, format: F.DATE_SHORT }, 'dd.mm.yyyy']);
189
+ rows.push(['Date', 'Long date', { value: dt, format: F.DATE_LONG }, 'd mmmm yyyy']);
190
+ rows.push(['Date', 'Day-Month-Year', { value: dt, format: F.DATE_DAY_MONTH_YEAR }, 'dd-mm-yyyy']);
191
+ rows.push(['Date', 'ISO date', { value: dt, format: F.DATE_ISO }, 'yyyy-mm-dd']);
192
+ rows.push(['Date', 'Month Year', { value: dt, format: F.DATE_MONTH_YEAR }, 'mmmm yyyy']);
193
+ rows.push(['Date', 'Weekday', { value: dt, format: F.DATE_WEEKDAY }, 'dddd, d mmmm yyyy']);
194
+ rows.push(['Date', 'Day Month', { value: dt, format: F.DATE_DAY_MONTH }, 'd mmmm']);
195
+ rows.push(['Date', 'Year only', { value: dt, format: F.DATE_YEAR_ONLY }, 'yyyy']);
196
+
197
+ // DateTime formats
198
+ rows.push([]);
199
+ rows.push(['DateTime', 'Short DT', { value: dt, format: F.DATETIME_SHORT }, 'dd.mm.yyyy hh:mm']);
200
+ rows.push(['DateTime', 'Long DT', { value: dt, format: F.DATETIME_LONG }, 'd mmmm yyyy hh:mm:ss']);
201
+ rows.push(['DateTime', 'Time hh:mm', { value: dt, format: F.TIME_HH_MM }, 'hh:mm']);
202
+ rows.push(['DateTime', 'Time hh:mm:ss', { value: dt, format: F.TIME_HH_MM_SS }, 'hh:mm:ss']);
203
+ rows.push(['DateTime', 'Time 12h', { value: dt, format: F.TIME_12H }, 'h:mm AM/PM']);
204
+ rows.push(['DateTime', '24h DT', { value: dt, format: F.DATETIME_24H }, 'dd.mm.yyyy hh:mm:ss']);
205
+ rows.push(['DateTime', 'ISO DT', { value: dt, format: F.DATETIME_ISO }, 'yyyy-mm-dd"T"hh:mm:ss']);
206
+ rows.push(['DateTime', 'Milliseconds', { value: dt, format: F.TIME_MS }, 'hh:mm:ss.000']);
207
+
208
+ wb.writeSheet(rows);
209
+ await wb.finalize();
210
+ console.log(`✅ Comprehensive format demo: ${OUTPUT_DIR}/comprehensive_formats_demo.xlsb`);
211
+ }
212
+
213
+ async function main() {
214
+ console.log('=== SpreadSheet Tasks Format Demo ===\n');
215
+ await createXlsbFormatDemo();
216
+ await createXlsxFormatDemo();
217
+ await createStreamingFormatDemo();
218
+ await createSalesReportDemo();
219
+ await createComprehensiveDemo();
220
+ console.log('\n✅ All format demos generated!');
221
+ console.log('📁 Open these files in Excel to verify formatting:');
222
+ console.log(` ${OUTPUT_DIR}/`);
223
+ }
224
+
225
+ main().catch(console.error);