@node-projects/excelforge 2.4.0 → 3.1.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.
Files changed (74) hide show
  1. package/.github/FUNDING.yml +4 -0
  2. package/FEATURES.md +294 -0
  3. package/README.md +628 -12
  4. package/dist/core/SharedStrings.js +6 -2
  5. package/dist/core/SharedStrings.js.map +1 -1
  6. package/dist/core/Workbook.d.ts +43 -1
  7. package/dist/core/Workbook.js +881 -58
  8. package/dist/core/Workbook.js.map +1 -1
  9. package/dist/core/WorkbookReader.d.ts +18 -4
  10. package/dist/core/WorkbookReader.js +1386 -20
  11. package/dist/core/WorkbookReader.js.map +1 -1
  12. package/dist/core/Worksheet.d.ts +136 -2
  13. package/dist/core/Worksheet.js +828 -63
  14. package/dist/core/Worksheet.js.map +1 -1
  15. package/dist/core/types.d.ts +311 -5
  16. package/dist/core/types.js +12 -1
  17. package/dist/core/types.js.map +1 -1
  18. package/dist/features/ChartBuilder.d.ts +9 -1
  19. package/dist/features/ChartBuilder.js +140 -14
  20. package/dist/features/ChartBuilder.js.map +1 -1
  21. package/dist/features/CsvModule.d.ts +11 -0
  22. package/dist/features/CsvModule.js +137 -0
  23. package/dist/features/CsvModule.js.map +1 -0
  24. package/dist/features/Encryption.d.ts +6 -0
  25. package/dist/features/Encryption.js +806 -0
  26. package/dist/features/Encryption.js.map +1 -0
  27. package/dist/features/FormControlBuilder.d.ts +6 -0
  28. package/dist/features/FormControlBuilder.js +135 -0
  29. package/dist/features/FormControlBuilder.js.map +1 -0
  30. package/dist/features/FormulaEngine.d.ts +22 -0
  31. package/dist/features/FormulaEngine.js +498 -0
  32. package/dist/features/FormulaEngine.js.map +1 -0
  33. package/dist/features/HtmlModule.d.ts +22 -0
  34. package/dist/features/HtmlModule.js +1441 -0
  35. package/dist/features/HtmlModule.js.map +1 -0
  36. package/dist/features/JsonModule.d.ts +10 -0
  37. package/dist/features/JsonModule.js +76 -0
  38. package/dist/features/JsonModule.js.map +1 -0
  39. package/dist/features/PdfModule.d.ts +30 -0
  40. package/dist/features/PdfModule.js +1567 -0
  41. package/dist/features/PdfModule.js.map +1 -0
  42. package/dist/features/PivotTableBuilder.d.ts +7 -0
  43. package/dist/features/PivotTableBuilder.js +170 -0
  44. package/dist/features/PivotTableBuilder.js.map +1 -0
  45. package/dist/features/Signing.d.ts +12 -0
  46. package/dist/features/Signing.js +326 -0
  47. package/dist/features/Signing.js.map +1 -0
  48. package/dist/features/TableBuilder.js +2 -2
  49. package/dist/features/TableBuilder.js.map +1 -1
  50. package/dist/index-min.js +609 -147
  51. package/dist/index.d.ts +19 -1
  52. package/dist/index.js +11 -0
  53. package/dist/index.js.map +1 -1
  54. package/dist/styles/StyleRegistry.d.ts +14 -0
  55. package/dist/styles/StyleRegistry.js +95 -30
  56. package/dist/styles/StyleRegistry.js.map +1 -1
  57. package/dist/utils/helpers.d.ts +4 -0
  58. package/dist/utils/helpers.js +64 -14
  59. package/dist/utils/helpers.js.map +1 -1
  60. package/dist/utils/zip.js +145 -73
  61. package/dist/utils/zip.js.map +1 -1
  62. package/dist/vba/VbaProject.d.ts +31 -0
  63. package/dist/vba/VbaProject.js +576 -0
  64. package/dist/vba/VbaProject.js.map +1 -0
  65. package/dist/vba/cfb.d.ts +7 -0
  66. package/dist/vba/cfb.js +352 -0
  67. package/dist/vba/cfb.js.map +1 -0
  68. package/dist/vba/ovba.d.ts +2 -0
  69. package/dist/vba/ovba.js +137 -0
  70. package/dist/vba/ovba.js.map +1 -0
  71. package/package.json +4 -3
  72. package/validator.cs +0 -155
  73. package/validatorEpplus.cs +0 -27
  74. package/validatorReadData.cs +0 -111
@@ -58,8 +58,12 @@ function richFontXml(f) {
58
58
  parts.push(`<u val="${f.underline}"/>`);
59
59
  if (f.size)
60
60
  parts.push(`<sz val="${f.size}"/>`);
61
- if (f.color)
62
- parts.push(`<color rgb="${f.color.startsWith('#') ? 'FF' + f.color.slice(1) : f.color}"/>`);
61
+ if (f.color) {
62
+ if (f.color.startsWith('theme:'))
63
+ parts.push(`<color theme="${f.color.slice(6)}"/>`);
64
+ else
65
+ parts.push(`<color rgb="${f.color.startsWith('#') ? 'FF' + f.color.slice(1) : f.color}"/>`);
66
+ }
63
67
  if (f.name)
64
68
  parts.push(`<name val="${escapeXml(f.name)}"/>`);
65
69
  return parts.length ? `<rPr>${parts.join('')}</rPr>` : '';
@@ -1 +1 @@
1
- {"version":3,"file":"SharedStrings.js","sourceRoot":"","sources":["../../src/core/SharedStrings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SharedStrings.js","sourceRoot":"","sources":["../../src/core/SharedStrings.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,25 @@
1
- import type { WorkbookProperties, NamedRange, WorksheetOptions } from '../core/types.js';
1
+ import type { WorkbookProperties, NamedRange, WorksheetOptions, Connection, PowerQuery, CalcSettings, Theme, ExternalLink, CustomPivotStyle, LocaleSettings, PivotSlicer } from '../core/types.js';
2
2
  import { Worksheet } from './Worksheet.js';
3
+ import { VbaProject } from '../vba/VbaProject.js';
3
4
  import { type CoreProperties, type ExtendedProperties, type CustomProperty } from './properties.js';
4
5
  export declare class Workbook {
5
6
  private sheets;
6
7
  private namedRanges;
8
+ private connections;
9
+ private powerQueries;
10
+ private externalLinks;
11
+ private customPivotStyles;
12
+ private pivotSlicers;
13
+ theme?: Theme;
14
+ locale?: LocaleSettings;
15
+ calcSettings?: CalcSettings;
7
16
  properties: WorkbookProperties;
8
17
  compressionLevel: number;
9
18
  coreProperties: CoreProperties;
10
19
  extendedProperties: ExtendedProperties;
11
20
  customProperties: CustomProperty[];
21
+ vbaProject?: VbaProject;
22
+ isTemplate: boolean;
12
23
  private _readResult?;
13
24
  private _dirtySheets;
14
25
  markDirty(sheetIndexOrName: number | string): void;
@@ -20,18 +31,49 @@ export declare class Workbook {
20
31
  getSheet(name: string): Worksheet | undefined;
21
32
  getSheetByIndex(idx: number): Worksheet | undefined;
22
33
  getSheetNames(): string[];
34
+ getSheets(): readonly Worksheet[];
23
35
  removeSheet(name: string): this;
36
+ addChartSheet(name: string, chart: import('./types.js').Chart): Worksheet;
37
+ addDialogSheet(name: string): Worksheet;
38
+ copySheet(sourceName: string, newName: string): Worksheet;
39
+ private _customTableStyles;
40
+ registerTableStyle(name: string, def: {
41
+ headerRow?: import('./types.js').CellStyle;
42
+ dataRow1?: import('./types.js').CellStyle;
43
+ dataRow2?: import('./types.js').CellStyle;
44
+ totalRow?: import('./types.js').CellStyle;
45
+ }): this;
24
46
  addNamedRange(nr: NamedRange): this;
47
+ getNamedRanges(): readonly NamedRange[];
48
+ getNamedRange(name: string): NamedRange | undefined;
49
+ removeNamedRange(name: string): this;
50
+ addConnection(conn: Connection): this;
51
+ getConnections(): readonly Connection[];
52
+ getConnection(name: string): Connection | undefined;
53
+ removeConnection(name: string): this;
54
+ getPowerQueries(): readonly PowerQuery[];
55
+ getPowerQuery(name: string): PowerQuery | undefined;
25
56
  getCustomProperty(name: string): CustomProperty | undefined;
26
57
  setCustomProperty(name: string, value: CustomProperty['value']): this;
27
58
  removeCustomProperty(name: string): this;
59
+ addExternalLink(link: ExternalLink): this;
60
+ getExternalLinks(): readonly ExternalLink[];
61
+ registerPivotStyle(style: CustomPivotStyle): this;
62
+ addPivotSlicer(slicer: PivotSlicer): this;
63
+ getPivotSlicers(): readonly PivotSlicer[];
28
64
  build(): Promise<Uint8Array>;
29
65
  private _buildPatched;
30
66
  private _buildFresh;
67
+ private _headingPairs;
31
68
  private _syncLegacyProperties;
69
+ private _ensureVbaSheetModules;
32
70
  private _patchWorkbookXml;
71
+ private _definedNamesXml;
72
+ private _calcPrXml;
73
+ private _connectionsXml;
33
74
  private _buildWorkbookRels;
34
75
  private _relsToXml;
76
+ private _buildThemeXml;
35
77
  private _buildRootRels;
36
78
  private _patchContentTypes;
37
79
  buildBase64(): Promise<string>;