@node-projects/excelforge 2.4.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/FUNDING.yml +4 -0
- package/MISSING.md +326 -0
- package/README.md +484 -12
- package/dist/core/SharedStrings.js +6 -2
- package/dist/core/SharedStrings.js.map +1 -1
- package/dist/core/Workbook.d.ts +41 -1
- package/dist/core/Workbook.js +773 -57
- package/dist/core/Workbook.js.map +1 -1
- package/dist/core/WorkbookReader.d.ts +18 -4
- package/dist/core/WorkbookReader.js +1386 -20
- package/dist/core/WorkbookReader.js.map +1 -1
- package/dist/core/Worksheet.d.ts +130 -2
- package/dist/core/Worksheet.js +792 -63
- package/dist/core/Worksheet.js.map +1 -1
- package/dist/core/types.d.ts +287 -5
- package/dist/core/types.js +12 -1
- package/dist/core/types.js.map +1 -1
- package/dist/features/ChartBuilder.d.ts +9 -1
- package/dist/features/ChartBuilder.js +140 -14
- package/dist/features/ChartBuilder.js.map +1 -1
- package/dist/features/CsvModule.d.ts +11 -0
- package/dist/features/CsvModule.js +137 -0
- package/dist/features/CsvModule.js.map +1 -0
- package/dist/features/Encryption.d.ts +6 -0
- package/dist/features/Encryption.js +806 -0
- package/dist/features/Encryption.js.map +1 -0
- package/dist/features/FormControlBuilder.d.ts +6 -0
- package/dist/features/FormControlBuilder.js +135 -0
- package/dist/features/FormControlBuilder.js.map +1 -0
- package/dist/features/FormulaEngine.d.ts +22 -0
- package/dist/features/FormulaEngine.js +498 -0
- package/dist/features/FormulaEngine.js.map +1 -0
- package/dist/features/HtmlModule.d.ts +21 -0
- package/dist/features/HtmlModule.js +1417 -0
- package/dist/features/HtmlModule.js.map +1 -0
- package/dist/features/JsonModule.d.ts +10 -0
- package/dist/features/JsonModule.js +76 -0
- package/dist/features/JsonModule.js.map +1 -0
- package/dist/features/PivotTableBuilder.d.ts +7 -0
- package/dist/features/PivotTableBuilder.js +170 -0
- package/dist/features/PivotTableBuilder.js.map +1 -0
- package/dist/features/Signing.d.ts +12 -0
- package/dist/features/Signing.js +318 -0
- package/dist/features/Signing.js.map +1 -0
- package/dist/features/TableBuilder.js +2 -2
- package/dist/features/TableBuilder.js.map +1 -1
- package/dist/index-min.js +579 -144
- package/dist/index.d.ts +17 -1
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/styles/StyleRegistry.d.ts +14 -0
- package/dist/styles/StyleRegistry.js +95 -30
- package/dist/styles/StyleRegistry.js.map +1 -1
- package/dist/utils/helpers.d.ts +4 -0
- package/dist/utils/helpers.js +64 -14
- package/dist/utils/helpers.js.map +1 -1
- package/dist/utils/zip.js +145 -73
- package/dist/utils/zip.js.map +1 -1
- package/dist/vba/VbaProject.d.ts +19 -0
- package/dist/vba/VbaProject.js +281 -0
- package/dist/vba/VbaProject.js.map +1 -0
- package/dist/vba/cfb.d.ts +7 -0
- package/dist/vba/cfb.js +352 -0
- package/dist/vba/cfb.js.map +1 -0
- package/dist/vba/ovba.d.ts +2 -0
- package/dist/vba/ovba.js +137 -0
- package/dist/vba/ovba.js.map +1 -0
- package/package.json +4 -3
- package/validator.cs +0 -155
- package/validatorEpplus.cs +0 -27
- package/validatorReadData.cs +0 -111
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cfb.js","sourceRoot":"","sources":["../../src/vba/cfb.ts"],"names":[],"mappings":"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"}
|
package/dist/vba/ovba.js
ADDED
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
function bitCount(pos) {
|
|
2
|
+
if (pos <= 16)
|
|
3
|
+
return 4;
|
|
4
|
+
if (pos <= 32)
|
|
5
|
+
return 5;
|
|
6
|
+
if (pos <= 64)
|
|
7
|
+
return 6;
|
|
8
|
+
if (pos <= 128)
|
|
9
|
+
return 7;
|
|
10
|
+
if (pos <= 256)
|
|
11
|
+
return 8;
|
|
12
|
+
if (pos <= 512)
|
|
13
|
+
return 9;
|
|
14
|
+
if (pos <= 1024)
|
|
15
|
+
return 10;
|
|
16
|
+
if (pos <= 2048)
|
|
17
|
+
return 11;
|
|
18
|
+
return 12;
|
|
19
|
+
}
|
|
20
|
+
export function compressOvba(src) {
|
|
21
|
+
const out = [0x01];
|
|
22
|
+
let srcPos = 0;
|
|
23
|
+
while (srcPos < src.length) {
|
|
24
|
+
const chunkStart = srcPos;
|
|
25
|
+
const chunkEnd = Math.min(srcPos + 4096, src.length);
|
|
26
|
+
const compressed = compressChunk(src, chunkStart, chunkEnd);
|
|
27
|
+
if (compressed.length < 4096) {
|
|
28
|
+
const totalChunkSize = compressed.length + 2;
|
|
29
|
+
const header = 0xB000 | ((totalChunkSize - 3) & 0x0FFF);
|
|
30
|
+
out.push(header & 0xFF, (header >> 8) & 0xFF);
|
|
31
|
+
for (const b of compressed)
|
|
32
|
+
out.push(b);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
const header = 0x3FFF;
|
|
36
|
+
out.push(header & 0xFF, (header >> 8) & 0xFF);
|
|
37
|
+
for (let i = chunkStart; i < chunkEnd; i++)
|
|
38
|
+
out.push(src[i]);
|
|
39
|
+
for (let i = chunkEnd - chunkStart; i < 4096; i++)
|
|
40
|
+
out.push(0);
|
|
41
|
+
}
|
|
42
|
+
srcPos = chunkEnd;
|
|
43
|
+
}
|
|
44
|
+
return new Uint8Array(out);
|
|
45
|
+
}
|
|
46
|
+
function compressChunk(src, start, end) {
|
|
47
|
+
const out = [];
|
|
48
|
+
let dp = 0;
|
|
49
|
+
while (start + dp < end) {
|
|
50
|
+
let flagByte = 0;
|
|
51
|
+
const flagIdx = out.length;
|
|
52
|
+
out.push(0);
|
|
53
|
+
for (let bit = 0; bit < 8 && start + dp < end; bit++) {
|
|
54
|
+
if (dp === 0) {
|
|
55
|
+
out.push(src[start]);
|
|
56
|
+
dp++;
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
const bc = bitCount(dp);
|
|
60
|
+
const maxOff = 1 << bc;
|
|
61
|
+
const lenBits = 16 - bc;
|
|
62
|
+
const maxLen = ((1 << lenBits) - 1) + 3;
|
|
63
|
+
const searchStart = Math.max(0, dp - maxOff);
|
|
64
|
+
let bestOff = 0, bestLen = 0;
|
|
65
|
+
for (let s = searchStart; s < dp; s++) {
|
|
66
|
+
let len = 0;
|
|
67
|
+
while (dp + len < end - start && len < maxLen &&
|
|
68
|
+
src[start + s + len] === src[start + dp + len])
|
|
69
|
+
len++;
|
|
70
|
+
if (len > bestLen) {
|
|
71
|
+
bestLen = len;
|
|
72
|
+
bestOff = dp - s;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
if (bestLen >= 3) {
|
|
76
|
+
flagByte |= 1 << bit;
|
|
77
|
+
const token = ((bestOff - 1) << lenBits) | (bestLen - 3);
|
|
78
|
+
out.push(token & 0xFF, (token >> 8) & 0xFF);
|
|
79
|
+
dp += bestLen;
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
out.push(src[start + dp]);
|
|
83
|
+
dp++;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
out[flagIdx] = flagByte;
|
|
87
|
+
}
|
|
88
|
+
return out;
|
|
89
|
+
}
|
|
90
|
+
export function decompressOvba(data) {
|
|
91
|
+
if (data.length === 0 || data[0] !== 0x01)
|
|
92
|
+
throw new Error('Invalid OVBA compressed container (bad signature)');
|
|
93
|
+
const out = [];
|
|
94
|
+
let pos = 1;
|
|
95
|
+
while (pos < data.length) {
|
|
96
|
+
if (pos + 1 >= data.length)
|
|
97
|
+
break;
|
|
98
|
+
const header = data[pos] | (data[pos + 1] << 8);
|
|
99
|
+
pos += 2;
|
|
100
|
+
const chunkSize = (header & 0x0FFF) + 3;
|
|
101
|
+
const isCompressed = (header >> 15) & 1;
|
|
102
|
+
const chunkDataSize = chunkSize - 2;
|
|
103
|
+
const chunkEnd = pos + chunkDataSize;
|
|
104
|
+
if (!isCompressed) {
|
|
105
|
+
for (let i = 0; i < 4096 && pos < data.length; i++)
|
|
106
|
+
out.push(data[pos++]);
|
|
107
|
+
pos = Math.max(pos, chunkEnd);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
const chunkDecompStart = out.length;
|
|
111
|
+
while (pos < chunkEnd && pos < data.length) {
|
|
112
|
+
const flagByte = data[pos++];
|
|
113
|
+
for (let bit = 0; bit < 8 && pos < chunkEnd && pos < data.length; bit++) {
|
|
114
|
+
if ((flagByte & (1 << bit)) === 0) {
|
|
115
|
+
out.push(data[pos++]);
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
if (pos + 1 >= data.length)
|
|
119
|
+
break;
|
|
120
|
+
const token = data[pos] | (data[pos + 1] << 8);
|
|
121
|
+
pos += 2;
|
|
122
|
+
const dp = out.length - chunkDecompStart;
|
|
123
|
+
const bc = bitCount(dp);
|
|
124
|
+
const lb = 16 - bc;
|
|
125
|
+
const off = (token >> lb) + 1;
|
|
126
|
+
const len = (token & ((1 << lb) - 1)) + 3;
|
|
127
|
+
const copyStart = out.length - off;
|
|
128
|
+
for (let i = 0; i < len; i++)
|
|
129
|
+
out.push(out[copyStart + i]);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
return new Uint8Array(out);
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=ovba.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ovba.js","sourceRoot":"","sources":["../../src/vba/ovba.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@node-projects/excelforge",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "A **complete TypeScript library** for reading and writing Excel `.xlsx` files with **zero external dependencies**. Works in browsers, Node.js, Deno, Bun, and edge runtimes.",
|
|
5
5
|
"homepage": "https://github.com/node-projects/excelForge#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -16,13 +16,14 @@
|
|
|
16
16
|
"main": "./dist/index.js",
|
|
17
17
|
"scripts": {
|
|
18
18
|
"test": "node ./dist/test/examples.js",
|
|
19
|
+
"test2": "node ./dist/test/test_features",
|
|
19
20
|
"build": "tsc",
|
|
20
21
|
"prepublishOnly": "npm run build && npm run bundle",
|
|
21
22
|
"bundle": "esbuild ./dist/index.js --format=esm --minify --external:fs/promises --external:zlib --platform=neutral --bundle --outfile=./dist/index-min.js"
|
|
22
23
|
},
|
|
23
24
|
"devDependencies": {
|
|
24
|
-
"esbuild": "^0.
|
|
25
|
-
"typescript": "^
|
|
25
|
+
"esbuild": "^0.27.4",
|
|
26
|
+
"typescript": "^6.0.2",
|
|
26
27
|
"zlib": "^1.0.5"
|
|
27
28
|
}
|
|
28
29
|
}
|
package/validator.cs
DELETED
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env dotnet run
|
|
2
|
-
|
|
3
|
-
#:package DocumentFormat.OpenXml@3.0.2
|
|
4
|
-
|
|
5
|
-
#pragma warning disable
|
|
6
|
-
using System.IO.Compression;
|
|
7
|
-
using System.Text.Json;
|
|
8
|
-
using System.Text.Json.Serialization.Metadata;
|
|
9
|
-
using System.Xml;
|
|
10
|
-
using DocumentFormat.OpenXml.Packaging;
|
|
11
|
-
using DocumentFormat.OpenXml.Validation;
|
|
12
|
-
|
|
13
|
-
var result = new List<object>();
|
|
14
|
-
|
|
15
|
-
if (args.Length == 0)
|
|
16
|
-
{
|
|
17
|
-
Console.WriteLine("Usage: dotnet run validator.cs <file.xlsx>");
|
|
18
|
-
Environment.Exit(1);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
var file = args[0];
|
|
22
|
-
|
|
23
|
-
if (!File.Exists(file))
|
|
24
|
-
{
|
|
25
|
-
Console.WriteLine("File not found.");
|
|
26
|
-
Environment.Exit(1);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
// ------------------------
|
|
30
|
-
// 1. ZIP + XML inspection
|
|
31
|
-
// ------------------------
|
|
32
|
-
try
|
|
33
|
-
{
|
|
34
|
-
using var zip = ZipFile.OpenRead(file);
|
|
35
|
-
|
|
36
|
-
foreach (var entry in zip.Entries)
|
|
37
|
-
{
|
|
38
|
-
try
|
|
39
|
-
{
|
|
40
|
-
using var stream = entry.Open();
|
|
41
|
-
using var ms = new MemoryStream();
|
|
42
|
-
stream.CopyTo(ms);
|
|
43
|
-
ms.Position = 0;
|
|
44
|
-
|
|
45
|
-
if (entry.FullName.EndsWith(".xml", StringComparison.OrdinalIgnoreCase))
|
|
46
|
-
{
|
|
47
|
-
try
|
|
48
|
-
{
|
|
49
|
-
var settings = new XmlReaderSettings
|
|
50
|
-
{
|
|
51
|
-
DtdProcessing = DtdProcessing.Prohibit,
|
|
52
|
-
IgnoreWhitespace = true,
|
|
53
|
-
IgnoreComments = true
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
ms.Position = 0;
|
|
57
|
-
using var reader = XmlReader.Create(ms, settings);
|
|
58
|
-
while (reader.Read()) { }
|
|
59
|
-
}
|
|
60
|
-
catch (Exception ex)
|
|
61
|
-
{
|
|
62
|
-
result.Add(new
|
|
63
|
-
{
|
|
64
|
-
type = "xml",
|
|
65
|
-
entry = entry.FullName,
|
|
66
|
-
error = ex.Message
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
catch (Exception ex)
|
|
72
|
-
{
|
|
73
|
-
result.Add(new
|
|
74
|
-
{
|
|
75
|
-
type = "zip-entry",
|
|
76
|
-
entry = entry.FullName,
|
|
77
|
-
error = ex.Message
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
catch (Exception ex)
|
|
83
|
-
{
|
|
84
|
-
result.Add(new
|
|
85
|
-
{
|
|
86
|
-
type = "zip",
|
|
87
|
-
error = ex.Message
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
PrintAndExit(result);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
// ------------------------
|
|
94
|
-
// 2. Attempt OpenXML validation if possible
|
|
95
|
-
// ------------------------
|
|
96
|
-
try
|
|
97
|
-
{
|
|
98
|
-
using var doc = SpreadsheetDocument.Open(file, false);
|
|
99
|
-
var validator = new OpenXmlValidator();
|
|
100
|
-
var errors = validator.Validate(doc);
|
|
101
|
-
|
|
102
|
-
foreach (var e in errors)
|
|
103
|
-
{
|
|
104
|
-
result.Add(new
|
|
105
|
-
{
|
|
106
|
-
type = "openxml",
|
|
107
|
-
description = e.Description,
|
|
108
|
-
part = e.Part?.Uri?.ToString(),
|
|
109
|
-
path = e.Path?.XPath,
|
|
110
|
-
errorType = e.ErrorType.ToString(),
|
|
111
|
-
node = e.Node?.OuterXml,
|
|
112
|
-
relatedNode = e.RelatedNode?.OuterXml
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
catch (Exception ex)
|
|
117
|
-
{
|
|
118
|
-
// Report all nested exceptions for OpenXML
|
|
119
|
-
int level = 0;
|
|
120
|
-
var current = ex;
|
|
121
|
-
while (current != null)
|
|
122
|
-
{
|
|
123
|
-
result.Add(new
|
|
124
|
-
{
|
|
125
|
-
type = "openxml-exception",
|
|
126
|
-
level,
|
|
127
|
-
exception = current.GetType().Name,
|
|
128
|
-
message = current.Message,
|
|
129
|
-
innerMessage = ex.InnerException?.Message
|
|
130
|
-
});
|
|
131
|
-
|
|
132
|
-
current = current.InnerException;
|
|
133
|
-
level++;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
// ------------------------
|
|
138
|
-
// 3. Output JSON + exit code
|
|
139
|
-
// ------------------------
|
|
140
|
-
PrintAndExit(result);
|
|
141
|
-
|
|
142
|
-
// ------------------------
|
|
143
|
-
void PrintAndExit(List<object> result)
|
|
144
|
-
{
|
|
145
|
-
var options = new JsonSerializerOptions
|
|
146
|
-
{
|
|
147
|
-
WriteIndented = true,
|
|
148
|
-
TypeInfoResolver = new DefaultJsonTypeInfoResolver()
|
|
149
|
-
};
|
|
150
|
-
|
|
151
|
-
string json = JsonSerializer.Serialize(result, options);
|
|
152
|
-
Console.WriteLine(json);
|
|
153
|
-
|
|
154
|
-
Environment.Exit(result.Count == 0 ? 0 : 1);
|
|
155
|
-
}
|
package/validatorEpplus.cs
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env dotnet run
|
|
2
|
-
#:package EPPlus@8.5.0
|
|
3
|
-
|
|
4
|
-
#pragma warning disable
|
|
5
|
-
|
|
6
|
-
using OfficeOpenXml;
|
|
7
|
-
|
|
8
|
-
if (args.Length == 0)
|
|
9
|
-
{
|
|
10
|
-
Console.WriteLine("Usage: dotnet run validator-epplus.cs <file.xlsx>");
|
|
11
|
-
return;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
var file = args[0];
|
|
15
|
-
|
|
16
|
-
ExcelPackage.License.SetNonCommercialOrganization("NonCommercialOrganization:@node-projects");
|
|
17
|
-
|
|
18
|
-
try
|
|
19
|
-
{
|
|
20
|
-
using var package = new ExcelPackage(new FileInfo(file));
|
|
21
|
-
Console.WriteLine("EPPlus opened the file successfully.");
|
|
22
|
-
}
|
|
23
|
-
catch (Exception ex)
|
|
24
|
-
{
|
|
25
|
-
Console.WriteLine("EPPlus error:");
|
|
26
|
-
Console.WriteLine(ex.ToString());
|
|
27
|
-
}
|
package/validatorReadData.cs
DELETED
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env dotnet run
|
|
2
|
-
|
|
3
|
-
#:package DocumentFormat.OpenXml@3.0.2
|
|
4
|
-
|
|
5
|
-
#pragma warning disable
|
|
6
|
-
using System.Text.Json;
|
|
7
|
-
using System.Text.Json.Serialization.Metadata;
|
|
8
|
-
using DocumentFormat.OpenXml.Packaging;
|
|
9
|
-
using DocumentFormat.OpenXml.Spreadsheet;
|
|
10
|
-
|
|
11
|
-
// Usage: dotnet run validatorReadData.cs <file.xlsx> <sheetName> <row> <colStart> <colEnd>
|
|
12
|
-
// Reads a single row from the given sheet and outputs cell values as JSON array.
|
|
13
|
-
// Example: dotnet run validatorReadData.cs output/20_loaded_table.xlsx ErrorsAndWarnings 10000 1 12
|
|
14
|
-
|
|
15
|
-
if (args.Length < 5)
|
|
16
|
-
{
|
|
17
|
-
Console.Error.WriteLine("Usage: dotnet run validatorReadData.cs <file> <sheet> <row> <colStart> <colEnd>");
|
|
18
|
-
Environment.Exit(1);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
var file = args[0];
|
|
22
|
-
var sheetName = args[1];
|
|
23
|
-
var targetRow = int.Parse(args[2]);
|
|
24
|
-
var colStart = int.Parse(args[3]);
|
|
25
|
-
var colEnd = int.Parse(args[4]);
|
|
26
|
-
|
|
27
|
-
if (!File.Exists(file))
|
|
28
|
-
{
|
|
29
|
-
Console.Error.WriteLine("File not found: " + file);
|
|
30
|
-
Environment.Exit(1);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
using var doc = SpreadsheetDocument.Open(file, false);
|
|
34
|
-
var wbPart = doc.WorkbookPart!;
|
|
35
|
-
|
|
36
|
-
// Find sheet by name
|
|
37
|
-
var sheet = wbPart.Workbook.Sheets!.Elements<Sheet>()
|
|
38
|
-
.FirstOrDefault(s => s.Name?.Value == sheetName);
|
|
39
|
-
|
|
40
|
-
if (sheet == null)
|
|
41
|
-
{
|
|
42
|
-
Console.Error.WriteLine("Sheet not found: " + sheetName);
|
|
43
|
-
Environment.Exit(1);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
var wsPart = (WorksheetPart)wbPart.GetPartById(sheet.Id!.Value!);
|
|
47
|
-
var sheetData = wsPart.Worksheet.GetFirstChild<SheetData>()!;
|
|
48
|
-
|
|
49
|
-
// Get shared strings
|
|
50
|
-
var sstPart = wbPart.SharedStringTablePart;
|
|
51
|
-
var sst = sstPart?.SharedStringTable;
|
|
52
|
-
|
|
53
|
-
// Find the target row
|
|
54
|
-
var rowEl = sheetData.Elements<Row>().FirstOrDefault(r => r.RowIndex?.Value == (uint)targetRow);
|
|
55
|
-
|
|
56
|
-
var result = new List<object?>();
|
|
57
|
-
|
|
58
|
-
for (int col = colStart; col <= colEnd; col++)
|
|
59
|
-
{
|
|
60
|
-
string colLetter = ColToLetter(col);
|
|
61
|
-
string cellRef = colLetter + targetRow;
|
|
62
|
-
|
|
63
|
-
Cell? cell = rowEl?.Elements<Cell>().FirstOrDefault(c => c.CellReference?.Value == cellRef);
|
|
64
|
-
if (cell == null || cell.CellValue == null)
|
|
65
|
-
{
|
|
66
|
-
result.Add(null);
|
|
67
|
-
continue;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
string raw = cell.CellValue.Text;
|
|
71
|
-
var dataType = cell.DataType?.Value;
|
|
72
|
-
|
|
73
|
-
if (dataType == CellValues.SharedString)
|
|
74
|
-
{
|
|
75
|
-
int idx = int.Parse(raw);
|
|
76
|
-
var item = sst?.Elements<SharedStringItem>().ElementAt(idx);
|
|
77
|
-
result.Add(item?.InnerText ?? raw);
|
|
78
|
-
}
|
|
79
|
-
else if (dataType == CellValues.Boolean)
|
|
80
|
-
{
|
|
81
|
-
result.Add(raw == "1");
|
|
82
|
-
}
|
|
83
|
-
else
|
|
84
|
-
{
|
|
85
|
-
// Try numeric
|
|
86
|
-
if (double.TryParse(raw, System.Globalization.NumberStyles.Any,
|
|
87
|
-
System.Globalization.CultureInfo.InvariantCulture, out var num))
|
|
88
|
-
result.Add(num);
|
|
89
|
-
else
|
|
90
|
-
result.Add(raw);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
var options = new JsonSerializerOptions
|
|
95
|
-
{
|
|
96
|
-
WriteIndented = true,
|
|
97
|
-
TypeInfoResolver = new DefaultJsonTypeInfoResolver()
|
|
98
|
-
};
|
|
99
|
-
Console.WriteLine(JsonSerializer.Serialize(result, options));
|
|
100
|
-
|
|
101
|
-
static string ColToLetter(int col)
|
|
102
|
-
{
|
|
103
|
-
string s = "";
|
|
104
|
-
while (col > 0)
|
|
105
|
-
{
|
|
106
|
-
int r = (col - 1) % 26;
|
|
107
|
-
s = (char)('A' + r) + s;
|
|
108
|
-
col = (col - 1) / 26;
|
|
109
|
-
}
|
|
110
|
-
return s;
|
|
111
|
-
}
|