@cj-tech-master/excelts 5.1.11 → 5.1.12
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/dist/browser/modules/excel/stream/worksheet-writer.js +13 -5
- package/dist/browser/modules/excel/utils/cell-format.js +4 -37
- package/dist/browser/modules/excel/utils/merge-borders.d.ts +44 -0
- package/dist/browser/modules/excel/utils/merge-borders.js +105 -0
- package/dist/browser/modules/excel/worksheet.js +15 -5
- package/dist/browser/utils/utils.base.d.ts +8 -0
- package/dist/browser/utils/utils.base.js +51 -7
- package/dist/browser/utils/utils.browser.d.ts +1 -1
- package/dist/browser/utils/utils.browser.js +1 -1
- package/dist/browser/utils/utils.d.ts +1 -1
- package/dist/browser/utils/utils.js +1 -1
- package/dist/cjs/modules/excel/stream/worksheet-writer.js +13 -5
- package/dist/cjs/modules/excel/utils/cell-format.js +3 -36
- package/dist/cjs/modules/excel/utils/merge-borders.js +109 -0
- package/dist/cjs/modules/excel/worksheet.js +15 -5
- package/dist/cjs/utils/utils.base.js +52 -7
- package/dist/cjs/utils/utils.browser.js +2 -1
- package/dist/cjs/utils/utils.js +2 -1
- package/dist/esm/modules/excel/stream/worksheet-writer.js +13 -5
- package/dist/esm/modules/excel/utils/cell-format.js +4 -37
- package/dist/esm/modules/excel/utils/merge-borders.js +105 -0
- package/dist/esm/modules/excel/worksheet.js +15 -5
- package/dist/esm/utils/utils.base.js +51 -7
- package/dist/esm/utils/utils.browser.js +1 -1
- package/dist/esm/utils/utils.js +1 -1
- package/dist/iife/excelts.iife.js +140 -38
- package/dist/iife/excelts.iife.js.map +1 -1
- package/dist/iife/excelts.iife.min.js +23 -23
- package/dist/types/modules/excel/utils/merge-borders.d.ts +44 -0
- package/dist/types/utils/utils.base.d.ts +8 -0
- package/dist/types/utils/utils.browser.d.ts +1 -1
- package/dist/types/utils/utils.d.ts +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
interface StyleObject {
|
|
2
|
+
[key: string]: any;
|
|
3
|
+
}
|
|
4
|
+
type BorderEdge = {
|
|
5
|
+
style?: string;
|
|
6
|
+
color?: Record<string, any>;
|
|
7
|
+
} | undefined;
|
|
8
|
+
/**
|
|
9
|
+
* Borders collected from the perimeter of a merge range.
|
|
10
|
+
* Stored as flat arrays indexed by row/column offset for O(1) lookup.
|
|
11
|
+
*/
|
|
12
|
+
export interface CollectedBorders {
|
|
13
|
+
/** top edge border for each column (index = col - left) */
|
|
14
|
+
topEdges: BorderEdge[];
|
|
15
|
+
/** bottom edge border for each column (index = col - left) */
|
|
16
|
+
bottomEdges: BorderEdge[];
|
|
17
|
+
/** left edge border for each row (index = row - top) */
|
|
18
|
+
leftEdges: BorderEdge[];
|
|
19
|
+
/** right edge border for each row (index = row - top) */
|
|
20
|
+
rightEdges: BorderEdge[];
|
|
21
|
+
diagonal?: any;
|
|
22
|
+
color?: any;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Collect perimeter borders from cells before a merge is applied.
|
|
26
|
+
* Must be called BEFORE cell.merge() overwrites slave styles.
|
|
27
|
+
*
|
|
28
|
+
* Only iterates the four edges of the range, not the full rectangle.
|
|
29
|
+
* For perimeter edges where the cell has no border, falls back to the master's border.
|
|
30
|
+
*/
|
|
31
|
+
export declare function collectMergeBorders(top: number, left: number, bottom: number, right: number, findCell: (r: number, c: number) => {
|
|
32
|
+
style: StyleObject;
|
|
33
|
+
} | undefined): CollectedBorders | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* Apply position-aware borders to a merged cell range.
|
|
36
|
+
* Must be called AFTER cell.merge() so that the master style is available.
|
|
37
|
+
*
|
|
38
|
+
* Each cell receives a deep-copied style from the master so that
|
|
39
|
+
* later mutations to one cell do not leak to others.
|
|
40
|
+
*/
|
|
41
|
+
export declare function applyMergeBorders(top: number, left: number, bottom: number, right: number, collected: CollectedBorders, getCell: (r: number, c: number) => {
|
|
42
|
+
style: StyleObject;
|
|
43
|
+
}): void;
|
|
44
|
+
export {};
|
|
@@ -24,6 +24,14 @@ export declare function xmlDecode(text: string): string;
|
|
|
24
24
|
*/
|
|
25
25
|
export declare function xmlEncode(text: string): string;
|
|
26
26
|
export declare function validInt(value: string | number): number;
|
|
27
|
+
/**
|
|
28
|
+
* Split an Excel numFmt string by semicolons, respecting quoted strings and brackets.
|
|
29
|
+
*
|
|
30
|
+
* Excel numFmt can have up to 4 sections: `positive ; negative ; zero ; text`.
|
|
31
|
+
* Semicolons inside `"..."` (literal text) or `[...]` (locale/color tags) must NOT
|
|
32
|
+
* be treated as section separators.
|
|
33
|
+
*/
|
|
34
|
+
export declare function splitFormatSections(fmt: string): string[];
|
|
27
35
|
export declare function isDateFmt(fmt: string | null | undefined): boolean;
|
|
28
36
|
export declare function parseBoolean(value: unknown): boolean;
|
|
29
37
|
export declare function range(start: number, stop: number, step?: number): Generator<number>;
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Browser utility functions
|
|
3
3
|
* Re-exports shared utilities and adds browser-specific implementations
|
|
4
4
|
*/
|
|
5
|
-
export { delay, dateToExcel, excelToDate, parseOoxmlDate, xmlDecode, xmlEncode, validInt, isDateFmt, parseBoolean, range, toSortedArray, bufferToString, base64ToUint8Array, uint8ArrayToBase64, stringToUtf16Le } from "./utils.base.js";
|
|
5
|
+
export { delay, dateToExcel, excelToDate, parseOoxmlDate, xmlDecode, xmlEncode, validInt, isDateFmt, splitFormatSections, parseBoolean, range, toSortedArray, bufferToString, base64ToUint8Array, uint8ArrayToBase64, stringToUtf16Le } from "./utils.base.js";
|
|
6
6
|
export declare function fileExists(_path: string): Promise<boolean>;
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Node.js utility functions
|
|
3
3
|
* Re-exports shared utilities and adds Node.js-specific implementations
|
|
4
4
|
*/
|
|
5
|
-
export { delay, dateToExcel, excelToDate, parseOoxmlDate, xmlDecode, xmlEncode, validInt, isDateFmt, parseBoolean, range, toSortedArray, bufferToString, base64ToUint8Array, uint8ArrayToBase64, stringToUtf16Le } from "./utils.base.js";
|
|
5
|
+
export { delay, dateToExcel, excelToDate, parseOoxmlDate, xmlDecode, xmlEncode, validInt, isDateFmt, splitFormatSections, parseBoolean, range, toSortedArray, bufferToString, base64ToUint8Array, uint8ArrayToBase64, stringToUtf16Le } from "./utils.base.js";
|
|
6
6
|
export declare function fileExists(path: string): Promise<boolean>;
|