@sme.up/doc-alchemist 1.0.0-SNAPSHOT-20250613100107
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/README.md +129 -0
- package/dist/assets/sample-data.d.ts +21 -0
- package/dist/assets/sample-data.js +235 -0
- package/dist/assets/sample-data.js.map +1 -0
- package/dist/debug.d.ts +1 -0
- package/dist/debug.js +20 -0
- package/dist/debug.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/src/excel/excel-generator.d.ts +14 -0
- package/dist/src/excel/excel-generator.js +415 -0
- package/dist/src/excel/excel-generator.js.map +1 -0
- package/dist/src/excel/excel-generator.types.d.ts +21 -0
- package/dist/src/excel/excel-generator.types.js +26 -0
- package/dist/src/excel/excel-generator.types.js.map +1 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/pdf/pdf-generator.d.ts +6 -0
- package/dist/src/pdf/pdf-generator.js +5 -0
- package/dist/src/pdf/pdf-generator.js.map +1 -0
- package/dist/src/types/index.d.ts +38 -0
- package/dist/src/types/index.js +15 -0
- package/dist/src/types/index.js.map +1 -0
- package/dist/src/utils/datastructure-utility.d.ts +2 -0
- package/dist/src/utils/datastructure-utility.js +5 -0
- package/dist/src/utils/datastructure-utility.js.map +1 -0
- package/dist/src/utils/dates-utility.d.ts +10 -0
- package/dist/src/utils/dates-utility.js +55 -0
- package/dist/src/utils/dates-utility.js.map +1 -0
- package/dist/src/utils/generator-utility.d.ts +31 -0
- package/dist/src/utils/generator-utility.js +113 -0
- package/dist/src/utils/generator-utility.js.map +1 -0
- package/dist/src/utils/math-utility.d.ts +10 -0
- package/dist/src/utils/math-utility.js +161 -0
- package/dist/src/utils/math-utility.js.map +1 -0
- package/dist/src/utils/objects-utility.d.ts +4 -0
- package/dist/src/utils/objects-utility.js +16 -0
- package/dist/src/utils/objects-utility.js.map +1 -0
- package/dist/src/utils/regex-utility.d.ts +1 -0
- package/dist/src/utils/regex-utility.js +4 -0
- package/dist/src/utils/regex-utility.js.map +1 -0
- package/dist/tests/excel-generator.test.d.ts +17 -0
- package/dist/tests/excel-generator.test.js +287 -0
- package/dist/tests/excel-generator.test.js.map +1 -0
- package/package.json +44 -0
package/README.md
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# Doc Alchemist
|
|
2
|
+
|
|
3
|
+
A TypeScript library for generating Excel documents from SmeupDataTable structures. This library provides powerful data transformation and export capabilities with support for formulas, styling, grouping, and totals.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **Excel Export**: Generate `.xlsx` `.csv` and `.txt` files with full formatting support
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
npm install @sme.up/doc-alchemist
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Quick Start
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
import { dataTableToExcel } from "@sme.up/doc-alchemist";
|
|
19
|
+
import { SupportedExportFormats } from "@sme.up/doc-alchemist";
|
|
20
|
+
|
|
21
|
+
// Your data in SmeupDataTable format
|
|
22
|
+
const data = {
|
|
23
|
+
smeupDataTable: {
|
|
24
|
+
columns: [
|
|
25
|
+
{ name: "COL1", title: "Column 1", visible: true, obj: { t: "", p: "" } },
|
|
26
|
+
{
|
|
27
|
+
name: "COL2",
|
|
28
|
+
title: "Column 2",
|
|
29
|
+
visible: true,
|
|
30
|
+
obj: { t: "NR", p: "" },
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
rows: [
|
|
34
|
+
{
|
|
35
|
+
cells: {
|
|
36
|
+
COL1: { value: "Sample Data", obj: { t: "", p: "", k: "" } },
|
|
37
|
+
COL2: { value: "123", obj: { t: "NR", p: "", k: "123" } },
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
},
|
|
42
|
+
props: {
|
|
43
|
+
totals: {},
|
|
44
|
+
groups: [],
|
|
45
|
+
filter: [],
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
// Generate Excel data
|
|
50
|
+
const excelBuffer = dataTableToExcelData(data, SupportedExportFormats.XLSX, {});
|
|
51
|
+
|
|
52
|
+
const outputPath = path.resolve("./output/sample-export-debug.xlsx");
|
|
53
|
+
|
|
54
|
+
// Save to file
|
|
55
|
+
await fs.writeFile(outputPath, excelBuffer);
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## API Reference
|
|
59
|
+
|
|
60
|
+
### Main Functions
|
|
61
|
+
|
|
62
|
+
#### `dataTableToExcelData(data, format, managerData)`
|
|
63
|
+
|
|
64
|
+
Converts SmeupDataTable to Excel binary data.
|
|
65
|
+
|
|
66
|
+
**Parameters:**
|
|
67
|
+
|
|
68
|
+
- `data`: Object containing `smeupDataTable` and `props`
|
|
69
|
+
- `format`: Export format (`SupportedExportFormats.XLSX`)
|
|
70
|
+
- `managerData`: Configuration object with locale and theme settings
|
|
71
|
+
|
|
72
|
+
**Returns:** `Promise<Buffer | Uint8Array>` instance
|
|
73
|
+
|
|
74
|
+
### Setup
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
# Clone the repository
|
|
78
|
+
git clone <repository-url>
|
|
79
|
+
cd doc-alchemist
|
|
80
|
+
|
|
81
|
+
# Install dependencies
|
|
82
|
+
npm install
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Running the Example
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
# Run the main example (generates sample Excel file)
|
|
89
|
+
npm start
|
|
90
|
+
|
|
91
|
+
# Output will be saved to ./output/sample-export.xlsx
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Testing
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
# Run all tests
|
|
98
|
+
npm test
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
# Debugging
|
|
102
|
+
|
|
103
|
+
### VS Code Debug Configuration
|
|
104
|
+
|
|
105
|
+
The project includes comprehensive VS Code debug configurations:
|
|
106
|
+
|
|
107
|
+
#### Available Debug Configurations:
|
|
108
|
+
|
|
109
|
+
1. **Debug debug.ts** - Debug the main example file
|
|
110
|
+
2. **Debug Specific Test File** - Debug currently open test file
|
|
111
|
+
|
|
112
|
+
#### Setting up Debug Session:
|
|
113
|
+
|
|
114
|
+
1. **Open VS Code** in the project directory
|
|
115
|
+
2. **Open Debug Panel** (Ctrl+Shift+D)
|
|
116
|
+
3. **Select configuration** from dropdown
|
|
117
|
+
4. **Set breakpoints** in your TypeScript files
|
|
118
|
+
5. **Press F5** to start debugging
|
|
119
|
+
|
|
120
|
+
### Code Style
|
|
121
|
+
|
|
122
|
+
- Use TypeScript strict mode
|
|
123
|
+
- Follow existing code formatting
|
|
124
|
+
- Write tests for new features
|
|
125
|
+
- Use meaningful variable and function names
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
**Note**: This library is designed to work with SmeupDataTable structures and requires the `@sme.up/kokos-sdk-node` package for type definitions.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { SmeupDataTable } from "@sme.up/kokos-sdk-node";
|
|
2
|
+
import { GenericObject } from "../src/types/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Sample data for testing Excel generation functionality.
|
|
5
|
+
* Contains a table with multiple columns including visible/hidden columns,
|
|
6
|
+
* numeric data, and formula columns.
|
|
7
|
+
*/
|
|
8
|
+
export declare const table_sample_1: {
|
|
9
|
+
smeupDataTable: SmeupDataTable;
|
|
10
|
+
props: GenericObject;
|
|
11
|
+
};
|
|
12
|
+
export declare const table_sample_2: {
|
|
13
|
+
smeupDataTable: SmeupDataTable;
|
|
14
|
+
props: {
|
|
15
|
+
groups: {
|
|
16
|
+
column: string;
|
|
17
|
+
visible: boolean;
|
|
18
|
+
}[];
|
|
19
|
+
totals: never[];
|
|
20
|
+
};
|
|
21
|
+
};
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import { SmeupDataStructureType, } from "@sme.up/kokos-sdk-node";
|
|
2
|
+
const columns_sample_1 = [
|
|
3
|
+
{
|
|
4
|
+
name: "COL1",
|
|
5
|
+
title: "Column1",
|
|
6
|
+
visible: true,
|
|
7
|
+
obj: { t: "", p: "" },
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
name: "VO_COD_VER_COL",
|
|
11
|
+
title: "VO_COD_VER",
|
|
12
|
+
visible: true,
|
|
13
|
+
obj: { t: "VO", p: "COD_VER" },
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
name: "BTN_COL",
|
|
17
|
+
title: "Button",
|
|
18
|
+
visible: true,
|
|
19
|
+
obj: { t: "J4", p: "BTN" },
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: "COL2",
|
|
23
|
+
title: "Column2",
|
|
24
|
+
visible: true,
|
|
25
|
+
obj: { t: "", p: "" },
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
name: "HIDDEN_COL",
|
|
29
|
+
title: "Hidden column",
|
|
30
|
+
visible: false,
|
|
31
|
+
obj: { t: "NR", p: "" },
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
name: "SUM_COL",
|
|
35
|
+
title: "Sum",
|
|
36
|
+
visible: true,
|
|
37
|
+
obj: { t: "NR", p: "" },
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: "AVG_COL",
|
|
41
|
+
title: "Average",
|
|
42
|
+
visible: true,
|
|
43
|
+
obj: { t: "NR", p: "" },
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: "MIN_COL",
|
|
47
|
+
title: "Minimum",
|
|
48
|
+
visible: true,
|
|
49
|
+
obj: { t: "NR", p: "" },
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
name: "MAX_COL",
|
|
53
|
+
title: "Maximum",
|
|
54
|
+
visible: true,
|
|
55
|
+
obj: { t: "NR", p: "" },
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
name: "DIFF_COL",
|
|
59
|
+
title: "Difference",
|
|
60
|
+
visible: true,
|
|
61
|
+
formula: "([HIDDEN_COL]-[SUM_COL])",
|
|
62
|
+
obj: { t: "NR", p: "" },
|
|
63
|
+
},
|
|
64
|
+
];
|
|
65
|
+
const cells_1_sample_1 = {
|
|
66
|
+
COL1: {
|
|
67
|
+
obj: { t: "", p: "", k: "Value 1" },
|
|
68
|
+
value: "Value 1",
|
|
69
|
+
},
|
|
70
|
+
VO_COD_VER_COL: {
|
|
71
|
+
obj: { t: "VO", p: "COD_VER", k: "Op" },
|
|
72
|
+
value: "Op",
|
|
73
|
+
},
|
|
74
|
+
BTN_COL: {
|
|
75
|
+
obj: { t: "J4", p: "BTN", k: "Button" },
|
|
76
|
+
value: "Button",
|
|
77
|
+
},
|
|
78
|
+
COL2: {
|
|
79
|
+
obj: { t: "", p: "", k: "Value 2" },
|
|
80
|
+
value: "Value 2",
|
|
81
|
+
},
|
|
82
|
+
HIDDEN_COL: {
|
|
83
|
+
obj: { t: "NR", p: "", k: "33" },
|
|
84
|
+
value: "33",
|
|
85
|
+
},
|
|
86
|
+
SUM_COL: {
|
|
87
|
+
obj: { t: "NR", p: "", k: "15" },
|
|
88
|
+
value: "15",
|
|
89
|
+
},
|
|
90
|
+
AVG_COL: {
|
|
91
|
+
obj: { t: "NR", p: "", k: "-5" },
|
|
92
|
+
value: "-5",
|
|
93
|
+
},
|
|
94
|
+
MIN_COL: {
|
|
95
|
+
obj: { t: "NR", p: "", k: "1000" },
|
|
96
|
+
value: "1000",
|
|
97
|
+
},
|
|
98
|
+
MAX_COL: {
|
|
99
|
+
obj: { t: "NR", p: "", k: "12" },
|
|
100
|
+
value: "12",
|
|
101
|
+
},
|
|
102
|
+
DIFF_COL: {
|
|
103
|
+
obj: { t: "NR", p: "", k: "-18" },
|
|
104
|
+
value: "-18",
|
|
105
|
+
},
|
|
106
|
+
};
|
|
107
|
+
const cells_2_sample_1 = {
|
|
108
|
+
COL1: {
|
|
109
|
+
obj: { t: "", p: "", k: "Value 3" },
|
|
110
|
+
value: "Value 3",
|
|
111
|
+
},
|
|
112
|
+
VO_COD_VER_COL: {
|
|
113
|
+
obj: { t: "VO", p: "COD_VER", k: "Op" },
|
|
114
|
+
value: "Op",
|
|
115
|
+
},
|
|
116
|
+
BTN_COL: {
|
|
117
|
+
obj: { t: "J4", p: "BTN", k: "Button" },
|
|
118
|
+
value: "Button",
|
|
119
|
+
},
|
|
120
|
+
COL2: {
|
|
121
|
+
obj: { t: "", p: "", k: "Value 4" },
|
|
122
|
+
value: "Value 4",
|
|
123
|
+
},
|
|
124
|
+
HIDDEN_COL: {
|
|
125
|
+
obj: { t: "NR", p: "", k: "33" },
|
|
126
|
+
value: "33",
|
|
127
|
+
},
|
|
128
|
+
SUM_COL: {
|
|
129
|
+
obj: { t: "NR", p: "", k: "6" },
|
|
130
|
+
value: "6",
|
|
131
|
+
},
|
|
132
|
+
AVG_COL: {
|
|
133
|
+
obj: { t: "NR", p: "", k: "-80" },
|
|
134
|
+
value: "-80",
|
|
135
|
+
},
|
|
136
|
+
MIN_COL: {
|
|
137
|
+
obj: { t: "NR", p: "", k: "5.5" },
|
|
138
|
+
value: "5.5",
|
|
139
|
+
},
|
|
140
|
+
MAX_COL: {
|
|
141
|
+
obj: { t: "NR", p: "", k: "1200" },
|
|
142
|
+
value: "1200",
|
|
143
|
+
},
|
|
144
|
+
DIFF_COL: {
|
|
145
|
+
obj: { t: "NR", p: "", k: "-27" },
|
|
146
|
+
value: "-27",
|
|
147
|
+
},
|
|
148
|
+
};
|
|
149
|
+
/**
|
|
150
|
+
* Sample data for testing Excel generation functionality.
|
|
151
|
+
* Contains a table with multiple columns including visible/hidden columns,
|
|
152
|
+
* numeric data, and formula columns.
|
|
153
|
+
*/
|
|
154
|
+
export const table_sample_1 = {
|
|
155
|
+
smeupDataTable: {
|
|
156
|
+
type: SmeupDataStructureType.SmeupDataTable,
|
|
157
|
+
columns: columns_sample_1,
|
|
158
|
+
rows: [
|
|
159
|
+
{
|
|
160
|
+
cells: cells_1_sample_1,
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
cells: cells_2_sample_1,
|
|
164
|
+
},
|
|
165
|
+
],
|
|
166
|
+
},
|
|
167
|
+
props: {},
|
|
168
|
+
};
|
|
169
|
+
export const table_sample_2 = {
|
|
170
|
+
smeupDataTable: {
|
|
171
|
+
type: SmeupDataStructureType.SmeupDataTable,
|
|
172
|
+
columns: [
|
|
173
|
+
{
|
|
174
|
+
name: "1",
|
|
175
|
+
title: "1title",
|
|
176
|
+
visible: true,
|
|
177
|
+
obj: { t: "", p: "" },
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
name: "2",
|
|
181
|
+
title: "2title",
|
|
182
|
+
visible: true,
|
|
183
|
+
obj: { t: "", p: "" },
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
name: "DSC",
|
|
187
|
+
title: "DSCtitle",
|
|
188
|
+
visible: true,
|
|
189
|
+
obj: { t: "", p: "" },
|
|
190
|
+
},
|
|
191
|
+
],
|
|
192
|
+
rows: [
|
|
193
|
+
{
|
|
194
|
+
cells: {
|
|
195
|
+
1: {
|
|
196
|
+
obj: { t: "", p: "", k: "" },
|
|
197
|
+
value: "1-1",
|
|
198
|
+
},
|
|
199
|
+
2: {
|
|
200
|
+
obj: { t: "", p: "", k: "" },
|
|
201
|
+
value: "2-1",
|
|
202
|
+
},
|
|
203
|
+
DSC: {
|
|
204
|
+
obj: { t: "", p: "", k: "" },
|
|
205
|
+
value: "DSC-1",
|
|
206
|
+
},
|
|
207
|
+
},
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
cells: {
|
|
211
|
+
1: {
|
|
212
|
+
obj: { t: "", p: "" },
|
|
213
|
+
value: "1-2",
|
|
214
|
+
},
|
|
215
|
+
2: {
|
|
216
|
+
obj: { t: "", p: "" },
|
|
217
|
+
value: "2-2",
|
|
218
|
+
},
|
|
219
|
+
DSC: {
|
|
220
|
+
obj: { t: "", p: "" },
|
|
221
|
+
value: "DSC-2",
|
|
222
|
+
},
|
|
223
|
+
},
|
|
224
|
+
},
|
|
225
|
+
],
|
|
226
|
+
},
|
|
227
|
+
props: {
|
|
228
|
+
groups: [
|
|
229
|
+
{ column: "1", visible: true },
|
|
230
|
+
{ column: "2", visible: true },
|
|
231
|
+
],
|
|
232
|
+
totals: [],
|
|
233
|
+
},
|
|
234
|
+
};
|
|
235
|
+
//# sourceMappingURL=sample-data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sample-data.js","sourceRoot":"","sources":["../../assets/sample-data.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n SmeupDataCell,\n SmeupDataColumn,\n SmeupDataStructureType,\n SmeupDataTable,\n} from \"@sme.up/kokos-sdk-node\";\nimport { GenericObject } from \"../src/types/index.js\";\n\nconst columns_sample_1: SmeupDataColumn[] = [\n {\n name: \"COL1\",\n title: \"Column1\",\n visible: true,\n obj: { t: \"\", p: \"\" },\n },\n {\n name: \"VO_COD_VER_COL\",\n title: \"VO_COD_VER\",\n visible: true,\n obj: { t: \"VO\", p: \"COD_VER\" },\n },\n {\n name: \"BTN_COL\",\n title: \"Button\",\n visible: true,\n obj: { t: \"J4\", p: \"BTN\" },\n },\n {\n name: \"COL2\",\n title: \"Column2\",\n visible: true,\n obj: { t: \"\", p: \"\" },\n },\n {\n name: \"HIDDEN_COL\",\n title: \"Hidden column\",\n visible: false,\n obj: { t: \"NR\", p: \"\" },\n },\n {\n name: \"SUM_COL\",\n title: \"Sum\",\n visible: true,\n obj: { t: \"NR\", p: \"\" },\n },\n {\n name: \"AVG_COL\",\n title: \"Average\",\n visible: true,\n obj: { t: \"NR\", p: \"\" },\n },\n {\n name: \"MIN_COL\",\n title: \"Minimum\",\n visible: true,\n obj: { t: \"NR\", p: \"\" },\n },\n {\n name: \"MAX_COL\",\n title: \"Maximum\",\n visible: true,\n obj: { t: \"NR\", p: \"\" },\n },\n {\n name: \"DIFF_COL\",\n title: \"Difference\",\n visible: true,\n formula: \"([HIDDEN_COL]-[SUM_COL])\",\n obj: { t: \"NR\", p: \"\" },\n },\n];\n\nconst cells_1_sample_1: {\n [key: string]: SmeupDataCell;\n} = {\n COL1: {\n obj: { t: \"\", p: \"\", k: \"Value 1\" },\n value: \"Value 1\",\n },\n VO_COD_VER_COL: {\n obj: { t: \"VO\", p: \"COD_VER\", k: \"Op\" },\n value: \"Op\",\n },\n BTN_COL: {\n obj: { t: \"J4\", p: \"BTN\", k: \"Button\" },\n value: \"Button\",\n },\n COL2: {\n obj: { t: \"\", p: \"\", k: \"Value 2\" },\n value: \"Value 2\",\n },\n HIDDEN_COL: {\n obj: { t: \"NR\", p: \"\", k: \"33\" },\n value: \"33\",\n },\n SUM_COL: {\n obj: { t: \"NR\", p: \"\", k: \"15\" },\n value: \"15\",\n },\n AVG_COL: {\n obj: { t: \"NR\", p: \"\", k: \"-5\" },\n value: \"-5\",\n },\n MIN_COL: {\n obj: { t: \"NR\", p: \"\", k: \"1000\" },\n value: \"1000\",\n },\n MAX_COL: {\n obj: { t: \"NR\", p: \"\", k: \"12\" },\n value: \"12\",\n },\n DIFF_COL: {\n obj: { t: \"NR\", p: \"\", k: \"-18\" },\n value: \"-18\",\n },\n};\n\nconst cells_2_sample_1: {\n [key: string]: SmeupDataCell;\n} = {\n COL1: {\n obj: { t: \"\", p: \"\", k: \"Value 3\" },\n value: \"Value 3\",\n },\n VO_COD_VER_COL: {\n obj: { t: \"VO\", p: \"COD_VER\", k: \"Op\" },\n value: \"Op\",\n },\n BTN_COL: {\n obj: { t: \"J4\", p: \"BTN\", k: \"Button\" },\n value: \"Button\",\n },\n COL2: {\n obj: { t: \"\", p: \"\", k: \"Value 4\" },\n value: \"Value 4\",\n },\n HIDDEN_COL: {\n obj: { t: \"NR\", p: \"\", k: \"33\" },\n value: \"33\",\n },\n SUM_COL: {\n obj: { t: \"NR\", p: \"\", k: \"6\" },\n value: \"6\",\n },\n AVG_COL: {\n obj: { t: \"NR\", p: \"\", k: \"-80\" },\n value: \"-80\",\n },\n MIN_COL: {\n obj: { t: \"NR\", p: \"\", k: \"5.5\" },\n value: \"5.5\",\n },\n MAX_COL: {\n obj: { t: \"NR\", p: \"\", k: \"1200\" },\n value: \"1200\",\n },\n DIFF_COL: {\n obj: { t: \"NR\", p: \"\", k: \"-27\" },\n value: \"-27\",\n },\n};\n\n/**\n * Sample data for testing Excel generation functionality.\n * Contains a table with multiple columns including visible/hidden columns,\n * numeric data, and formula columns.\n */\nexport const table_sample_1: {\n smeupDataTable: SmeupDataTable;\n props: GenericObject;\n} = {\n smeupDataTable: {\n type: SmeupDataStructureType.SmeupDataTable,\n columns: columns_sample_1,\n rows: [\n {\n cells: cells_1_sample_1,\n },\n {\n cells: cells_2_sample_1,\n },\n ],\n } as SmeupDataTable,\n props: {},\n};\n\nexport const table_sample_2 = {\n smeupDataTable: {\n type: SmeupDataStructureType.SmeupDataTable,\n columns: [\n {\n name: \"1\",\n title: \"1title\",\n visible: true,\n obj: { t: \"\", p: \"\" },\n },\n {\n name: \"2\",\n title: \"2title\",\n visible: true,\n obj: { t: \"\", p: \"\" },\n },\n {\n name: \"DSC\",\n title: \"DSCtitle\",\n visible: true,\n obj: { t: \"\", p: \"\" },\n },\n ],\n rows: [\n {\n cells: {\n 1: {\n obj: { t: \"\", p: \"\", k: \"\" },\n value: \"1-1\",\n },\n 2: {\n obj: { t: \"\", p: \"\", k: \"\" },\n value: \"2-1\",\n },\n DSC: {\n obj: { t: \"\", p: \"\", k: \"\" },\n value: \"DSC-1\",\n },\n },\n },\n {\n cells: {\n 1: {\n obj: { t: \"\", p: \"\" },\n value: \"1-2\",\n },\n 2: {\n obj: { t: \"\", p: \"\" },\n value: \"2-2\",\n },\n DSC: {\n obj: { t: \"\", p: \"\" },\n value: \"DSC-2\",\n },\n },\n },\n ],\n } as SmeupDataTable,\n props: {\n groups: [\n { column: \"1\", visible: true },\n { column: \"2\", visible: true },\n ],\n totals: [],\n },\n};\n"]}
|
package/dist/debug.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/debug.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { SupportedExportFormats } from "./src/types/index.js";
|
|
2
|
+
import { dataTableToExcelData } from "./src/excel/excel-generator.js";
|
|
3
|
+
import { table_sample_1 } from "./assets/sample-data.js";
|
|
4
|
+
import path from "path";
|
|
5
|
+
import fs from "fs/promises";
|
|
6
|
+
async function main() {
|
|
7
|
+
const managerData = {
|
|
8
|
+
mathLocale: "it-IT",
|
|
9
|
+
datesLocale: "it-IT",
|
|
10
|
+
themeBackground: "",
|
|
11
|
+
};
|
|
12
|
+
console.log("Generating Excel data...");
|
|
13
|
+
const excelData = await dataTableToExcelData(table_sample_1, SupportedExportFormats.XLSX, managerData);
|
|
14
|
+
const outputPath = path.resolve("./output/sample-export-debug.xlsx");
|
|
15
|
+
console.log("Saving Excel to:", outputPath);
|
|
16
|
+
await fs.writeFile(outputPath, excelData);
|
|
17
|
+
console.log("Excel file saved successfully at:", outputPath);
|
|
18
|
+
}
|
|
19
|
+
main().catch(console.error);
|
|
20
|
+
//# sourceMappingURL=debug.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../debug.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAoB,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,aAAa,CAAC;AAE7B,KAAK,UAAU,IAAI;IACjB,MAAM,WAAW,GAAqB;QACpC,UAAU,EAAE,OAAO;QACnB,WAAW,EAAE,OAAO;QACpB,eAAe,EAAE,EAAE;KACpB,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAExC,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAC1C,cAAc,EACd,sBAAsB,CAAC,IAAI,EAC3B,WAAW,CACZ,CAAC;IAEF,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;IAE5C,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,UAAU,CAAC,CAAC;AAC/D,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC","sourcesContent":["import { SupportedExportFormats, WebupManagerData } from \"./src/types/index.js\";\nimport { dataTableToExcelData } from \"./src/excel/excel-generator.js\";\nimport { table_sample_1 } from \"./assets/sample-data.js\";\nimport path from \"path\";\nimport fs from \"fs/promises\";\n\nasync function main() {\n const managerData: WebupManagerData = {\n mathLocale: \"it-IT\",\n datesLocale: \"it-IT\",\n themeBackground: \"\",\n };\n\n console.log(\"Generating Excel data...\");\n\n const excelData = await dataTableToExcelData(\n table_sample_1,\n SupportedExportFormats.XLSX,\n managerData,\n );\n\n const outputPath = path.resolve(\"./output/sample-export-debug.xlsx\");\n console.log(\"Saving Excel to:\", outputPath);\n\n await fs.writeFile(outputPath, excelData);\n console.log(\"Excel file saved successfully at:\", outputPath);\n}\n\nmain().catch(console.error);\n"]}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { dataTableToExcelData } from "./src/excel/excel-generator.js";
|
|
2
|
+
export type { WebupManagerData, GenericObject } from "./src/types/index.js";
|
|
3
|
+
export { SupportedExportFormats } from "./src/types/index.js";
|
|
4
|
+
export type { SmeupDataTable } from "@sme.up/kokos-sdk-node";
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAKtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC","sourcesContent":["// Public API exports\nexport { dataTableToExcelData } from \"./src/excel/excel-generator.js\";\n\n// Export types that users might need\nexport type { WebupManagerData, GenericObject } from \"./src/types/index.js\";\n\nexport { SupportedExportFormats } from \"./src/types/index.js\";\n\n// Re-export useful types from kokos-sdk-node if needed\nexport type { SmeupDataTable } from \"@sme.up/kokos-sdk-node\";\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SmeupDataColumn, SmeupDataNode, SmeupDataRow, SmeupDataTable } from "@sme.up/kokos-sdk-node";
|
|
2
|
+
import ExcelJS from "exceljs";
|
|
3
|
+
import { GenericObject, WebupManagerData, SupportedExportFormats } from "../types/index.js";
|
|
4
|
+
export declare const dataTableToExcelData: (component: {
|
|
5
|
+
smeupDataTable: SmeupDataTable;
|
|
6
|
+
props: GenericObject;
|
|
7
|
+
}, fileFormat: SupportedExportFormats, webupManagerData: WebupManagerData) => Promise<Buffer | Uint8Array>;
|
|
8
|
+
export declare const dataTableToExcelWorkbook: (component: {
|
|
9
|
+
smeupDataTable: SmeupDataTable;
|
|
10
|
+
props: GenericObject;
|
|
11
|
+
}, fileFormat: SupportedExportFormats, webupManagerData: WebupManagerData) => ExcelJS.Workbook;
|
|
12
|
+
export declare const smeupFormulaToExcelFormula: (formula: string, rowNumber: number, filteredColumns: SmeupDataColumn[]) => string;
|
|
13
|
+
export declare const addStyleToExceljsRow: (exceljsRow: ExcelJS.Row, columns: SmeupDataColumn[], row: SmeupDataRow | SmeupDataNode) => void;
|
|
14
|
+
export declare const getExcelNumFormat: (cellDecimals: number, cellIntegers: number) => string;
|