@simplysm/excel 13.0.69 → 13.0.70

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 (74) hide show
  1. package/README.md +19 -516
  2. package/dist/excel-cell.d.ts +28 -28
  3. package/dist/excel-cell.d.ts.map +1 -1
  4. package/dist/excel-cell.js +24 -24
  5. package/dist/excel-cell.js.map +1 -1
  6. package/dist/excel-col.d.ts +4 -4
  7. package/dist/excel-col.d.ts.map +1 -1
  8. package/dist/excel-col.js +3 -3
  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 +2 -2
  12. package/dist/excel-workbook.d.ts +23 -23
  13. package/dist/excel-workbook.d.ts.map +1 -1
  14. package/dist/excel-workbook.js +15 -15
  15. package/dist/excel-workbook.js.map +1 -1
  16. package/dist/excel-worksheet.d.ts +32 -32
  17. package/dist/excel-worksheet.d.ts.map +1 -1
  18. package/dist/excel-worksheet.js +32 -32
  19. package/dist/excel-worksheet.js.map +1 -1
  20. package/dist/excel-wrapper.d.ts +7 -7
  21. package/dist/excel-wrapper.js +7 -7
  22. package/dist/excel-wrapper.js.map +1 -1
  23. package/dist/types.d.ts +16 -16
  24. package/dist/types.d.ts.map +1 -1
  25. package/dist/utils/excel-utils.d.ts +23 -23
  26. package/dist/utils/excel-utils.d.ts.map +1 -1
  27. package/dist/utils/excel-utils.js +25 -25
  28. package/dist/utils/excel-utils.js.map +1 -1
  29. package/dist/utils/zip-cache.d.ts +6 -6
  30. package/dist/xml/excel-xml-content-type.d.ts +2 -2
  31. package/dist/xml/excel-xml-drawing.d.ts +2 -2
  32. package/dist/xml/excel-xml-relationship.d.ts +2 -2
  33. package/dist/xml/excel-xml-relationship.js +1 -1
  34. package/dist/xml/excel-xml-relationship.js.map +1 -1
  35. package/dist/xml/excel-xml-shared-string.d.ts +2 -2
  36. package/dist/xml/excel-xml-style.d.ts +2 -2
  37. package/dist/xml/excel-xml-style.js +6 -6
  38. package/dist/xml/excel-xml-style.js.map +1 -1
  39. package/dist/xml/excel-xml-unknown.d.ts +2 -2
  40. package/dist/xml/excel-xml-workbook.d.ts +2 -2
  41. package/dist/xml/excel-xml-workbook.js +1 -1
  42. package/dist/xml/excel-xml-workbook.js.map +1 -1
  43. package/dist/xml/excel-xml-worksheet.d.ts +6 -6
  44. package/dist/xml/excel-xml-worksheet.d.ts.map +1 -1
  45. package/dist/xml/excel-xml-worksheet.js +9 -8
  46. package/dist/xml/excel-xml-worksheet.js.map +1 -1
  47. package/package.json +6 -5
  48. package/src/excel-cell.ts +35 -35
  49. package/src/excel-col.ts +4 -4
  50. package/src/excel-row.ts +3 -3
  51. package/src/excel-workbook.ts +30 -30
  52. package/src/excel-worksheet.ts +47 -47
  53. package/src/excel-wrapper.ts +18 -18
  54. package/src/index.ts +3 -3
  55. package/src/types.ts +15 -17
  56. package/src/utils/excel-utils.ts +38 -38
  57. package/src/utils/zip-cache.ts +6 -6
  58. package/src/xml/excel-xml-content-type.ts +3 -3
  59. package/src/xml/excel-xml-drawing.ts +2 -2
  60. package/src/xml/excel-xml-relationship.ts +3 -3
  61. package/src/xml/excel-xml-shared-string.ts +2 -2
  62. package/src/xml/excel-xml-style.ts +11 -11
  63. package/src/xml/excel-xml-unknown.ts +2 -2
  64. package/src/xml/excel-xml-workbook.ts +5 -5
  65. package/src/xml/excel-xml-worksheet.ts +44 -43
  66. package/tests/excel-cell.spec.ts +448 -0
  67. package/tests/excel-col.spec.ts +112 -0
  68. package/tests/excel-row.spec.ts +71 -0
  69. package/tests/excel-workbook.spec.ts +160 -0
  70. package/tests/excel-worksheet.spec.ts +389 -0
  71. package/tests/excel-wrapper.spec.ts +296 -0
  72. package/tests/fixtures/logo.png +0 -0
  73. package/tests/image-insert.spec.ts +190 -0
  74. package/tests/utils/excel-utils.spec.ts +242 -0
@@ -17,10 +17,10 @@ class ExcelCell {
17
17
  this._c = _c;
18
18
  this.addr = { r: this._r, c: this._c };
19
19
  }
20
- /** 주소 (0-based 행/열 인덱스) */
20
+ /** Cell address (0-based row/column index) */
21
21
  addr;
22
22
  //#region Value Methods
23
- /** 셀에 수식 설정 (undefined: 수식 삭제) */
23
+ /** Set formula on cell (undefined: remove formula) */
24
24
  async setFormula(val) {
25
25
  if (val === void 0) {
26
26
  await this._deleteCell(this.addr);
@@ -31,12 +31,12 @@ class ExcelCell {
31
31
  wsData.setCellFormula(this.addr, val);
32
32
  }
33
33
  }
34
- /** 셀의 수식 반환 */
34
+ /** Return cell formula */
35
35
  async getFormula() {
36
36
  const wsData = await this._getWsData();
37
37
  return wsData.getCellFormula(this.addr);
38
38
  }
39
- /** 설정 (undefined: 삭제) */
39
+ /** Set cell value (undefined: delete cell) */
40
40
  async setVal(val) {
41
41
  if (val === void 0) {
42
42
  await this._deleteCell(this.addr);
@@ -70,11 +70,11 @@ class ExcelCell {
70
70
  });
71
71
  } else {
72
72
  throw new Error(
73
- `[${ExcelUtils.stringifyAddr(this.addr)}] \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uB294 \uD0C0\uC785\uC785\uB2C8\uB2E4: ${typeof val}`
73
+ `[${ExcelUtils.stringifyAddr(this.addr)}] Unsupported type: ${typeof val}`
74
74
  );
75
75
  }
76
76
  }
77
- /** 반환 */
77
+ /** Return cell value */
78
78
  async getVal() {
79
79
  const wsData = await this._getWsData();
80
80
  const cellVal = wsData.getCellVal(this.addr);
@@ -87,7 +87,7 @@ class ExcelCell {
87
87
  const ssId = numParseInt(cellVal);
88
88
  if (ssId == null) {
89
89
  throw new Error(
90
- `[${ExcelUtils.stringifyAddr(this.addr)}] SharedString ID \uD30C\uC2F1 \uC2E4\uD328: ${cellVal}`
90
+ `[${ExcelUtils.stringifyAddr(this.addr)}] Failed to parse SharedString ID: ${cellVal}`
91
91
  );
92
92
  }
93
93
  return ssData.getStringById(ssId);
@@ -101,7 +101,7 @@ class ExcelCell {
101
101
  return parseFloat(cellVal);
102
102
  } else if (cellType === "e") {
103
103
  throw new Error(
104
- `[${ExcelUtils.stringifyAddr(this.addr)}] \uC140 \uD0C0\uC785 \uBD84\uC11D \uC2E4\uD328: \uC140\uC5D0 \uC5D0\uB7EC \uAC12\uC774 \uD3EC\uD568\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4 (${cellVal})`
104
+ `[${ExcelUtils.stringifyAddr(this.addr)}] Cell type analysis failed: cell contains error value (${cellVal})`
105
105
  );
106
106
  } else {
107
107
  const cellStyleId = wsData.getCellStyleId(this.addr);
@@ -124,7 +124,7 @@ class ExcelCell {
124
124
  const numFmtIdNum = numParseInt(numFmtId);
125
125
  if (numFmtIdNum == null) {
126
126
  throw new Error(
127
- `[${ExcelUtils.stringifyAddr(this.addr)}] numFmtId \uD30C\uC2F1 \uC2E4\uD328: ${numFmtId}`
127
+ `[${ExcelUtils.stringifyAddr(this.addr)}] Failed to parse numFmtId: ${numFmtId}`
128
128
  );
129
129
  }
130
130
  numFmt = ExcelUtils.convertNumFmtIdToName(numFmtIdNum);
@@ -137,7 +137,7 @@ class ExcelCell {
137
137
  const dateNum = numParseFloat(cellVal);
138
138
  if (dateNum == null) {
139
139
  throw new Error(
140
- `[${ExcelUtils.stringifyAddr(this.addr)}] \uB0A0\uC9DC \uC22B\uC790 \uD30C\uC2F1 \uC2E4\uD328: ${cellVal}`
140
+ `[${ExcelUtils.stringifyAddr(this.addr)}] Failed to parse date number: ${cellVal}`
141
141
  );
142
142
  }
143
143
  const tick = ExcelUtils.convertNumberToTimeTick(dateNum);
@@ -154,11 +154,11 @@ class ExcelCell {
154
154
  //#endregion
155
155
  //#region Merge Methods
156
156
  /**
157
- * 현재 셀부터 지정된 좌표까지 병합
158
- * @param r 병합 인덱스 (0-based)
159
- * @param c 병합 인덱스 (0-based)
157
+ * Merge cells from current cell to the specified end coordinates
158
+ * @param r End row index of merge (0-based)
159
+ * @param c End column index of merge (0-based)
160
160
  * @example
161
- * // A1 셀에서 호출하면 A1:C3 범위 (3 x 3)를 병합
161
+ * // Called from cell A1, merges range A1:C3 (3 rows x 3 columns)
162
162
  * await ws.cell(0, 0).merge(2, 2);
163
163
  */
164
164
  async merge(r, c) {
@@ -167,30 +167,30 @@ class ExcelCell {
167
167
  }
168
168
  //#endregion
169
169
  //#region Style Methods
170
- /** 셀의 스타일 ID 반환 */
170
+ /** Return cell style ID */
171
171
  async getStyleId() {
172
172
  const wsData = await this._getWsData();
173
173
  return wsData.getCellStyleId(this.addr);
174
174
  }
175
- /** 셀의 스타일 ID 설정 */
175
+ /** Set cell style ID */
176
176
  async setStyleId(styleId) {
177
177
  const wsData = await this._getWsData();
178
178
  wsData.setCellStyleId(this.addr, styleId);
179
179
  }
180
180
  /**
181
- * 스타일 설정
182
- * @param opts 스타일 옵션
183
- * @param opts.background 배경색 (ARGB 형식, 8자리 16진수. 예: "FFFF0000")
184
- * @param opts.border 테두리 위치 배열 (예: ["left", "right", "top", "bottom"])
185
- * @param opts.horizontalAlign 가로 정렬 ("left", "center", "right")
186
- * @param opts.verticalAlign 세로 정렬 ("top", "center", "bottom")
187
- * @param opts.numberFormat 숫자 형식 ("number", "DateOnly", "DateTime", "Time", "string")
181
+ * Set cell style
182
+ * @param opts Style options
183
+ * @param opts.background Background color (ARGB format, 8-digit hex. e.g. "FFFF0000")
184
+ * @param opts.border Border position array (e.g. ["left", "right", "top", "bottom"])
185
+ * @param opts.horizontalAlign Horizontal alignment ("left", "center", "right")
186
+ * @param opts.verticalAlign Vertical alignment ("top", "center", "bottom")
187
+ * @param opts.numberFormat Number format ("number", "DateOnly", "DateTime", "Time", "string")
188
188
  */
189
189
  async setStyle(opts) {
190
190
  const style = {};
191
191
  if (opts.background != null) {
192
192
  if (!/^[0-9A-F]{8}$/i.test(opts.background)) {
193
- throw new Error("\uC0C9\uC0C1 \uD615\uC2DD\uC774 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4. (\uD615\uC2DD: 00000000: alpha(\uC5ED)+rgb)");
193
+ throw new Error("Invalid color format. (Format: 00000000: alpha(reversed)+rgb)");
194
194
  }
195
195
  style.background = opts.background;
196
196
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/excel-cell.ts"],
4
- "mappings": "AAOA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,wBAAwB,iCAAiC;AAClE,SAAS,iBAAiB,0BAA0B;AACpD,SAAS,kBAAkB;AAkBpB,MAAM,UAAU;AAAA,EAIrB,YACmB,WACA,iBACA,IACA,IACjB;AAJiB;AACA;AACA;AACA;AAEjB,SAAK,OAAO,EAAE,GAAG,KAAK,IAAI,GAAG,KAAK,GAAG;AAAA,EACvC;AAAA;AAAA,EATS;AAAA;AAAA;AAAA,EAcT,MAAM,WAAW,KAAwC;AACvD,QAAI,QAAQ,QAAW;AACrB,YAAM,KAAK,YAAY,KAAK,IAAI;AAAA,IAClC,OAAO;AACL,YAAM,SAAS,MAAM,KAAK,WAAW;AACrC,aAAO,YAAY,KAAK,MAAM,KAAK;AACnC,aAAO,WAAW,KAAK,MAAM,MAAS;AACtC,aAAO,eAAe,KAAK,MAAM,GAAG;AAAA,IACtC;AAAA,EACF;AAAA;AAAA,EAGA,MAAM,aAA0C;AAC9C,UAAM,SAAS,MAAM,KAAK,WAAW;AACrC,WAAO,OAAO,eAAe,KAAK,IAAI;AAAA,EACxC;AAAA;AAAA,EAGA,MAAM,OAAO,KAAoC;AAC/C,QAAI,QAAQ,QAAW;AACrB,YAAM,KAAK,YAAY,KAAK,IAAI;AAAA,IAClC,WAAW,OAAO,QAAQ,UAAU;AAClC,YAAM,SAAS,MAAM,KAAK,WAAW;AACrC,YAAM,SAAS,MAAM,KAAK,mBAAmB;AAC7C,YAAM,OAAO,OAAO,cAAc,GAAG;AACrC,UAAI,SAAS,QAAW;AACtB,eAAO,YAAY,KAAK,MAAM,GAAG;AACjC,eAAO,WAAW,KAAK,MAAM,KAAK,SAAS,CAAC;AAAA,MAC9C,OAAO;AACL,cAAM,UAAU,OAAO,IAAI,GAAG;AAC9B,eAAO,YAAY,KAAK,MAAM,GAAG;AACjC,eAAO,WAAW,KAAK,MAAM,QAAQ,SAAS,CAAC;AAAA,MACjD;AAAA,IACF,WAAW,OAAO,QAAQ,WAAW;AACnC,YAAM,SAAS,MAAM,KAAK,WAAW;AACrC,aAAO,YAAY,KAAK,MAAM,GAAG;AACjC,aAAO,WAAW,KAAK,MAAM,MAAM,MAAM,GAAG;AAAA,IAC9C,WAAW,OAAO,QAAQ,UAAU;AAClC,YAAM,SAAS,MAAM,KAAK,WAAW;AACrC,aAAO,YAAY,KAAK,MAAM,MAAS;AACvC,aAAO,WAAW,KAAK,MAAM,IAAI,SAAS,CAAC;AAAA,IAC7C,WAAW,eAAe,YAAY,eAAe,YAAY,eAAe,MAAM;AACpF,YAAM,SAAS,MAAM,KAAK,WAAW;AACrC,aAAO,YAAY,KAAK,MAAM,MAAS;AACvC,aAAO,WAAW,KAAK,MAAM,WAAW,wBAAwB,IAAI,IAAI,EAAE,SAAS,CAAC;AAEpF,YAAM,aACJ,eAAe,WAAW,aAAa,eAAe,WAAW,aAAa;AAChF,YAAM,KAAK,kBAAkB;AAAA,QAC3B,UAAU,WAAW,sBAAsB,UAAU,EAAE,SAAS;AAAA,MAClE,CAAC;AAAA,IACH,OAAO;AACL,YAAM,IAAI;AAAA,QACR,IAAI,WAAW,cAAc,KAAK,IAAI,CAAC,2EAAoB,OAAO,GAAG;AAAA,MACvE;AAAA,IACF;AAAA,EACF;AAAA;AAAA,EAGA,MAAM,SAAkC;AACtC,UAAM,SAAS,MAAM,KAAK,WAAW;AACrC,UAAM,UAAU,OAAO,WAAW,KAAK,IAAI;AAC3C,QAAI,YAAY,UAAa,iBAAiB,OAAO,GAAG;AACtD,aAAO;AAAA,IACT;AAEA,UAAM,WAAW,OAAO,YAAY,KAAK,IAAI;AAC7C,QAAI,aAAa,KAAK;AACpB,YAAM,SAAS,MAAM,KAAK,mBAAmB;AAC7C,YAAM,OAAO,YAAY,OAAO;AAChC,UAAI,QAAQ,MAAM;AAChB,cAAM,IAAI;AAAA,UACR,IAAI,WAAW,cAAc,KAAK,IAAI,CAAC,gDAA4B,OAAO;AAAA,QAC5E;AAAA,MACF;AACA,aAAO,OAAO,cAAc,IAAI;AAAA,IAClC,WAAW,aAAa,OAAO;AAC7B,aAAO;AAAA,IACT,WAAW,aAAa,aAAa;AACnC,aAAO;AAAA,IACT,WAAW,aAAa,KAAK;AAC3B,aAAO,YAAY;AAAA,IACrB,WAAW,aAAa,KAAK;AAC3B,aAAO,WAAW,OAAO;AAAA,IAC3B,WAAW,aAAa,KAAK;AAC3B,YAAM,IAAI;AAAA,QACR,IAAI,WAAW,cAAc,KAAK,IAAI,CAAC,8IAAqC,OAAO;AAAA,MACrF;AAAA,IACF,OAAO;AAEL,YAAM,cAAc,OAAO,eAAe,KAAK,IAAI;AACnD,UAAI,gBAAgB,QAAW;AAC7B,eAAO,WAAW,OAAO;AAAA,MAC3B;AAEA,YAAM,YAAY,MAAM,KAAK,cAAc;AAC3C,UAAI,aAAa,MAAM;AACrB,eAAO,WAAW,OAAO;AAAA,MAC3B;AAEA,YAAM,WAAW,UAAU,IAAI,WAAW,EAAE;AAC5C,UAAI,aAAa,QAAW;AAC1B,eAAO,WAAW,OAAO;AAAA,MAC3B;AAEA,YAAM,aAAa,UAAU,cAAc,QAAQ;AACnD,UAAI;AACJ,UAAI,eAAe,QAAW;AAC5B,iBAAS,WAAW,wBAAwB,UAAU;AAAA,MACxD,OAAO;AACL,cAAM,cAAc,YAAY,QAAQ;AACxC,YAAI,eAAe,MAAM;AACvB,gBAAM,IAAI;AAAA,YACR,IAAI,WAAW,cAAc,KAAK,IAAI,CAAC,yCAAqB,QAAQ;AAAA,UACtE;AAAA,QACF;AACA,iBAAS,WAAW,sBAAsB,WAAW;AAAA,MACvD;AAEA,UAAI,WAAW,UAAU;AACvB,eAAO,WAAW,OAAO;AAAA,MAC3B,WAAW,WAAW,UAAU;AAC9B,eAAO;AAAA,MACT,OAAO;AAEL,cAAM,UAAU,cAAc,OAAO;AACrC,YAAI,WAAW,MAAM;AACnB,gBAAM,IAAI;AAAA,YACR,IAAI,WAAW,cAAc,KAAK,IAAI,CAAC,0DAAkB,OAAO;AAAA,UAClE;AAAA,QACF;AACA,cAAM,OAAO,WAAW,wBAAwB,OAAO;AACvD,YAAI,WAAW,YAAY;AACzB,iBAAO,IAAI,SAAS,IAAI;AAAA,QAC1B,WAAW,WAAW,YAAY;AAChC,iBAAO,IAAI,SAAS,IAAI;AAAA,QAC1B,OAAO;AACL,iBAAO,IAAI,KAAK,IAAI;AAAA,QACtB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA,MAAM,MAAM,GAAW,GAA0B;AAC/C,UAAM,SAAS,MAAM,KAAK,WAAW;AACrC,WAAO,cAAc,KAAK,MAAM,EAAE,GAAG,EAAE,CAAC;AAAA,EAC1C;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,aAA0C;AAC9C,UAAM,SAAS,MAAM,KAAK,WAAW;AACrC,WAAO,OAAO,eAAe,KAAK,IAAI;AAAA,EACxC;AAAA;AAAA,EAGA,MAAM,WAAW,SAA4C;AAC3D,UAAM,SAAS,MAAM,KAAK,WAAW;AACrC,WAAO,eAAe,KAAK,MAAM,OAAO;AAAA,EAC1C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAM,SAAS,MAAwC;AACrD,UAAM,QAAoB,CAAC;AAE3B,QAAI,KAAK,cAAc,MAAM;AAC3B,UAAI,CAAC,iBAAiB,KAAK,KAAK,UAAU,GAAG;AAC3C,cAAM,IAAI,MAAM,yHAA8C;AAAA,MAChE;AACA,YAAM,aAAa,KAAK;AAAA,IAC1B;AAEA,QAAI,KAAK,UAAU,MAAM;AACvB,YAAM,SAAS,KAAK;AAAA,IACtB;AAEA,QAAI,KAAK,mBAAmB,MAAM;AAChC,YAAM,kBAAkB,KAAK;AAAA,IAC/B;AAEA,QAAI,KAAK,iBAAiB,MAAM;AAC9B,YAAM,gBAAgB,KAAK;AAAA,IAC7B;AAEA,QAAI,KAAK,gBAAgB,MAAM;AAC7B,YAAM,WAAW,WAAW,sBAAsB,KAAK,YAAY,EAAE,SAAS;AAAA,IAChF;AAEA,UAAM,KAAK,kBAAkB,KAAK;AAAA,EACpC;AAAA;AAAA;AAAA,EAMA,MAAc,YAAY,MAAwC;AAChE,UAAM,SAAS,MAAM,KAAK,WAAW;AACrC,WAAO,WAAW,IAAI;AAAA,EACxB;AAAA,EAEA,MAAc,aAAyC;AACrD,WAAQ,MAAM,KAAK,UAAU,IAAI,iBAAiB,KAAK,eAAe,EAAE;AAAA,EAC1E;AAAA,EAEA,MAAc,kBAAkB,OAAkC;AAChE,UAAM,SAAS,MAAM,KAAK,WAAW;AACrC,UAAM,YAAY,MAAM,KAAK,sBAAsB;AACnD,QAAI,UAAU,OAAO,eAAe,KAAK,IAAI;AAC7C,QAAI,WAAW,MAAM;AACnB,gBAAU,UAAU,IAAI,KAAK;AAAA,IAC/B,OAAO;AACL,gBAAU,UAAU,aAAa,SAAS,KAAK;AAAA,IACjD;AACA,WAAO,eAAe,KAAK,MAAM,OAAO;AAAA,EAC1C;AAAA,EAEA,MAAc,eAA6C;AACzD,WAAQ,MAAM,KAAK,UAAU,IAAI,qBAAqB;AAAA,EACxD;AAAA,EAEA,MAAc,aAAwD;AACpE,WAAQ,MAAM,KAAK,UAAU,IAAI,sBAAsB;AAAA,EACzD;AAAA,EAEA,MAAc,gBAA+C;AAC3D,WAAQ,MAAM,KAAK,UAAU,IAAI,4BAA4B;AAAA,EAC/D;AAAA,EAEA,MAAc,gBAAoD;AAChE,WAAQ,MAAM,KAAK,UAAU,IAAI,eAAe;AAAA,EAClD;AAAA,EAEA,MAAc,qBAAoD;AAChE,QAAI,SAAS,MAAM,KAAK,WAAW;AACnC,QAAI,UAAU,MAAM;AAClB,eAAS,IAAI,0BAA0B;AACvC,WAAK,UAAU,IAAI,wBAAwB,MAAM;AAEjD,YAAM,WAAW,MAAM,KAAK,aAAa;AACzC,eAAS;AAAA,QACP;AAAA,QACA;AAAA,MACF;AAEA,YAAM,YAAY,MAAM,KAAK,cAAc;AAC3C,gBAAU;AAAA,QACR;AAAA,QACA;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EAEA,MAAc,wBAAgD;AAC5D,QAAI,YAAY,MAAM,KAAK,cAAc;AACzC,QAAI,aAAa,MAAM;AACrB,kBAAY,IAAI,mBAAmB;AACnC,WAAK,UAAU,IAAI,iBAAiB,SAAS;AAE7C,YAAM,WAAW,MAAM,KAAK,aAAa;AACzC,eAAS;AAAA,QACP;AAAA,QACA;AAAA,MACF;AAEA,YAAM,YAAY,MAAM,KAAK,cAAc;AAC3C,gBAAU;AAAA,QACR;AAAA,QACA;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA;AAGF;",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -1,18 +1,18 @@
1
1
  import "@simplysm/core-common";
2
2
  import { ExcelCell } from "./excel-cell";
3
3
  import type { ZipCache } from "./utils/zip-cache";
4
- /** Excel 워크시트의 열을 나타내는 클래스. 접근 너비 설정 기능을 제공한다. */
4
+ /** Class representing a column in an Excel worksheet. Provides cell access and column width configuration. */
5
5
  export declare class ExcelCol {
6
6
  private readonly _zipCache;
7
7
  private readonly _targetFileName;
8
8
  private readonly _c;
9
9
  private readonly _cellMap;
10
10
  constructor(_zipCache: ZipCache, _targetFileName: string, _c: number);
11
- /** 인덱스에 해당하는 반환 (0-based) */
11
+ /** Return cell at the given row index (0-based) */
12
12
  cell(r: number): ExcelCell;
13
- /** 열의 모든 반환 */
13
+ /** Return all cells in the column */
14
14
  getCells(): Promise<ExcelCell[]>;
15
- /** 너비 설정 */
15
+ /** Set column width */
16
16
  setWidth(size: number): Promise<void>;
17
17
  private _getWsData;
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"excel-col.d.ts","sourceRoot":"","sources":["..\\src\\excel-col.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,wDAAwD;AACxD,qBAAa,QAAQ;IAIjB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,EAAE;IALrB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgC;gBAGtC,SAAS,EAAE,QAAQ,EACnB,eAAe,EAAE,MAAM,EACvB,EAAE,EAAE,MAAM;IAG7B,iCAAiC;IACjC,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS;IAO1B,iBAAiB;IACX,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAYtC,cAAc;IACR,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAK7B,UAAU;CAGzB"}
1
+ {"version":3,"file":"excel-col.d.ts","sourceRoot":"","sources":["..\\src\\excel-col.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,8GAA8G;AAC9G,qBAAa,QAAQ;IAIjB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,EAAE;IALrB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgC;gBAGtC,SAAS,EAAE,QAAQ,EACnB,eAAe,EAAE,MAAM,EACvB,EAAE,EAAE,MAAM;IAG7B,mDAAmD;IACnD,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS;IAO1B,qCAAqC;IAC/B,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAYtC,uBAAuB;IACjB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAK7B,UAAU;CAGzB"}
package/dist/excel-col.js CHANGED
@@ -7,14 +7,14 @@ class ExcelCol {
7
7
  this._c = _c;
8
8
  }
9
9
  _cellMap = /* @__PURE__ */ new Map();
10
- /** 인덱스에 해당하는 반환 (0-based) */
10
+ /** Return cell at the given row index (0-based) */
11
11
  cell(r) {
12
12
  return this._cellMap.getOrCreate(
13
13
  r,
14
14
  new ExcelCell(this._zipCache, this._targetFileName, r, this._c)
15
15
  );
16
16
  }
17
- /** 열의 모든 반환 */
17
+ /** Return all cells in the column */
18
18
  async getCells() {
19
19
  const result = [];
20
20
  const wsData = await this._getWsData();
@@ -24,7 +24,7 @@ class ExcelCol {
24
24
  }
25
25
  return result;
26
26
  }
27
- /** 너비 설정 */
27
+ /** Set column width */
28
28
  async setWidth(size) {
29
29
  const wsData = await this._getWsData();
30
30
  wsData.setColWidth((this._c + 1).toString(), size.toString());
@@ -1,16 +1,16 @@
1
1
  import "@simplysm/core-common";
2
2
  import { ExcelCell } from "./excel-cell";
3
3
  import type { ZipCache } from "./utils/zip-cache";
4
- /** Excel 워크시트의 행을 나타내는 클래스. 접근 기능을 제공한다. */
4
+ /** Class representing a row in an Excel worksheet. Provides cell access functionality. */
5
5
  export declare class ExcelRow {
6
6
  private readonly _zipCache;
7
7
  private readonly _targetFileName;
8
8
  private readonly _r;
9
9
  private readonly _cellMap;
10
10
  constructor(_zipCache: ZipCache, _targetFileName: string, _r: number);
11
- /** 인덱스에 해당하는 반환 (0-based) */
11
+ /** Return cell at the given column index (0-based) */
12
12
  cell(c: number): ExcelCell;
13
- /** 행의 모든 반환 */
13
+ /** Return all cells in the row */
14
14
  getCells(): Promise<ExcelCell[]>;
15
15
  private _getWsData;
16
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"excel-row.d.ts","sourceRoot":"","sources":["..\\src\\excel-row.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,8CAA8C;AAC9C,qBAAa,QAAQ;IAIjB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,EAAE;IALrB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgC;gBAGtC,SAAS,EAAE,QAAQ,EACnB,eAAe,EAAE,MAAM,EACvB,EAAE,EAAE,MAAM;IAG7B,iCAAiC;IACjC,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS;IAO1B,iBAAiB;IACX,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YAYxB,UAAU;CAGzB"}
1
+ {"version":3,"file":"excel-row.d.ts","sourceRoot":"","sources":["..\\src\\excel-row.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,0FAA0F;AAC1F,qBAAa,QAAQ;IAIjB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,EAAE;IALrB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgC;gBAGtC,SAAS,EAAE,QAAQ,EACnB,eAAe,EAAE,MAAM,EACvB,EAAE,EAAE,MAAM;IAG7B,sDAAsD;IACtD,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS;IAO1B,kCAAkC;IAC5B,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YAYxB,UAAU;CAGzB"}
package/dist/excel-row.js CHANGED
@@ -7,14 +7,14 @@ class ExcelRow {
7
7
  this._r = _r;
8
8
  }
9
9
  _cellMap = /* @__PURE__ */ new Map();
10
- /** 인덱스에 해당하는 반환 (0-based) */
10
+ /** Return cell at the given column index (0-based) */
11
11
  cell(c) {
12
12
  return this._cellMap.getOrCreate(
13
13
  c,
14
14
  new ExcelCell(this._zipCache, this._targetFileName, this._r, c)
15
15
  );
16
16
  }
17
- /** 행의 모든 반환 */
17
+ /** Return all cells in the row */
18
18
  async getCells() {
19
19
  const result = [];
20
20
  const wsData = await this._getWsData();
@@ -2,32 +2,32 @@ import type { Bytes } from "@simplysm/core-common";
2
2
  import { ExcelWorksheet } from "./excel-worksheet";
3
3
  import { ZipCache } from "./utils/zip-cache";
4
4
  /**
5
- * Excel 워크북 처리 클래스
5
+ * Excel workbook processing class
6
6
  *
7
7
  * @remarks
8
- * 클래스는 내부적으로 ZIP 리소스를 관리합니다.
9
- * 사용 완료 반드시 리소스를 해제해야 합니다.
8
+ * This class internally manages ZIP resources.
9
+ * Resources must be released after use.
10
10
  *
11
- * ## 비동기 설계
11
+ * ## Async Design
12
12
  *
13
- * 대용량 Excel 파일의 메모리 효율성을 위해 Lazy Loading 구조를 채택합니다:
14
- * - ZIP 파일 내부의 XML은 접근 시점에만 읽고 파싱한다
15
- * - SharedStrings, Styles 대용량 XML은 필요할 때만 로드한다
16
- * - 극단적 케이스(예: SharedStrings가 1TB인 파일에서 숫자 하나만 읽기)에서도 메모리 효율적이다
13
+ * Adopts a Lazy Loading architecture for memory efficiency with large Excel files:
14
+ * - XML inside the ZIP is read and parsed only at the point of access
15
+ * - Large XML such as SharedStrings and Styles is loaded only when needed
16
+ * - Memory efficient even in extreme cases (e.g., reading a single number cell from a file with 1TB SharedStrings)
17
17
  *
18
18
  * @example
19
19
  * ```typescript
20
- * // await using 사용 (권장)
20
+ * // Using await using (recommended)
21
21
  * await using wb = new ExcelWorkbook(bytes);
22
22
  * const ws = await wb.getWorksheet(0);
23
- * // ... 작업 수행
24
- * // 스코프 종료 자동으로 리소스 해제
23
+ * // ... perform operations
24
+ * // Resources automatically released at scope exit
25
25
  *
26
- * // 또는 try-finally 사용
26
+ * // Or using try-finally
27
27
  * const wb = new ExcelWorkbook(bytes);
28
28
  * try {
29
29
  * const ws = await wb.getWorksheet(0);
30
- * // ... 작업 수행
30
+ * // ... perform operations
31
31
  * } finally {
32
32
  * await wb.close();
33
33
  * }
@@ -38,27 +38,27 @@ export declare class ExcelWorkbook {
38
38
  private readonly _wsMap;
39
39
  private _isClosed;
40
40
  /**
41
- * @param arg 기존 Excel 파일 데이터 (Blob 또는 Uint8Array). 생략 워크북을 생성한다.
41
+ * @param arg Existing Excel file data (Blob or Uint8Array). Creates a new workbook if omitted.
42
42
  */
43
43
  constructor(arg?: Blob | Bytes);
44
44
  private _ensureNotClosed;
45
- /** 워크북의 모든 워크시트 이름을 반환 */
45
+ /** Return all worksheet names in the workbook */
46
46
  getWorksheetNames(): Promise<string[]>;
47
- /** 워크시트를 생성하고 반환 */
47
+ /** Create and return a new worksheet */
48
48
  createWorksheet(name: string): Promise<ExcelWorksheet>;
49
- /** 이름 또는 인덱스(0-based) 워크시트를 조회 */
49
+ /** Look up a worksheet by name or index (0-based) */
50
50
  getWorksheet(nameOrIndex: string | number): Promise<ExcelWorksheet>;
51
- /** 워크북을 바이트 배열로 출력 */
51
+ /** Export workbook as byte array */
52
52
  getBytes(): Promise<Bytes>;
53
- /** 워크북을 Blob으로 출력 */
53
+ /** Export workbook as Blob */
54
54
  getBlob(): Promise<Blob>;
55
55
  /**
56
- * 워크북 리소스 해제
56
+ * Release workbook resources
57
57
  *
58
58
  * @remarks
59
- * ZIP 리더와 내부 캐시를 정리합니다.
60
- * 호출 후에는 워크북 인스턴스를 사용할 없습니다.
61
- * 이미 닫힌 워크북에 대해 호출해도 안전합니다 (no-op).
59
+ * Cleans up the ZIP reader and internal cache.
60
+ * The workbook instance cannot be used after this call.
61
+ * Safe to call on an already closed workbook (no-op).
62
62
  */
63
63
  close(): Promise<void>;
64
64
  [Symbol.asyncDispose](): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"excel-workbook.d.ts","sourceRoot":"","sources":["..\\src\\excel-workbook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAO7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAAa,aAAa;IACxB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;IAC5D,OAAO,CAAC,SAAS,CAAS;IAE1B;;OAEG;gBACS,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK;IA+B9B,OAAO,CAAC,gBAAgB;IAMxB,0BAA0B;IACpB,iBAAiB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAM5C,sBAAsB;IAChB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAgC5D,mCAAmC;IAC7B,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAyCzE,sBAAsB;IAChB,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC;IAKhC,qBAAqB;IACf,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAY9B;;;;;;;OAOG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAStB,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;CAK7C"}
1
+ {"version":3,"file":"excel-workbook.d.ts","sourceRoot":"","sources":["..\\src\\excel-workbook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAO7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAAa,aAAa;IACxB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;IAC5D,OAAO,CAAC,SAAS,CAAS;IAE1B;;OAEG;gBACS,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK;IA+B9B,OAAO,CAAC,gBAAgB;IAMxB,iDAAiD;IAC3C,iBAAiB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAM5C,wCAAwC;IAClC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAgC5D,qDAAqD;IAC/C,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAyCzE,oCAAoC;IAC9B,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC;IAKhC,8BAA8B;IACxB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAY9B;;;;;;;OAOG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAStB,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;CAK7C"}
@@ -9,7 +9,7 @@ class ExcelWorkbook {
9
9
  _wsMap = /* @__PURE__ */ new Map();
10
10
  _isClosed = false;
11
11
  /**
12
- * @param arg 기존 Excel 파일 데이터 (Blob 또는 Uint8Array). 생략 워크북을 생성한다.
12
+ * @param arg Existing Excel file data (Blob or Uint8Array). Creates a new workbook if omitted.
13
13
  */
14
14
  constructor(arg) {
15
15
  if (arg != null) {
@@ -34,16 +34,16 @@ class ExcelWorkbook {
34
34
  //#region Worksheet Methods
35
35
  _ensureNotClosed() {
36
36
  if (this._isClosed) {
37
- throw new Error("ExcelWorkbook\uC774 \uC774\uBBF8 \uB2EB\uD614\uC2B5\uB2C8\uB2E4. close() \uD638\uCD9C \uD6C4\uC5D0\uB294 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");
37
+ throw new Error("ExcelWorkbook is already closed. Cannot use after calling close().");
38
38
  }
39
39
  }
40
- /** 워크북의 모든 워크시트 이름을 반환 */
40
+ /** Return all worksheet names in the workbook */
41
41
  async getWorksheetNames() {
42
42
  this._ensureNotClosed();
43
43
  const wbData = await this.zipCache.get("xl/workbook.xml");
44
44
  return wbData.sheetNames;
45
45
  }
46
- /** 워크시트를 생성하고 반환 */
46
+ /** Create and return a new worksheet */
47
47
  async createWorksheet(name) {
48
48
  this._ensureNotClosed();
49
49
  const wbXml = await this.zipCache.get("xl/workbook.xml");
@@ -67,16 +67,16 @@ class ExcelWorkbook {
67
67
  this._wsMap.set(newWsRelId, ws);
68
68
  return ws;
69
69
  }
70
- /** 이름 또는 인덱스(0-based) 워크시트를 조회 */
70
+ /** Look up a worksheet by name or index (0-based) */
71
71
  async getWorksheet(nameOrIndex) {
72
72
  this._ensureNotClosed();
73
73
  const wbData = await this.zipCache.get("xl/workbook.xml");
74
74
  const wsId = typeof nameOrIndex === "string" ? wbData.getWsRelIdByName(nameOrIndex) : wbData.getWsRelIdByIndex(nameOrIndex);
75
75
  if (wsId === void 0) {
76
76
  if (typeof nameOrIndex === "string") {
77
- throw new Error(`\uC2DC\uD2B8\uBA85\uC774 '${nameOrIndex}'\uC778 \uC2DC\uD2B8\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.`);
77
+ throw new Error(`Cannot find sheet with name '${nameOrIndex}'.`);
78
78
  } else {
79
- throw new Error(`'${nameOrIndex}'\uBC88\uC9F8 \uC2DC\uD2B8\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.`);
79
+ throw new Error(`Cannot find sheet at index '${nameOrIndex}'.`);
80
80
  }
81
81
  }
82
82
  if (this._wsMap.has(wsId)) {
@@ -85,11 +85,11 @@ class ExcelWorkbook {
85
85
  const relData = await this.zipCache.get("xl/_rels/workbook.xml.rels");
86
86
  const targetFilePath = relData.getTargetByRelId(wsId);
87
87
  if (targetFilePath == null) {
88
- throw new Error(`\uC2DC\uD2B8 \uAD00\uACC4 \uC815\uBCF4\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4: rId${wsId}`);
88
+ throw new Error(`Cannot find sheet relationship information: rId${wsId}`);
89
89
  }
90
90
  const fileName = targetFilePath.split("/").pop();
91
91
  if (fileName == null) {
92
- throw new Error(`\uC2DC\uD2B8 \uD30C\uC77C\uBA85\uC744 \uCD94\uCD9C\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4: ${targetFilePath}`);
92
+ throw new Error(`Cannot extract sheet filename: ${targetFilePath}`);
93
93
  }
94
94
  const ws = new ExcelWorksheet(this.zipCache, wsId, fileName);
95
95
  this._wsMap.set(wsId, ws);
@@ -97,12 +97,12 @@ class ExcelWorkbook {
97
97
  }
98
98
  //#endregion
99
99
  //#region Export Methods
100
- /** 워크북을 바이트 배열로 출력 */
100
+ /** Export workbook as byte array */
101
101
  async getBytes() {
102
102
  this._ensureNotClosed();
103
103
  return this.zipCache.toBytes();
104
104
  }
105
- /** 워크북을 Blob으로 출력 */
105
+ /** Export workbook as Blob */
106
106
  async getBlob() {
107
107
  this._ensureNotClosed();
108
108
  const bytes = await this.zipCache.toBytes();
@@ -113,12 +113,12 @@ class ExcelWorkbook {
113
113
  //#endregion
114
114
  //#region Lifecycle Methods
115
115
  /**
116
- * 워크북 리소스 해제
116
+ * Release workbook resources
117
117
  *
118
118
  * @remarks
119
- * ZIP 리더와 내부 캐시를 정리합니다.
120
- * 호출 후에는 워크북 인스턴스를 사용할 없습니다.
121
- * 이미 닫힌 워크북에 대해 호출해도 안전합니다 (no-op).
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
122
  */
123
123
  async close() {
124
124
  if (this._isClosed) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/excel-workbook.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -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
- * Excel 워크시트를 나타내는 클래스.
10
- * 접근, 행/열 복사, 데이터 테이블 처리, 이미지 삽입 등의 기능을 제공한다.
9
+ * Class representing an Excel worksheet.
10
+ * Provides cell access, row/column copying, data table processing, and image insertion.
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
- /** 워크시트 이름 반환 */
19
+ /** Return worksheet name */
20
20
  getName(): Promise<string>;
21
- /** 워크시트 이름 변경 */
21
+ /** Rename worksheet */
22
22
  setName(newName: string): Promise<void>;
23
- /** 객체 반환 (0-based) */
23
+ /** Return row object (0-based) */
24
24
  row(r: number): ExcelRow;
25
- /** 객체 반환 (0-based 행/열) */
25
+ /** Return cell object (0-based row/column) */
26
26
  cell(r: number, c: number): ExcelCell;
27
- /** 객체 반환 (0-based) */
27
+ /** Return column object (0-based) */
28
28
  col(c: number): ExcelCol;
29
- /** 소스 행의 스타일을 타겟 행에 복사 */
29
+ /** Copy style from source row to target row */
30
30
  copyRowStyle(srcR: number, targetR: number): Promise<void>;
31
- /** 소스 셀의 스타일을 타겟 셀에 복사 */
31
+ /** Copy style from source cell to target cell */
32
32
  copyCellStyle(srcAddr: ExcelAddressPoint, targetAddr: ExcelAddressPoint): Promise<void>;
33
- /** 소스 행을 타겟 행에 복사 (덮어쓰기) */
33
+ /** Copy source row to target row (overwrite) */
34
34
  copyRow(srcR: number, targetR: number): Promise<void>;
35
- /** 소스 셀을 타겟 셀에 복사 */
35
+ /** Copy source cell to target cell */
36
36
  copyCell(srcAddr: ExcelAddressPoint, targetAddr: ExcelAddressPoint): Promise<void>;
37
37
  /**
38
- * 소스 행을 타겟 위치에 삽입 복사.
39
- * 타겟 위치 이하의 기존 행들은 칸씩 아래로 밀린다.
40
- * @param srcR 복사할 소스 인덱스 (0-based)
41
- * @param targetR 삽입할 타겟 인덱스 (0-based)
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)
42
42
  */
43
43
  insertCopyRow(srcR: number, targetR: number): Promise<void>;
44
- /** 워크시트의 데이터 범위 반환 */
44
+ /** Return data range of the worksheet */
45
45
  getRange(): Promise<ExcelAddressRangePoint>;
46
- /** 워크시트의 모든 셀을 2차원 배열로 반환 */
46
+ /** Return all cells as a 2D array */
47
47
  getCells(): Promise<ExcelCell[][]>;
48
48
  /**
49
- * 워크시트 데이터를 테이블(레코드 배열) 형식으로 반환.
50
- * @param opt.headerRowIndex 헤더 인덱스 (기본값: 번째 행)
51
- * @param opt.checkEndColIndex 데이터 종료를 판단할 인덱스. 해당 열이 비어있으면 데이터 끝으로 간주
52
- * @param opt.usableHeaderNameFn 사용할 헤더를 필터링하는 함수
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
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
- * 2차원 배열 데이터를 워크시트에 기록
61
- * @param matrix 2차원 배열 데이터 ( 우선, 0 인덱스가 번째 )
60
+ * Write 2D array data to the worksheet
61
+ * @param matrix 2D array data (row-major, index 0 is the first row)
62
62
  */
63
63
  setDataMatrix(matrix: ExcelValueType[][]): Promise<void>;
64
64
  /**
65
- * 레코드 배열을 워크시트에 기록
66
- * @param records 레코드 배열. 행에 헤더가 자동 생성되고, 이후 행에 데이터가 기록된다.
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.
67
67
  */
68
68
  setRecords(records: Record<string, ExcelValueType>[]): Promise<void>;
69
- /** 워크시트 확대/축소 비율 설정 (퍼센트) */
69
+ /** Set worksheet zoom scale (percent) */
70
70
  setZoom(percent: number): Promise<void>;
71
- /** 행/열 고정 설정 */
71
+ /** Set freeze panes for rows/columns */
72
72
  setFix(point: {
73
73
  r?: number;
74
74
  c?: number;
75
75
  }): Promise<void>;
76
76
  /**
77
- * 워크시트에 이미지를 삽입.
78
- * @param opts.bytes 이미지 바이너리 데이터
79
- * @param opts.ext 이미지 확장자 (png, jpg )
80
- * @param opts.from 이미지 시작 위치 (0-based 행/열 인덱스, rOff/cOff EMU 단위 오프셋)
81
- * @param opts.to 이미지 위치 (생략 from 위치에 원본 크기로 삽입)
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)
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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"}