@simplysm/excel 14.0.65 → 14.0.69
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/excel-cell.d.ts +1 -0
- package/dist/excel-cell.d.ts.map +1 -1
- package/dist/excel-cell.js +5 -34
- package/dist/excel-cell.js.map +1 -1
- package/dist/excel-workbook.d.ts +19 -0
- package/dist/excel-workbook.d.ts.map +1 -1
- package/dist/excel-workbook.js +26 -0
- package/dist/excel-workbook.js.map +1 -1
- package/dist/excel-worksheet.d.ts +27 -1
- package/dist/excel-worksheet.d.ts.map +1 -1
- package/dist/excel-worksheet.js +104 -0
- package/dist/excel-worksheet.js.map +1 -1
- package/dist/types.d.ts +148 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/excel-style-data.d.ts +10 -0
- package/dist/utils/excel-style-data.d.ts.map +1 -0
- package/dist/utils/excel-style-data.js +22 -0
- package/dist/utils/excel-style-data.js.map +1 -0
- package/dist/xml/excel-xml-style.d.ts +23 -1
- package/dist/xml/excel-xml-style.d.ts.map +1 -1
- package/dist/xml/excel-xml-style.js +197 -25
- package/dist/xml/excel-xml-style.js.map +1 -1
- package/dist/xml/excel-xml-worksheet.d.ts +11 -1
- package/dist/xml/excel-xml-worksheet.d.ts.map +1 -1
- package/dist/xml/excel-xml-worksheet.js +36 -0
- package/dist/xml/excel-xml-worksheet.js.map +1 -1
- package/package.json +3 -3
- package/src/excel-cell.ts +5 -47
- package/src/excel-workbook.ts +30 -0
- package/src/excel-worksheet.ts +143 -1
- package/src/types.ts +147 -1
- package/src/utils/excel-style-data.ts +31 -0
- package/src/xml/excel-xml-style.ts +226 -32
- package/src/xml/excel-xml-worksheet.ts +40 -0
package/dist/types.d.ts
CHANGED
|
@@ -128,6 +128,7 @@ export interface ExcelXmlWorksheetData {
|
|
|
128
128
|
}[];
|
|
129
129
|
}
|
|
130
130
|
];
|
|
131
|
+
conditionalFormatting?: ExcelXmlConditionalFormattingData[];
|
|
131
132
|
drawing?: {
|
|
132
133
|
$: {
|
|
133
134
|
"r:id": string;
|
|
@@ -135,6 +136,22 @@ export interface ExcelXmlWorksheetData {
|
|
|
135
136
|
}[];
|
|
136
137
|
};
|
|
137
138
|
}
|
|
139
|
+
export interface ExcelXmlConditionalFormattingData {
|
|
140
|
+
$: {
|
|
141
|
+
sqref: string;
|
|
142
|
+
};
|
|
143
|
+
cfRule: ExcelXmlCfRuleData[];
|
|
144
|
+
}
|
|
145
|
+
export interface ExcelXmlCfRuleData {
|
|
146
|
+
$: {
|
|
147
|
+
type: "cellIs" | "containsText" | "notContainsText" | "beginsWith" | "endsWith" | "expression";
|
|
148
|
+
operator?: "lessThan" | "lessThanOrEqual" | "equal" | "notEqual" | "greaterThanOrEqual" | "greaterThan" | "between" | "notBetween" | "containsText" | "notContains" | "beginsWith" | "endsWith";
|
|
149
|
+
priority: string;
|
|
150
|
+
dxfId: string;
|
|
151
|
+
text?: string;
|
|
152
|
+
};
|
|
153
|
+
formula: string[];
|
|
154
|
+
}
|
|
138
155
|
export interface ExcelRowData {
|
|
139
156
|
$: {
|
|
140
157
|
r: string;
|
|
@@ -275,7 +292,7 @@ export interface ExcelXmlStyleData {
|
|
|
275
292
|
$: {
|
|
276
293
|
count: string;
|
|
277
294
|
};
|
|
278
|
-
font:
|
|
295
|
+
font: ExcelXmlStyleDataFont[];
|
|
279
296
|
}
|
|
280
297
|
];
|
|
281
298
|
fills: [
|
|
@@ -302,8 +319,73 @@ export interface ExcelXmlStyleData {
|
|
|
302
319
|
xf: ExcelXmlStyleDataXf[];
|
|
303
320
|
}
|
|
304
321
|
];
|
|
322
|
+
dxfs?: [
|
|
323
|
+
{
|
|
324
|
+
$: {
|
|
325
|
+
count: string;
|
|
326
|
+
};
|
|
327
|
+
dxf: ExcelXmlStyleDataDxf[];
|
|
328
|
+
}
|
|
329
|
+
];
|
|
305
330
|
};
|
|
306
331
|
}
|
|
332
|
+
export interface ExcelXmlStyleDataFont {
|
|
333
|
+
sz?: [{
|
|
334
|
+
$: {
|
|
335
|
+
val: string;
|
|
336
|
+
};
|
|
337
|
+
}];
|
|
338
|
+
name?: [{
|
|
339
|
+
$: {
|
|
340
|
+
val: string;
|
|
341
|
+
};
|
|
342
|
+
}];
|
|
343
|
+
b?: [{}];
|
|
344
|
+
i?: [{}];
|
|
345
|
+
u?: [{
|
|
346
|
+
$?: {
|
|
347
|
+
val?: ExcelFontUnderline;
|
|
348
|
+
};
|
|
349
|
+
}];
|
|
350
|
+
strike?: [{}];
|
|
351
|
+
color?: [{
|
|
352
|
+
$: {
|
|
353
|
+
rgb: string;
|
|
354
|
+
};
|
|
355
|
+
}];
|
|
356
|
+
}
|
|
357
|
+
export interface ExcelXmlStyleDataDxf {
|
|
358
|
+
font?: [
|
|
359
|
+
{
|
|
360
|
+
b?: [{
|
|
361
|
+
$: {
|
|
362
|
+
val: "0" | "1";
|
|
363
|
+
};
|
|
364
|
+
}];
|
|
365
|
+
color?: [{
|
|
366
|
+
$: {
|
|
367
|
+
rgb: string;
|
|
368
|
+
};
|
|
369
|
+
}];
|
|
370
|
+
}
|
|
371
|
+
];
|
|
372
|
+
fill?: [
|
|
373
|
+
{
|
|
374
|
+
patternFill: [
|
|
375
|
+
{
|
|
376
|
+
$: {
|
|
377
|
+
patternType?: "solid";
|
|
378
|
+
};
|
|
379
|
+
bgColor?: [{
|
|
380
|
+
$: {
|
|
381
|
+
rgb: string;
|
|
382
|
+
};
|
|
383
|
+
}];
|
|
384
|
+
}
|
|
385
|
+
];
|
|
386
|
+
}
|
|
387
|
+
];
|
|
388
|
+
}
|
|
307
389
|
export interface ExcelXmlStyleDataXf {
|
|
308
390
|
$: {
|
|
309
391
|
numFmtId?: string;
|
|
@@ -417,6 +499,29 @@ export interface ExcelXml {
|
|
|
417
499
|
export type ExcelBorderPosition = "left" | "right" | "top" | "bottom";
|
|
418
500
|
export type ExcelHorizontalAlign = "center" | "left" | "right";
|
|
419
501
|
export type ExcelVerticalAlign = "center" | "top" | "bottom";
|
|
502
|
+
export type ExcelFontUnderline = "single" | "double" | "singleAccounting" | "doubleAccounting";
|
|
503
|
+
/**
|
|
504
|
+
* 폰트 속성. cell 단위 override (`ExcelStyleOptions.font`) 와
|
|
505
|
+
* workbook default (`wb.setDefaultStyle({ font })`) 양쪽이 공유한다.
|
|
506
|
+
*
|
|
507
|
+
* 미지정 속성은 OOXML `<font>` 자식 엘리먼트로 emit 되지 않으며, Excel 자체 기본값으로 표시된다.
|
|
508
|
+
*/
|
|
509
|
+
export interface ExcelFont {
|
|
510
|
+
/** 폰트 크기 (pt) */
|
|
511
|
+
size?: number;
|
|
512
|
+
/** 폰트명 (예: "맑은 고딕", "Calibri") */
|
|
513
|
+
family?: string;
|
|
514
|
+
/** 굵게 */
|
|
515
|
+
bold?: boolean;
|
|
516
|
+
/** 기울임 */
|
|
517
|
+
italic?: boolean;
|
|
518
|
+
/** 밑줄 — `<u val="..."/>` 의 val 에 그대로 매핑 */
|
|
519
|
+
underline?: ExcelFontUnderline;
|
|
520
|
+
/** 글자색 (ARGB 8자리, 예: "00FF0000") */
|
|
521
|
+
color?: string;
|
|
522
|
+
/** 취소선 */
|
|
523
|
+
strike?: boolean;
|
|
524
|
+
}
|
|
420
525
|
/**
|
|
421
526
|
* 셀 스타일 옵션
|
|
422
527
|
* @example
|
|
@@ -449,5 +554,47 @@ export interface ExcelStyleOptions {
|
|
|
449
554
|
* `numberFormat`과 동시 지정 시 이 필드가 우선 적용된다.
|
|
450
555
|
*/
|
|
451
556
|
numberFormatCode?: string;
|
|
557
|
+
/** 폰트 (size/family/bold/italic/underline/color/strike) */
|
|
558
|
+
font?: ExcelFont;
|
|
452
559
|
}
|
|
560
|
+
/**
|
|
561
|
+
* 조건부 서식 강조 스타일.
|
|
562
|
+
* 미지정 필드는 base 셀 스타일을 그대로 두고, 지정 필드만 OOXML dxf 로 emit 되어 native CF 오버레이로 합성된다.
|
|
563
|
+
*/
|
|
564
|
+
export interface ExcelConditionalRuleStyle {
|
|
565
|
+
/** 배경색 (ARGB 8자리, 예: "00FFFF00") */
|
|
566
|
+
background?: string;
|
|
567
|
+
/** 글자색 (ARGB 8자리) */
|
|
568
|
+
fontColor?: string;
|
|
569
|
+
/** 글자 굵기. "normal" 은 base 가 bold 라도 강제 normal. */
|
|
570
|
+
fontWeight?: "bold" | "normal";
|
|
571
|
+
}
|
|
572
|
+
/**
|
|
573
|
+
* 조건부 서식 규칙.
|
|
574
|
+
* - `cellIs` 단일 비교(`<`, `>`, `<=`, `>=`, `=`, `<>`): `value` 는 number 또는 string.
|
|
575
|
+
* - `cellIs` 구간(`between`, `notBetween`): `value` 는 [a, b] 튜플(양 끝 inclusive).
|
|
576
|
+
* - `text` 매칭(`contains`, `notContains`, `beginsWith`, `endsWith`): `value` 는 string. SEARCH 기반(대소문자 무시) 고정.
|
|
577
|
+
*
|
|
578
|
+
* `value: number` 는 raw formula(`<formula>4999</formula>`), `value: string` 은 따옴표 둘러싼 리터럴 formula(`<formula>"OK"</formula>`) 로 emit.
|
|
579
|
+
*/
|
|
580
|
+
export type ExcelConditionalRule = {
|
|
581
|
+
type: "cellIs";
|
|
582
|
+
op: "<" | ">" | "<=" | ">=" | "=" | "<>";
|
|
583
|
+
value: number | string;
|
|
584
|
+
style: ExcelConditionalRuleStyle;
|
|
585
|
+
} | {
|
|
586
|
+
type: "cellIs";
|
|
587
|
+
op: "between" | "notBetween";
|
|
588
|
+
value: [number, number] | [string, string];
|
|
589
|
+
style: ExcelConditionalRuleStyle;
|
|
590
|
+
} | {
|
|
591
|
+
type: "text";
|
|
592
|
+
op: "contains" | "notContains" | "beginsWith" | "endsWith";
|
|
593
|
+
value: string;
|
|
594
|
+
style: ExcelConditionalRuleStyle;
|
|
595
|
+
} | {
|
|
596
|
+
type: "expression";
|
|
597
|
+
formula: string;
|
|
598
|
+
style: ExcelConditionalRuleStyle;
|
|
599
|
+
};
|
|
453
600
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAmiBA,YAAY"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ZipCache } from "./zip-cache";
|
|
2
|
+
import { ExcelXmlStyle } from "../xml/excel-xml-style";
|
|
3
|
+
/**
|
|
4
|
+
* `xl/styles.xml` 을 가져오거나, 없으면 새로 만들어 ZipCache 에 등록한다.
|
|
5
|
+
* Content_Types / workbook.xml.rels 에도 styles.xml 항목을 추가한다.
|
|
6
|
+
*
|
|
7
|
+
* `ExcelCell.setStyle` 과 `ExcelWorkbook.setDefaultStyle` 양쪽이 공유한다.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getOrCreateStyleData(zipCache: ZipCache): Promise<ExcelXmlStyle>;
|
|
10
|
+
//# sourceMappingURL=excel-style-data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"excel-style-data.d.ts","sourceRoot":"","sources":["../../src/utils/excel-style-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,CAmBrF"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ExcelXmlContentType } from "../xml/excel-xml-content-type.js";
|
|
2
|
+
import { ExcelXmlRelationship } from "../xml/excel-xml-relationship.js";
|
|
3
|
+
import { ExcelXmlStyle } from "../xml/excel-xml-style.js";
|
|
4
|
+
/**
|
|
5
|
+
* `xl/styles.xml` 을 가져오거나, 없으면 새로 만들어 ZipCache 에 등록한다.
|
|
6
|
+
* Content_Types / workbook.xml.rels 에도 styles.xml 항목을 추가한다.
|
|
7
|
+
*
|
|
8
|
+
* `ExcelCell.setStyle` 과 `ExcelWorkbook.setDefaultStyle` 양쪽이 공유한다.
|
|
9
|
+
*/
|
|
10
|
+
export async function getOrCreateStyleData(zipCache) {
|
|
11
|
+
let styleData = (await zipCache.get("xl/styles.xml"));
|
|
12
|
+
if (styleData == null) {
|
|
13
|
+
styleData = new ExcelXmlStyle();
|
|
14
|
+
zipCache.set("xl/styles.xml", styleData);
|
|
15
|
+
const typeData = (await zipCache.get("[Content_Types].xml"));
|
|
16
|
+
typeData.add("/xl/styles.xml", "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml");
|
|
17
|
+
const wbRelData = (await zipCache.get("xl/_rels/workbook.xml.rels"));
|
|
18
|
+
wbRelData.add("styles.xml", "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles");
|
|
19
|
+
}
|
|
20
|
+
return styleData;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=excel-style-data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"excel-style-data.js","sourceRoot":"","sources":["../../src/utils/excel-style-data.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,QAAkB;IAC3D,IAAI,SAAS,GAAG,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAA8B,CAAC;IACnF,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QACtB,SAAS,GAAG,IAAI,aAAa,EAAE,CAAC;QAChC,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QAEzC,MAAM,QAAQ,GAAG,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAwB,CAAC;QACpF,QAAQ,CAAC,GAAG,CACV,gBAAgB,EAChB,wEAAwE,CACzE,CAAC;QAEF,MAAM,SAAS,GAAG,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAyB,CAAC;QAC7F,SAAS,CAAC,GAAG,CACX,YAAY,EACZ,4EAA4E,CAC7E,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ExcelBorderPosition, ExcelHorizontalAlign, ExcelVerticalAlign, ExcelXml, ExcelXmlStyleData } from "../types";
|
|
1
|
+
import type { ExcelBorderPosition, ExcelConditionalRuleStyle, ExcelFont, ExcelHorizontalAlign, ExcelStyleOptions, ExcelVerticalAlign, ExcelXml, ExcelXmlStyleData } from "../types";
|
|
2
2
|
import "@simplysm/core-common";
|
|
3
3
|
export interface ExcelStyle {
|
|
4
4
|
numFmtId?: string;
|
|
@@ -7,7 +7,17 @@ export interface ExcelStyle {
|
|
|
7
7
|
background?: string;
|
|
8
8
|
verticalAlign?: ExcelVerticalAlign;
|
|
9
9
|
horizontalAlign?: ExcelHorizontalAlign;
|
|
10
|
+
font?: ExcelFont;
|
|
10
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* `ExcelStyleOptions` (사용자 표면) → 내부 `ExcelStyle` 변환.
|
|
14
|
+
* cell.setStyle 과 wb.setDefaultStyle 이 공유한다.
|
|
15
|
+
*
|
|
16
|
+
* - background ARGB 8자리 형식 검증
|
|
17
|
+
* - numberFormatCode 가 numberFormat 보다 우선
|
|
18
|
+
* - font 는 그대로 전달 (구체 검증은 ExcelXmlStyle 내부에서 수행)
|
|
19
|
+
*/
|
|
20
|
+
export declare function convertExcelStyleOptions(opts: ExcelStyleOptions): ExcelStyle;
|
|
11
21
|
/**
|
|
12
22
|
* xl/styles.xml을 관리하는 클래스.
|
|
13
23
|
* 숫자 형식, 배경색, 테두리, 정렬 등의 스타일을 처리한다.
|
|
@@ -16,11 +26,23 @@ export declare class ExcelXmlStyle implements ExcelXml {
|
|
|
16
26
|
data: ExcelXmlStyleData;
|
|
17
27
|
constructor(data?: ExcelXmlStyleData);
|
|
18
28
|
add(style: ExcelStyle): string;
|
|
29
|
+
/**
|
|
30
|
+
* 워크북 default cell style 설정. `cellXfs[0].xf[0]` (OOXML default cell style 자리) 을 새로 빌드해 덮어쓴다.
|
|
31
|
+
* fonts/fills/borders/numFmts 자원은 `_getSameOrCreate*` 로 누적·dedup 되고 인덱스가 cellXfs[0] 에 박힌다.
|
|
32
|
+
* 미호출 시 기존 cellXfs[0] 그대로 보존된다.
|
|
33
|
+
*/
|
|
34
|
+
setDefaultStyle(style: ExcelStyle): void;
|
|
19
35
|
addWithClone(id: string, style: ExcelStyle): string;
|
|
20
36
|
get(id: string): ExcelStyle;
|
|
37
|
+
addDxf(style: ExcelConditionalRuleStyle): string;
|
|
21
38
|
getNumFmtCode(numFmtId: string): string | undefined;
|
|
22
39
|
cleanup(): void;
|
|
23
40
|
private _setNumFmtCode;
|
|
41
|
+
private _applyStyleToXf;
|
|
42
|
+
private _validateFont;
|
|
43
|
+
private _buildFontXml;
|
|
44
|
+
private _parseFontXml;
|
|
45
|
+
private _getSameOrCreateFont;
|
|
24
46
|
private _applyAlignment;
|
|
25
47
|
private _createBorderFromPositions;
|
|
26
48
|
private _applyBorderPosition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"excel-xml-style.d.ts","sourceRoot":"","sources":["../../src/xml/excel-xml-style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,QAAQ,EACR,iBAAiB,
|
|
1
|
+
{"version":3,"file":"excel-xml-style.d.ts","sourceRoot":"","sources":["../../src/xml/excel-xml-style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EACzB,SAAS,EACT,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,QAAQ,EACR,iBAAiB,EAMlB,MAAM,UAAU,CAAC;AAClB,OAAO,uBAAuB,CAAC;AAI/B,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,eAAe,CAAC,EAAE,oBAAoB,CAAC;IACvC,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,iBAAiB,GAAG,UAAU,CAiC5E;AAED;;;GAGG;AACH,qBAAa,aAAc,YAAW,QAAQ;IAC5C,IAAI,EAAE,iBAAiB,CAAC;gBAEZ,IAAI,CAAC,EAAE,iBAAiB;IAyCpC,GAAG,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM;IAM9B;;;;OAIG;IACH,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAMxC,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM;IAqFnD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU;IAoF3B,MAAM,CAAC,KAAK,EAAE,yBAAyB,GAAG,MAAM;IAyChD,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAMnD,OAAO,IAAI,IAAI;IAsBf,OAAO,CAAC,cAAc;IAuCtB,OAAO,CAAC,eAAe;IAsCvB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,aAAa;IA0BrB,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,0BAA0B;IAiBlC,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,sBAAsB;CAgB/B"}
|
|
@@ -1,5 +1,42 @@
|
|
|
1
1
|
import "@simplysm/core-common";
|
|
2
2
|
import { num, obj } from "@simplysm/core-common";
|
|
3
|
+
import { ExcelUtils } from "../utils/excel-utils.js";
|
|
4
|
+
/**
|
|
5
|
+
* `ExcelStyleOptions` (사용자 표면) → 내부 `ExcelStyle` 변환.
|
|
6
|
+
* cell.setStyle 과 wb.setDefaultStyle 이 공유한다.
|
|
7
|
+
*
|
|
8
|
+
* - background ARGB 8자리 형식 검증
|
|
9
|
+
* - numberFormatCode 가 numberFormat 보다 우선
|
|
10
|
+
* - font 는 그대로 전달 (구체 검증은 ExcelXmlStyle 내부에서 수행)
|
|
11
|
+
*/
|
|
12
|
+
export function convertExcelStyleOptions(opts) {
|
|
13
|
+
const style = {};
|
|
14
|
+
if (opts.background != null) {
|
|
15
|
+
if (!/^[0-9A-F]{8}$/i.test(opts.background)) {
|
|
16
|
+
throw new Error("잘못된 색상 형식입니다. (형식: 00000000: alpha(반전)+rgb)");
|
|
17
|
+
}
|
|
18
|
+
style.background = opts.background;
|
|
19
|
+
}
|
|
20
|
+
if (opts.border != null) {
|
|
21
|
+
style.border = opts.border;
|
|
22
|
+
}
|
|
23
|
+
if (opts.horizontalAlign != null) {
|
|
24
|
+
style.horizontalAlign = opts.horizontalAlign;
|
|
25
|
+
}
|
|
26
|
+
if (opts.verticalAlign != null) {
|
|
27
|
+
style.verticalAlign = opts.verticalAlign;
|
|
28
|
+
}
|
|
29
|
+
if (opts.numberFormatCode != null) {
|
|
30
|
+
style.numFmtCode = opts.numberFormatCode;
|
|
31
|
+
}
|
|
32
|
+
else if (opts.numberFormat != null) {
|
|
33
|
+
style.numFmtId = ExcelUtils.convertNumFmtNameToId(opts.numberFormat).toString();
|
|
34
|
+
}
|
|
35
|
+
if (opts.font != null) {
|
|
36
|
+
style.font = opts.font;
|
|
37
|
+
}
|
|
38
|
+
return style;
|
|
39
|
+
}
|
|
3
40
|
/**
|
|
4
41
|
* xl/styles.xml을 관리하는 클래스.
|
|
5
42
|
* 숫자 형식, 배경색, 테두리, 정렬 등의 스타일을 처리한다.
|
|
@@ -49,33 +86,19 @@ export class ExcelXmlStyle {
|
|
|
49
86
|
}
|
|
50
87
|
add(style) {
|
|
51
88
|
const newXf = { $: {} };
|
|
52
|
-
|
|
53
|
-
newXf.$.numFmtId = style.numFmtId;
|
|
54
|
-
}
|
|
55
|
-
if (style.numFmtCode != null) {
|
|
56
|
-
newXf.$.numFmtId = this._setNumFmtCode(style.numFmtCode);
|
|
57
|
-
newXf.$.applyNumberFormat = "1";
|
|
58
|
-
}
|
|
59
|
-
if (style.background != null) {
|
|
60
|
-
const newFill = {
|
|
61
|
-
patternFill: [
|
|
62
|
-
{
|
|
63
|
-
$: { patternType: "solid" },
|
|
64
|
-
fgColor: [{ $: { rgb: style.background.toUpperCase() } }],
|
|
65
|
-
},
|
|
66
|
-
],
|
|
67
|
-
};
|
|
68
|
-
newXf.$.applyFill = "1";
|
|
69
|
-
newXf.$.fillId = this._getSameOrCreateFill(newFill);
|
|
70
|
-
}
|
|
71
|
-
if (style.border != null) {
|
|
72
|
-
const newBorder = this._createBorderFromPositions(style.border);
|
|
73
|
-
newXf.$.applyBorder = "1";
|
|
74
|
-
newXf.$.borderId = this._getSameOrCreateBorder(newBorder);
|
|
75
|
-
}
|
|
76
|
-
this._applyAlignment(newXf, style);
|
|
89
|
+
this._applyStyleToXf(newXf, style);
|
|
77
90
|
return this._getSameOrCreateXf(newXf);
|
|
78
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* 워크북 default cell style 설정. `cellXfs[0].xf[0]` (OOXML default cell style 자리) 을 새로 빌드해 덮어쓴다.
|
|
94
|
+
* fonts/fills/borders/numFmts 자원은 `_getSameOrCreate*` 로 누적·dedup 되고 인덱스가 cellXfs[0] 에 박힌다.
|
|
95
|
+
* 미호출 시 기존 cellXfs[0] 그대로 보존된다.
|
|
96
|
+
*/
|
|
97
|
+
setDefaultStyle(style) {
|
|
98
|
+
const newXf = { $: { numFmtId: "0" } };
|
|
99
|
+
this._applyStyleToXf(newXf, style);
|
|
100
|
+
this.data.styleSheet.cellXfs[0].xf[0] = newXf;
|
|
101
|
+
}
|
|
79
102
|
addWithClone(id, style) {
|
|
80
103
|
const idNum = num.parseInt(id);
|
|
81
104
|
if (idNum == null) {
|
|
@@ -140,6 +163,11 @@ export class ExcelXmlStyle {
|
|
|
140
163
|
cloneXf.$.borderId = this._getSameOrCreateBorder(newBorder);
|
|
141
164
|
}
|
|
142
165
|
}
|
|
166
|
+
if (style.font != null) {
|
|
167
|
+
this._validateFont(style.font);
|
|
168
|
+
cloneXf.$.applyFont = "1";
|
|
169
|
+
cloneXf.$.fontId = this._getSameOrCreateFont(this._buildFontXml(style.font));
|
|
170
|
+
}
|
|
143
171
|
this._applyAlignment(cloneXf, style);
|
|
144
172
|
return this._getSameOrCreateXf(cloneXf);
|
|
145
173
|
}
|
|
@@ -192,9 +220,56 @@ export class ExcelXmlStyle {
|
|
|
192
220
|
}
|
|
193
221
|
result.verticalAlign = xf.alignment?.[0].$.vertical;
|
|
194
222
|
result.horizontalAlign = xf.alignment?.[0].$.horizontal;
|
|
223
|
+
if (xf.$.fontId != null) {
|
|
224
|
+
const fontIdNum = num.parseInt(xf.$.fontId);
|
|
225
|
+
if (fontIdNum != null) {
|
|
226
|
+
const font = this.data.styleSheet.fonts[0].font[fontIdNum];
|
|
227
|
+
if (font != null) {
|
|
228
|
+
const parsed = this._parseFontXml(font);
|
|
229
|
+
if (Object.keys(parsed).length > 0) {
|
|
230
|
+
result.font = parsed;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
195
235
|
}
|
|
196
236
|
return result;
|
|
197
237
|
}
|
|
238
|
+
addDxf(style) {
|
|
239
|
+
const dxfItem = {};
|
|
240
|
+
if (style.fontColor != null || style.fontWeight != null) {
|
|
241
|
+
const font = {};
|
|
242
|
+
if (style.fontWeight != null) {
|
|
243
|
+
font.b = [{ $: { val: style.fontWeight === "bold" ? "1" : "0" } }];
|
|
244
|
+
}
|
|
245
|
+
if (style.fontColor != null) {
|
|
246
|
+
font.color = [{ $: { rgb: style.fontColor.toUpperCase() } }];
|
|
247
|
+
}
|
|
248
|
+
dxfItem.font = [font];
|
|
249
|
+
}
|
|
250
|
+
if (style.background != null) {
|
|
251
|
+
dxfItem.fill = [
|
|
252
|
+
{
|
|
253
|
+
patternFill: [
|
|
254
|
+
{
|
|
255
|
+
$: { patternType: "solid" },
|
|
256
|
+
bgColor: [{ $: { rgb: style.background.toUpperCase() } }],
|
|
257
|
+
},
|
|
258
|
+
],
|
|
259
|
+
},
|
|
260
|
+
];
|
|
261
|
+
}
|
|
262
|
+
const dxfs = (this.data.styleSheet.dxfs = this.data.styleSheet.dxfs ?? [
|
|
263
|
+
{ $: { count: "0" }, dxf: [] },
|
|
264
|
+
]);
|
|
265
|
+
const prevSameDxf = dxfs[0].dxf.single((item) => obj.equal(item, dxfItem));
|
|
266
|
+
if (prevSameDxf != null) {
|
|
267
|
+
return dxfs[0].dxf.indexOf(prevSameDxf).toString();
|
|
268
|
+
}
|
|
269
|
+
dxfs[0].dxf.push(dxfItem);
|
|
270
|
+
dxfs[0].$.count = dxfs[0].dxf.length.toString();
|
|
271
|
+
return (dxfs[0].dxf.length - 1).toString();
|
|
272
|
+
}
|
|
198
273
|
getNumFmtCode(numFmtId) {
|
|
199
274
|
return (this.data.styleSheet.numFmts?.[0].numFmt ?? []).single((item) => item.$.numFmtId === numFmtId)?.$.formatCode;
|
|
200
275
|
}
|
|
@@ -243,6 +318,103 @@ export class ExcelXmlStyle {
|
|
|
243
318
|
this.data.styleSheet.numFmts[0].$.count = ((num.parseInt(this.data.styleSheet.numFmts[0].$.count) ?? 0) + 1).toString();
|
|
244
319
|
return nextNumFmtId;
|
|
245
320
|
}
|
|
321
|
+
_applyStyleToXf(xf, style) {
|
|
322
|
+
if (style.numFmtId != null) {
|
|
323
|
+
xf.$.numFmtId = style.numFmtId;
|
|
324
|
+
}
|
|
325
|
+
if (style.numFmtCode != null) {
|
|
326
|
+
xf.$.numFmtId = this._setNumFmtCode(style.numFmtCode);
|
|
327
|
+
xf.$.applyNumberFormat = "1";
|
|
328
|
+
}
|
|
329
|
+
if (style.background != null) {
|
|
330
|
+
const newFill = {
|
|
331
|
+
patternFill: [
|
|
332
|
+
{
|
|
333
|
+
$: { patternType: "solid" },
|
|
334
|
+
fgColor: [{ $: { rgb: style.background.toUpperCase() } }],
|
|
335
|
+
},
|
|
336
|
+
],
|
|
337
|
+
};
|
|
338
|
+
xf.$.applyFill = "1";
|
|
339
|
+
xf.$.fillId = this._getSameOrCreateFill(newFill);
|
|
340
|
+
}
|
|
341
|
+
if (style.border != null) {
|
|
342
|
+
const newBorder = this._createBorderFromPositions(style.border);
|
|
343
|
+
xf.$.applyBorder = "1";
|
|
344
|
+
xf.$.borderId = this._getSameOrCreateBorder(newBorder);
|
|
345
|
+
}
|
|
346
|
+
if (style.font != null) {
|
|
347
|
+
this._validateFont(style.font);
|
|
348
|
+
xf.$.applyFont = "1";
|
|
349
|
+
xf.$.fontId = this._getSameOrCreateFont(this._buildFontXml(style.font));
|
|
350
|
+
}
|
|
351
|
+
this._applyAlignment(xf, style);
|
|
352
|
+
}
|
|
353
|
+
_validateFont(font) {
|
|
354
|
+
if (font.color != null && !/^[0-9A-F]{8}$/i.test(font.color)) {
|
|
355
|
+
throw new Error("잘못된 폰트 색상 형식입니다. (형식: 00000000: alpha(반전)+rgb)");
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
_buildFontXml(font) {
|
|
359
|
+
const result = {};
|
|
360
|
+
if (font.size != null) {
|
|
361
|
+
result.sz = [{ $: { val: font.size.toString() } }];
|
|
362
|
+
}
|
|
363
|
+
if (font.family != null) {
|
|
364
|
+
result.name = [{ $: { val: font.family } }];
|
|
365
|
+
}
|
|
366
|
+
if (font.bold === true) {
|
|
367
|
+
result.b = [{}];
|
|
368
|
+
}
|
|
369
|
+
if (font.italic === true) {
|
|
370
|
+
result.i = [{}];
|
|
371
|
+
}
|
|
372
|
+
if (font.underline != null) {
|
|
373
|
+
result.u = [{ $: { val: font.underline } }];
|
|
374
|
+
}
|
|
375
|
+
if (font.strike === true) {
|
|
376
|
+
result.strike = [{}];
|
|
377
|
+
}
|
|
378
|
+
if (font.color != null) {
|
|
379
|
+
result.color = [{ $: { rgb: font.color.toUpperCase() } }];
|
|
380
|
+
}
|
|
381
|
+
return result;
|
|
382
|
+
}
|
|
383
|
+
_parseFontXml(item) {
|
|
384
|
+
const result = {};
|
|
385
|
+
if (item.sz?.[0].$.val != null) {
|
|
386
|
+
const sz = num.parseFloat(item.sz[0].$.val);
|
|
387
|
+
if (sz != null)
|
|
388
|
+
result.size = sz;
|
|
389
|
+
}
|
|
390
|
+
if (item.name?.[0].$.val != null) {
|
|
391
|
+
result.family = item.name[0].$.val;
|
|
392
|
+
}
|
|
393
|
+
if (item.b != null)
|
|
394
|
+
result.bold = true;
|
|
395
|
+
if (item.i != null)
|
|
396
|
+
result.italic = true;
|
|
397
|
+
if (item.u != null) {
|
|
398
|
+
result.underline = item.u[0].$?.val ?? "single";
|
|
399
|
+
}
|
|
400
|
+
if (item.strike != null)
|
|
401
|
+
result.strike = true;
|
|
402
|
+
if (item.color?.[0].$.rgb != null) {
|
|
403
|
+
result.color = item.color[0].$.rgb;
|
|
404
|
+
}
|
|
405
|
+
return result;
|
|
406
|
+
}
|
|
407
|
+
_getSameOrCreateFont(item) {
|
|
408
|
+
const prevSameFont = this.data.styleSheet.fonts[0].font.single((f) => obj.equal(f, item));
|
|
409
|
+
if (prevSameFont != null) {
|
|
410
|
+
return this.data.styleSheet.fonts[0].font.indexOf(prevSameFont).toString();
|
|
411
|
+
}
|
|
412
|
+
else {
|
|
413
|
+
this.data.styleSheet.fonts[0].font.push(item);
|
|
414
|
+
this.data.styleSheet.fonts[0].$.count = this.data.styleSheet.fonts[0].font.length.toString();
|
|
415
|
+
return (this.data.styleSheet.fonts[0].font.length - 1).toString();
|
|
416
|
+
}
|
|
417
|
+
}
|
|
246
418
|
_applyAlignment(xf, style) {
|
|
247
419
|
if (style.verticalAlign != null) {
|
|
248
420
|
xf.$.applyAlignment = "1";
|