@simplysm/excel 13.0.99 → 14.0.1

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 (95) hide show
  1. package/dist/excel-cell.d.ts +28 -28
  2. package/dist/excel-cell.d.ts.map +1 -1
  3. package/dist/excel-cell.js +273 -264
  4. package/dist/excel-cell.js.map +1 -6
  5. package/dist/excel-col.d.ts +4 -4
  6. package/dist/excel-col.d.ts.map +1 -1
  7. package/dist/excel-col.js +33 -35
  8. package/dist/excel-col.js.map +1 -6
  9. package/dist/excel-row.d.ts +3 -3
  10. package/dist/excel-row.d.ts.map +1 -1
  11. package/dist/excel-row.js +28 -30
  12. package/dist/excel-row.js.map +1 -6
  13. package/dist/excel-workbook.d.ts +23 -23
  14. package/dist/excel-workbook.d.ts.map +1 -1
  15. package/dist/excel-workbook.js +151 -125
  16. package/dist/excel-workbook.js.map +1 -6
  17. package/dist/excel-worksheet.d.ts +32 -32
  18. package/dist/excel-worksheet.d.ts.map +1 -1
  19. package/dist/excel-worksheet.js +281 -253
  20. package/dist/excel-worksheet.js.map +1 -6
  21. package/dist/excel-wrapper.d.ts +7 -7
  22. package/dist/excel-wrapper.d.ts.map +1 -1
  23. package/dist/excel-wrapper.js +190 -226
  24. package/dist/excel-wrapper.js.map +1 -6
  25. package/dist/index.js +4 -1
  26. package/dist/index.js.map +1 -6
  27. package/dist/types.d.ts +13 -13
  28. package/dist/types.d.ts.map +1 -1
  29. package/dist/types.js +3 -1
  30. package/dist/types.js.map +1 -6
  31. package/dist/utils/excel-utils.d.ts +23 -23
  32. package/dist/utils/excel-utils.d.ts.map +1 -1
  33. package/dist/utils/excel-utils.js +183 -151
  34. package/dist/utils/excel-utils.js.map +1 -6
  35. package/dist/utils/zip-cache.d.ts +6 -6
  36. package/dist/utils/zip-cache.js +78 -60
  37. package/dist/utils/zip-cache.js.map +1 -6
  38. package/dist/xml/excel-xml-content-type.d.ts +2 -2
  39. package/dist/xml/excel-xml-content-type.js +55 -53
  40. package/dist/xml/excel-xml-content-type.js.map +1 -6
  41. package/dist/xml/excel-xml-drawing.d.ts +2 -2
  42. package/dist/xml/excel-xml-drawing.js +74 -73
  43. package/dist/xml/excel-xml-drawing.js.map +1 -6
  44. package/dist/xml/excel-xml-relationship.d.ts +2 -2
  45. package/dist/xml/excel-xml-relationship.js +67 -67
  46. package/dist/xml/excel-xml-relationship.js.map +1 -6
  47. package/dist/xml/excel-xml-shared-string.d.ts +2 -2
  48. package/dist/xml/excel-xml-shared-string.js +57 -55
  49. package/dist/xml/excel-xml-shared-string.js.map +1 -6
  50. package/dist/xml/excel-xml-style.d.ts +2 -2
  51. package/dist/xml/excel-xml-style.js +311 -295
  52. package/dist/xml/excel-xml-style.js.map +1 -6
  53. package/dist/xml/excel-xml-unknown.d.ts +2 -2
  54. package/dist/xml/excel-xml-unknown.js +11 -10
  55. package/dist/xml/excel-xml-unknown.js.map +1 -6
  56. package/dist/xml/excel-xml-workbook.d.ts +2 -2
  57. package/dist/xml/excel-xml-workbook.js +87 -90
  58. package/dist/xml/excel-xml-workbook.js.map +1 -6
  59. package/dist/xml/excel-xml-worksheet.d.ts +6 -6
  60. package/dist/xml/excel-xml-worksheet.js +450 -393
  61. package/dist/xml/excel-xml-worksheet.js.map +1 -6
  62. package/package.json +5 -7
  63. package/src/excel-cell.ts +36 -36
  64. package/src/excel-col.ts +4 -4
  65. package/src/excel-row.ts +3 -3
  66. package/src/excel-workbook.ts +38 -38
  67. package/src/excel-worksheet.ts +69 -51
  68. package/src/excel-wrapper.ts +55 -50
  69. package/src/index.ts +3 -3
  70. package/src/types.ts +17 -17
  71. package/src/utils/excel-utils.ts +47 -41
  72. package/src/utils/zip-cache.ts +6 -6
  73. package/src/xml/excel-xml-content-type.ts +3 -3
  74. package/src/xml/excel-xml-drawing.ts +2 -2
  75. package/src/xml/excel-xml-relationship.ts +3 -3
  76. package/src/xml/excel-xml-shared-string.ts +2 -2
  77. package/src/xml/excel-xml-style.ts +11 -11
  78. package/src/xml/excel-xml-unknown.ts +2 -2
  79. package/src/xml/excel-xml-workbook.ts +5 -5
  80. package/src/xml/excel-xml-worksheet.ts +43 -43
  81. package/README.md +0 -119
  82. package/docs/core-classes.md +0 -541
  83. package/docs/types.md +0 -297
  84. package/docs/utilities.md +0 -128
  85. package/docs/wrapper.md +0 -100
  86. package/tests/excel-cell.spec.ts +0 -393
  87. package/tests/excel-col.spec.ts +0 -81
  88. package/tests/excel-row.spec.ts +0 -61
  89. package/tests/excel-workbook.spec.ts +0 -205
  90. package/tests/excel-worksheet.spec.ts +0 -469
  91. package/tests/excel-wrapper.spec.ts +0 -273
  92. package/tests/fixtures/logo.png +0 -0
  93. package/tests/fixtures//354/264/210/352/270/260/355/231/224.xlsx +0 -0
  94. package/tests/image-insert.spec.ts +0 -190
  95. package/tests/utils/excel-utils.spec.ts +0 -198
@@ -4,136 +4,162 @@ import { ExcelXmlContentType } from "./xml/excel-xml-content-type.js";
4
4
  import { ExcelXmlRelationship } from "./xml/excel-xml-relationship.js";
5
5
  import { ExcelXmlWorkbook as ExcelXmlWorkbookClass } from "./xml/excel-xml-workbook.js";
6
6
  import { ExcelXmlWorksheet as ExcelXmlWorksheetClass } from "./xml/excel-xml-worksheet.js";
7
- class ExcelWorkbook {
8
- zipCache;
9
- _wsMap = /* @__PURE__ */ new Map();
10
- _isClosed = false;
11
- /**
12
- * @param arg Existing Excel file data (Blob or Uint8Array). Creates a new workbook if omitted.
13
- */
14
- constructor(arg) {
15
- if (arg != null) {
16
- this.zipCache = new ZipCache(arg);
17
- } else {
18
- this.zipCache = new ZipCache();
19
- const typeXml = new ExcelXmlContentType();
20
- this.zipCache.set("[Content_Types].xml", typeXml);
21
- this.zipCache.set(
22
- "_rels/.rels",
23
- new ExcelXmlRelationship().add(
24
- "xl/workbook.xml",
25
- "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument"
26
- )
27
- );
28
- const wbXml = new ExcelXmlWorkbookClass();
29
- this.zipCache.set("xl/workbook.xml", wbXml);
30
- const wbRelXml = new ExcelXmlRelationship();
31
- this.zipCache.set("xl/_rels/workbook.xml.rels", wbRelXml);
7
+ /**
8
+ * Excel 워크북 처리 클래스
9
+ *
10
+ * @remarks
11
+ * 이 클래스는 내부적으로 ZIP 리소스를 관리한다.
12
+ * 사용 반드시 리소스를 해제해야 한다.
13
+ *
14
+ * ## 비동기 설계
15
+ *
16
+ * 대용량 Excel 파일의 메모리 효율을 위해 Lazy Loading 아키텍처를 채택:
17
+ * - ZIP 내부의 XML은 접근 시점에만 읽고 파싱함
18
+ * - SharedStrings, Styles 등 대용량 XML은 필요할 때만 로드함
19
+ * - 극단적인 경우에도 메모리 효율적 (예: 1TB SharedStrings가 있는 파일에서 숫자 셀 하나만 읽기)
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * // await using 사용 (권장)
24
+ * await using wb = new ExcelWorkbook(bytes);
25
+ * const ws = await wb.getWorksheet(0);
26
+ * // ... 작업 수행
27
+ * // 스코프 종료 시 리소스 자동 해제
28
+ *
29
+ * // 또는 try-finally 사용
30
+ * const wb = new ExcelWorkbook(bytes);
31
+ * try {
32
+ * const ws = await wb.getWorksheet(0);
33
+ * // ... 작업 수행
34
+ * } finally {
35
+ * await wb.close();
36
+ * }
37
+ * ```
38
+ */
39
+ export class ExcelWorkbook {
40
+ zipCache;
41
+ _wsMap = new Map();
42
+ _isClosed = false;
43
+ /**
44
+ * @param arg 기존 Excel 파일 데이터 (Blob 또는 Uint8Array). 생략하면 새 워크북을 생성한다.
45
+ */
46
+ constructor(arg) {
47
+ if (arg != null) {
48
+ this.zipCache = new ZipCache(arg);
49
+ }
50
+ else {
51
+ this.zipCache = new ZipCache();
52
+ // 전역 ContentTypes
53
+ const typeXml = new ExcelXmlContentType();
54
+ this.zipCache.set("[Content_Types].xml", typeXml);
55
+ // 전역 Rels
56
+ this.zipCache.set("_rels/.rels", new ExcelXmlRelationship().add("xl/workbook.xml", "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument"));
57
+ // 워크북
58
+ const wbXml = new ExcelXmlWorkbookClass();
59
+ this.zipCache.set("xl/workbook.xml", wbXml);
60
+ // 워크북 Rels
61
+ const wbRelXml = new ExcelXmlRelationship();
62
+ this.zipCache.set("xl/_rels/workbook.xml.rels", wbRelXml);
63
+ }
32
64
  }
33
- }
34
- //#region Worksheet Methods
35
- _ensureNotClosed() {
36
- if (this._isClosed) {
37
- throw new Error("ExcelWorkbook is already closed. Cannot use after calling close().");
65
+ //#region Worksheet Methods
66
+ _ensureNotClosed() {
67
+ if (this._isClosed) {
68
+ throw new Error("ExcelWorkbook이 이미 닫혔습니다. close() 호출 후에는 사용할 수 없습니다.");
69
+ }
38
70
  }
39
- }
40
- /** Return all worksheet names in the workbook */
41
- async getWorksheetNames() {
42
- this._ensureNotClosed();
43
- const wbData = await this.zipCache.get("xl/workbook.xml");
44
- return wbData.sheetNames;
45
- }
46
- /** Create and return a new worksheet */
47
- async addWorksheet(name) {
48
- this._ensureNotClosed();
49
- const wbXml = await this.zipCache.get("xl/workbook.xml");
50
- const newWsRelId = wbXml.addWorksheet(name).lastWsRelId;
51
- const typeXml = await this.zipCache.get("[Content_Types].xml");
52
- typeXml.add(
53
- `/xl/worksheets/sheet${newWsRelId}.xml`,
54
- "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"
55
- );
56
- const wbRelXml = await this.zipCache.get(
57
- "xl/_rels/workbook.xml.rels"
58
- );
59
- wbRelXml.insert(
60
- newWsRelId,
61
- `worksheets/sheet${newWsRelId}.xml`,
62
- "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet"
63
- );
64
- const wsXml = new ExcelXmlWorksheetClass();
65
- this.zipCache.set(`xl/worksheets/sheet${newWsRelId}.xml`, wsXml);
66
- const ws = new ExcelWorksheet(this.zipCache, newWsRelId, `sheet${newWsRelId}.xml`);
67
- this._wsMap.set(newWsRelId, ws);
68
- return ws;
69
- }
70
- /** Look up a worksheet by name or index (0-based) */
71
- async getWorksheet(nameOrIndex) {
72
- this._ensureNotClosed();
73
- const wbData = await this.zipCache.get("xl/workbook.xml");
74
- const wsId = typeof nameOrIndex === "string" ? wbData.getWsRelIdByName(nameOrIndex) : wbData.getWsRelIdByIndex(nameOrIndex);
75
- if (wsId === void 0) {
76
- if (typeof nameOrIndex === "string") {
77
- throw new Error(`Cannot find sheet with name '${nameOrIndex}'.`);
78
- } else {
79
- throw new Error(`Cannot find sheet at index '${nameOrIndex}'.`);
80
- }
71
+ /** 워크북의 모든 워크시트 이름 반환 */
72
+ async getWorksheetNames() {
73
+ this._ensureNotClosed();
74
+ const wbData = (await this.zipCache.get("xl/workbook.xml"));
75
+ return wbData.sheetNames;
81
76
  }
82
- if (this._wsMap.has(wsId)) {
83
- return this._wsMap.get(wsId);
77
+ /** 워크시트를 생성하여 반환 */
78
+ async addWorksheet(name) {
79
+ this._ensureNotClosed();
80
+ // 워크북
81
+ const wbXml = (await this.zipCache.get("xl/workbook.xml"));
82
+ const newWsRelId = wbXml.addWorksheet(name).lastWsRelId;
83
+ // Content Types 갱신
84
+ const typeXml = (await this.zipCache.get("[Content_Types].xml"));
85
+ typeXml.add(`/xl/worksheets/sheet${newWsRelId}.xml`, "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml");
86
+ // 워크북 Rels 갱신
87
+ const wbRelXml = (await this.zipCache.get("xl/_rels/workbook.xml.rels"));
88
+ wbRelXml.insert(newWsRelId, `worksheets/sheet${newWsRelId}.xml`, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet");
89
+ // 워크시트
90
+ const wsXml = new ExcelXmlWorksheetClass();
91
+ this.zipCache.set(`xl/worksheets/sheet${newWsRelId}.xml`, wsXml);
92
+ const ws = new ExcelWorksheet(this.zipCache, newWsRelId, `sheet${newWsRelId}.xml`);
93
+ this._wsMap.set(newWsRelId, ws);
94
+ return ws;
84
95
  }
85
- const relData = await this.zipCache.get("xl/_rels/workbook.xml.rels");
86
- const targetFilePath = relData.getTargetByRelId(wsId);
87
- if (targetFilePath == null) {
88
- throw new Error(`Cannot find sheet relationship information: rId${wsId}`);
96
+ /** 이름 또는 인덱스(0 기반)로 워크시트 조회 */
97
+ async getWorksheet(nameOrIndex) {
98
+ this._ensureNotClosed();
99
+ const wbData = (await this.zipCache.get("xl/workbook.xml"));
100
+ const wsId = typeof nameOrIndex === "string"
101
+ ? wbData.getWsRelIdByName(nameOrIndex)
102
+ : wbData.getWsRelIdByIndex(nameOrIndex);
103
+ if (wsId === undefined) {
104
+ if (typeof nameOrIndex === "string") {
105
+ throw new Error(`이름이 '${nameOrIndex}'인 시트를 찾을 수 없습니다.`);
106
+ }
107
+ else {
108
+ throw new Error(`인덱스 '${nameOrIndex}'에 해당하는 시트를 찾을 수 없습니다.`);
109
+ }
110
+ }
111
+ if (this._wsMap.has(wsId)) {
112
+ return this._wsMap.get(wsId);
113
+ }
114
+ const relData = (await this.zipCache.get("xl/_rels/workbook.xml.rels"));
115
+ const targetFilePath = relData.getTargetByRelId(wsId);
116
+ if (targetFilePath == null) {
117
+ throw new Error(`시트 관계 정보를 찾을 수 없습니다: rId${wsId}`);
118
+ }
119
+ // path.basename 대신 직접 파일명 추출 (브라우저 호환성)
120
+ const fileName = targetFilePath.split("/").pop();
121
+ if (fileName == null) {
122
+ throw new Error(`시트 파일명을 추출할 수 없습니다: ${targetFilePath}`);
123
+ }
124
+ const ws = new ExcelWorksheet(this.zipCache, wsId, fileName);
125
+ this._wsMap.set(wsId, ws);
126
+ return ws;
89
127
  }
90
- const fileName = targetFilePath.split("/").pop();
91
- if (fileName == null) {
92
- throw new Error(`Cannot extract sheet filename: ${targetFilePath}`);
128
+ //#endregion
129
+ //#region Export Methods
130
+ /** 워크북을 바이트 배열로 내보내기 */
131
+ async toBytes() {
132
+ this._ensureNotClosed();
133
+ return this.zipCache.toBytes();
93
134
  }
94
- const ws = new ExcelWorksheet(this.zipCache, wsId, fileName);
95
- this._wsMap.set(wsId, ws);
96
- return ws;
97
- }
98
- //#endregion
99
- //#region Export Methods
100
- /** Export workbook as byte array */
101
- async toBytes() {
102
- this._ensureNotClosed();
103
- return this.zipCache.toBytes();
104
- }
105
- /** Export workbook as Blob */
106
- async toBlob() {
107
- this._ensureNotClosed();
108
- const bytes = await this.zipCache.toBytes();
109
- return new Blob([new Uint8Array(bytes)], {
110
- type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
111
- });
112
- }
113
- //#endregion
114
- //#region Lifecycle Methods
115
- /**
116
- * Release workbook resources
117
- *
118
- * @remarks
119
- * Cleans up the ZIP reader and internal cache.
120
- * The workbook instance cannot be used after this call.
121
- * Safe to call on an already closed workbook (no-op).
122
- */
123
- async close() {
124
- if (this._isClosed) {
125
- return;
135
+ /** 워크북을 Blob으로 내보내기 */
136
+ async toBlob() {
137
+ this._ensureNotClosed();
138
+ const bytes = await this.zipCache.toBytes();
139
+ return new Blob([new Uint8Array(bytes)], {
140
+ type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
141
+ });
142
+ }
143
+ //#endregion
144
+ //#region Lifecycle Methods
145
+ /**
146
+ * 워크북 리소스 해제
147
+ *
148
+ * @remarks
149
+ * ZIP 리더와 내부 캐시를 정리한다.
150
+ * 호출 이후에는 워크북 인스턴스를 사용할 수 없다.
151
+ * 이미 닫힌 워크북에 대해 호출해도 안전하다 (no-op).
152
+ */
153
+ async close() {
154
+ if (this._isClosed) {
155
+ return; // 이미 닫힌 경우 무시
156
+ }
157
+ this._isClosed = true;
158
+ this._wsMap.clear();
159
+ await this.zipCache.close();
160
+ }
161
+ async [Symbol.asyncDispose]() {
162
+ await this.close();
126
163
  }
127
- this._isClosed = true;
128
- this._wsMap.clear();
129
- await this.zipCache.close();
130
- }
131
- async [Symbol.asyncDispose]() {
132
- await this.close();
133
- }
134
- //#endregion
135
164
  }
136
- export {
137
- ExcelWorkbook
138
- };
139
- //# sourceMappingURL=excel-workbook.js.map
165
+ //# sourceMappingURL=excel-workbook.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/excel-workbook.ts"],
4
- "mappings": "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",
5
- "names": []
6
- }
1
+ {"version":3,"file":"excel-workbook.js","sourceRoot":"","sources":["..\\src\\excel-workbook.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,8 @@ import { ExcelRow } from "./excel-row";
6
6
  import type { ExcelAddressPoint, ExcelAddressRangePoint, ExcelValueType } from "./types";
7
7
  import type { ZipCache } from "./utils/zip-cache";
8
8
  /**
9
- * Class representing an Excel worksheet.
10
- * Provides cell access, row/column copying, data table processing, and image insertion.
9
+ * Excel 워크시트를 나타내는 클래스.
10
+ * 접근, 행/열 복사, 데이터 테이블 처리, 이미지 삽입 기능을 제공한다.
11
11
  */
12
12
  export declare class ExcelWorksheet {
13
13
  private readonly _zipCache;
@@ -16,40 +16,40 @@ export declare class ExcelWorksheet {
16
16
  private readonly _rowMap;
17
17
  private readonly _colMap;
18
18
  constructor(_zipCache: ZipCache, _relId: number, _targetFileName: string);
19
- /** Return worksheet name */
19
+ /** 워크시트 이름 반환 */
20
20
  getName(): Promise<string>;
21
- /** Rename worksheet */
21
+ /** 워크시트 이름 변경 */
22
22
  setName(newName: string): Promise<void>;
23
- /** Return row object (0-based) */
23
+ /** 객체 반환 (0 기반) */
24
24
  row(r: number): ExcelRow;
25
- /** Return cell object (0-based row/column) */
25
+ /** 객체 반환 (0 기반 행/열) */
26
26
  cell(r: number, c: number): ExcelCell;
27
- /** Return column object (0-based) */
27
+ /** 객체 반환 (0 기반) */
28
28
  col(c: number): ExcelCol;
29
- /** Copy style from source row to target row */
29
+ /** 원본 행에서 대상 행으로 스타일 복사 */
30
30
  copyRowStyle(srcR: number, targetR: number): Promise<void>;
31
- /** Copy style from source cell to target cell */
31
+ /** 원본 셀에서 대상 셀로 스타일 복사 */
32
32
  copyCellStyle(srcAddr: ExcelAddressPoint, targetAddr: ExcelAddressPoint): Promise<void>;
33
- /** Copy source row to target row (overwrite) */
33
+ /** 원본 행을 대상 행으로 복사 (덮어쓰기) */
34
34
  copyRow(srcR: number, targetR: number): Promise<void>;
35
- /** Copy source cell to target cell */
35
+ /** 원본 셀을 대상 셀로 복사 */
36
36
  copyCell(srcAddr: ExcelAddressPoint, targetAddr: ExcelAddressPoint): Promise<void>;
37
37
  /**
38
- * Insert-copy the source row at the target position.
39
- * Existing rows at and below the target are shifted down by one.
40
- * @param srcR Source row index to copy (0-based)
41
- * @param targetR Target row index to insert at (0-based)
38
+ * 원본 행을 대상 위치에 삽입 복사한다.
39
+ * 대상 위치 이하의 기존 행은 아래로 밀린다.
40
+ * @param srcR 복사할 원본 인덱스 (0 기반)
41
+ * @param targetR 삽입할 대상 인덱스 (0 기반)
42
42
  */
43
43
  insertCopyRow(srcR: number, targetR: number): Promise<void>;
44
- /** Return data range of the worksheet */
44
+ /** 워크시트의 데이터 범위 반환 */
45
45
  getRange(): Promise<ExcelAddressRangePoint>;
46
- /** Return all cells as a 2D array */
46
+ /** 모든 셀을 2차원 배열로 반환 */
47
47
  getCells(): Promise<ExcelCell[][]>;
48
48
  /**
49
- * Return worksheet data as a table (record array).
50
- * @param opt.headerRowIndex Header row index (default: first row)
51
- * @param opt.checkEndColIndex Column index to determine data end. Data ends when this column is empty.
52
- * @param opt.usableHeaderNameFn Function to filter usable headers
49
+ * 워크시트 데이터를 테이블(레코드 배열)로 반환한다.
50
+ * @param opt.headerRowIndex 헤더 인덱스 (기본값: 번째 행)
51
+ * @param opt.checkEndColIndex 데이터 끝을 판단할 인덱스. 열이 비어있으면 데이터가 끝난 것으로 판단한다.
52
+ * @param opt.usableHeaderNameFn 사용 가능한 헤더를 필터링하는 함수
53
53
  */
54
54
  getDataTable(opt?: {
55
55
  headerRowIndex?: number;
@@ -57,28 +57,28 @@ export declare class ExcelWorksheet {
57
57
  usableHeaderNameFn?: (headerName: string) => boolean;
58
58
  }): Promise<Record<string, ExcelValueType>[]>;
59
59
  /**
60
- * Write 2D array data to the worksheet
61
- * @param matrix 2D array data (row-major, index 0 is the first row)
60
+ * 2차원 배열 데이터를 워크시트에 쓰기
61
+ * @param matrix 2차원 배열 데이터 ( 우선, 인덱스 0 번째 )
62
62
  */
63
63
  setDataMatrix(matrix: ExcelValueType[][]): Promise<void>;
64
64
  /**
65
- * Write record array to the worksheet
66
- * @param records Record array. Headers are auto-generated in the first row, data follows in subsequent rows.
65
+ * 레코드 배열을 워크시트에 쓰기
66
+ * @param records 레코드 배열. 번째 행에 헤더가 자동 생성되고, 이후 행에 데이터가 기록된다.
67
67
  */
68
68
  setRecords(records: Record<string, ExcelValueType>[]): Promise<void>;
69
- /** Set worksheet zoom scale (percent) */
69
+ /** 워크시트 확대/축소 비율 설정 (퍼센트) */
70
70
  setZoom(percent: number): Promise<void>;
71
- /** Set freeze panes for rows/columns */
71
+ /** 행/열 고정 설정 */
72
72
  freezeAt(point: {
73
73
  r?: number;
74
74
  c?: number;
75
75
  }): Promise<void>;
76
76
  /**
77
- * Insert an image into the worksheet.
78
- * @param opts.bytes Image binary data
79
- * @param opts.ext Image extension (png, jpg, etc.)
80
- * @param opts.from Image start position (0-based row/column index, rOff/cOff in EMU offset)
81
- * @param opts.to Image end position (if omitted, inserted at from position with original size)
77
+ * 워크시트에 이미지를 삽입한다.
78
+ * @param opts.bytes 이미지 바이너리 데이터
79
+ * @param opts.ext 이미지 확장자 (png, jpg )
80
+ * @param opts.from 이미지 시작 위치 (0 기반 행/열 인덱스, rOff/cOff EMU 오프셋)
81
+ * @param opts.to 이미지 위치 (생략 from 위치에 원본 크기로 삽입)
82
82
  */
83
83
  addImage(opts: {
84
84
  bytes: Bytes;
@@ -1 +1 @@
1
- {"version":3,"file":"excel-worksheet.d.ts","sourceRoot":"","sources":["..\\src\\excel-worksheet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"excel-worksheet.d.ts","sourceRoot":"","sources":["..\\src\\excel-worksheet.ts"],"names":[],"mappings":"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"}