@cj-tech-master/excelts 1.6.2 → 1.6.3-canary.20251224124621.73c5d94

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 (382) hide show
  1. package/README.md +36 -4
  2. package/README_zh.md +37 -6
  3. package/dist/browser/excelts.esm.js +19115 -0
  4. package/dist/browser/excelts.esm.js.map +1 -0
  5. package/dist/browser/excelts.esm.min.js +127 -0
  6. package/dist/browser/excelts.iife.js +13576 -46968
  7. package/dist/browser/excelts.iife.js.map +1 -1
  8. package/dist/browser/excelts.iife.min.js +25 -105
  9. package/dist/cjs/csv/csv-core.js +701 -0
  10. package/dist/cjs/csv/csv-stream.js +646 -0
  11. package/dist/cjs/csv/csv.base.js +154 -0
  12. package/dist/cjs/csv/csv.browser.js +68 -0
  13. package/dist/cjs/csv/csv.js +226 -162
  14. package/dist/cjs/doc/anchor.js +2 -2
  15. package/dist/cjs/doc/cell.js +22 -22
  16. package/dist/cjs/doc/column.js +7 -7
  17. package/dist/cjs/doc/data-validations.js +3 -3
  18. package/dist/cjs/doc/defined-names.js +13 -13
  19. package/dist/cjs/doc/image.js +7 -7
  20. package/dist/cjs/doc/modelcontainer.js +2 -2
  21. package/dist/cjs/doc/note.js +2 -2
  22. package/dist/cjs/doc/pivot-table.js +5 -5
  23. package/dist/cjs/doc/range.js +11 -11
  24. package/dist/cjs/doc/row.js +16 -16
  25. package/dist/cjs/doc/table.js +5 -5
  26. package/dist/cjs/doc/workbook.base.js +211 -0
  27. package/dist/cjs/doc/workbook.browser.js +62 -0
  28. package/dist/cjs/doc/workbook.js +68 -179
  29. package/dist/cjs/doc/worksheet.js +41 -41
  30. package/dist/cjs/index.js +49 -32
  31. package/dist/cjs/stream/xlsx/hyperlink-reader.js +6 -6
  32. package/dist/cjs/stream/xlsx/sheet-comments-writer.js +12 -12
  33. package/dist/cjs/stream/xlsx/sheet-rels-writer.js +4 -4
  34. package/dist/cjs/stream/xlsx/workbook-reader.js +29 -26
  35. package/dist/cjs/stream/xlsx/workbook-writer.js +71 -57
  36. package/dist/cjs/stream/xlsx/worksheet-reader.js +27 -23
  37. package/dist/cjs/stream/xlsx/worksheet-writer.js +72 -66
  38. package/dist/cjs/utils/browser-buffer.js +75 -0
  39. package/dist/cjs/utils/cell-format.js +2 -2
  40. package/dist/cjs/utils/cell-matrix.js +5 -5
  41. package/dist/cjs/utils/encryptor.browser.js +240 -0
  42. package/dist/cjs/utils/parse-sax.js +2 -2
  43. package/dist/cjs/utils/shared-formula.js +5 -5
  44. package/dist/cjs/utils/sheet-utils.js +13 -13
  45. package/dist/cjs/utils/stream-buf.browser.js +355 -0
  46. package/dist/cjs/utils/stream-buf.js +5 -5
  47. package/dist/cjs/utils/unzip/extract.js +11 -11
  48. package/dist/cjs/utils/unzip/index.js +21 -21
  49. package/dist/cjs/utils/unzip/parse-extra-field.js +3 -3
  50. package/dist/cjs/utils/unzip/parse.js +16 -16
  51. package/dist/cjs/utils/unzip/zip-parser.js +3 -3
  52. package/dist/cjs/utils/utils.base.js +161 -0
  53. package/dist/cjs/utils/utils.browser.js +89 -0
  54. package/dist/cjs/utils/utils.js +46 -154
  55. package/dist/cjs/utils/xml-stream.js +3 -3
  56. package/dist/cjs/utils/zip/compress.base.js +85 -0
  57. package/dist/cjs/utils/zip/compress.browser.js +83 -0
  58. package/dist/cjs/utils/zip/compress.js +18 -198
  59. package/dist/cjs/utils/zip/crc32.browser.js +88 -0
  60. package/dist/cjs/utils/zip/index.js +17 -17
  61. package/dist/cjs/utils/zip/zip-builder.js +10 -10
  62. package/dist/cjs/utils/zip-stream.browser.js +135 -0
  63. package/dist/cjs/utils/zip-stream.js +4 -4
  64. package/dist/cjs/xlsx/xform/base-xform.js +4 -4
  65. package/dist/cjs/xlsx/xform/book/defined-name-xform.js +4 -4
  66. package/dist/cjs/xlsx/xform/book/sheet-xform.js +4 -4
  67. package/dist/cjs/xlsx/xform/book/workbook-calc-properties-xform.js +2 -2
  68. package/dist/cjs/xlsx/xform/book/workbook-pivot-cache-xform.js +2 -2
  69. package/dist/cjs/xlsx/xform/book/workbook-properties-xform.js +2 -2
  70. package/dist/cjs/xlsx/xform/book/workbook-view-xform.js +2 -2
  71. package/dist/cjs/xlsx/xform/book/workbook-xform.js +24 -24
  72. package/dist/cjs/xlsx/xform/comment/comment-xform.js +4 -4
  73. package/dist/cjs/xlsx/xform/comment/comments-xform.js +6 -6
  74. package/dist/cjs/xlsx/xform/comment/style/vml-position-xform.js +2 -2
  75. package/dist/cjs/xlsx/xform/comment/style/vml-protection-xform.js +2 -2
  76. package/dist/cjs/xlsx/xform/comment/vml-anchor-xform.js +2 -2
  77. package/dist/cjs/xlsx/xform/comment/vml-client-data-xform.js +10 -10
  78. package/dist/cjs/xlsx/xform/comment/vml-notes-xform.js +6 -6
  79. package/dist/cjs/xlsx/xform/comment/vml-shape-xform.js +6 -6
  80. package/dist/cjs/xlsx/xform/comment/vml-textbox-xform.js +2 -2
  81. package/dist/cjs/xlsx/xform/composite-xform.js +2 -2
  82. package/dist/cjs/xlsx/xform/core/app-heading-pairs-xform.js +2 -2
  83. package/dist/cjs/xlsx/xform/core/app-titles-of-parts-xform.js +2 -2
  84. package/dist/cjs/xlsx/xform/core/app-xform.js +11 -11
  85. package/dist/cjs/xlsx/xform/core/content-types-xform.js +4 -4
  86. package/dist/cjs/xlsx/xform/core/core-xform.js +23 -23
  87. package/dist/cjs/xlsx/xform/core/relationship-xform.js +2 -2
  88. package/dist/cjs/xlsx/xform/core/relationships-xform.js +6 -6
  89. package/dist/cjs/xlsx/xform/drawing/base-cell-anchor-xform.js +2 -2
  90. package/dist/cjs/xlsx/xform/drawing/blip-fill-xform.js +4 -4
  91. package/dist/cjs/xlsx/xform/drawing/blip-xform.js +2 -2
  92. package/dist/cjs/xlsx/xform/drawing/c-nv-pic-pr-xform.js +2 -2
  93. package/dist/cjs/xlsx/xform/drawing/c-nv-pr-xform.js +6 -6
  94. package/dist/cjs/xlsx/xform/drawing/cell-position-xform.js +7 -7
  95. package/dist/cjs/xlsx/xform/drawing/drawing-xform.js +10 -10
  96. package/dist/cjs/xlsx/xform/drawing/ext-lst-xform.js +2 -2
  97. package/dist/cjs/xlsx/xform/drawing/ext-xform.js +2 -2
  98. package/dist/cjs/xlsx/xform/drawing/hlink-click-xform.js +2 -2
  99. package/dist/cjs/xlsx/xform/drawing/nv-pic-pr-xform.js +6 -6
  100. package/dist/cjs/xlsx/xform/drawing/one-cell-anchor-xform.js +10 -10
  101. package/dist/cjs/xlsx/xform/drawing/pic-xform.js +9 -9
  102. package/dist/cjs/xlsx/xform/drawing/two-cell-anchor-xform.js +9 -9
  103. package/dist/cjs/xlsx/xform/list-xform.js +2 -2
  104. package/dist/cjs/xlsx/xform/pivot-table/cache-field-xform.js +5 -5
  105. package/dist/cjs/xlsx/xform/pivot-table/cache-field.js +3 -3
  106. package/dist/cjs/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +10 -10
  107. package/dist/cjs/xlsx/xform/pivot-table/pivot-cache-records-xform.js +9 -9
  108. package/dist/cjs/xlsx/xform/pivot-table/pivot-table-xform.js +10 -11
  109. package/dist/cjs/xlsx/xform/sheet/auto-filter-xform.js +4 -4
  110. package/dist/cjs/xlsx/xform/sheet/cell-xform.js +65 -65
  111. package/dist/cjs/xlsx/xform/sheet/cf/cf-rule-xform.js +27 -27
  112. package/dist/cjs/xlsx/xform/sheet/cf/cfvo-xform.js +3 -3
  113. package/dist/cjs/xlsx/xform/sheet/cf/color-scale-xform.js +6 -6
  114. package/dist/cjs/xlsx/xform/sheet/cf/conditional-formatting-xform.js +6 -6
  115. package/dist/cjs/xlsx/xform/sheet/cf/conditional-formattings-xform.js +4 -4
  116. package/dist/cjs/xlsx/xform/sheet/cf/databar-xform.js +6 -6
  117. package/dist/cjs/xlsx/xform/sheet/cf/ext-lst-ref-xform.js +5 -5
  118. package/dist/cjs/xlsx/xform/sheet/cf/formula-xform.js +2 -2
  119. package/dist/cjs/xlsx/xform/sheet/cf/icon-set-xform.js +11 -11
  120. package/dist/cjs/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js +3 -3
  121. package/dist/cjs/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +11 -12
  122. package/dist/cjs/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js +4 -4
  123. package/dist/cjs/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js +8 -8
  124. package/dist/cjs/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js +6 -6
  125. package/dist/cjs/xlsx/xform/sheet/cf-ext/databar-ext-xform.js +26 -26
  126. package/dist/cjs/xlsx/xform/sheet/cf-ext/f-ext-xform.js +2 -2
  127. package/dist/cjs/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js +14 -14
  128. package/dist/cjs/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js +2 -2
  129. package/dist/cjs/xlsx/xform/sheet/col-xform.js +6 -6
  130. package/dist/cjs/xlsx/xform/sheet/data-validations-xform.js +18 -18
  131. package/dist/cjs/xlsx/xform/sheet/dimension-xform.js +2 -2
  132. package/dist/cjs/xlsx/xform/sheet/drawing-xform.js +2 -2
  133. package/dist/cjs/xlsx/xform/sheet/ext-lst-xform.js +5 -5
  134. package/dist/cjs/xlsx/xform/sheet/header-footer-xform.js +2 -2
  135. package/dist/cjs/xlsx/xform/sheet/hyperlink-xform.js +2 -2
  136. package/dist/cjs/xlsx/xform/sheet/merge-cell-xform.js +2 -2
  137. package/dist/cjs/xlsx/xform/sheet/merges.js +8 -8
  138. package/dist/cjs/xlsx/xform/sheet/outline-properties-xform.js +2 -2
  139. package/dist/cjs/xlsx/xform/sheet/page-breaks-xform.js +2 -2
  140. package/dist/cjs/xlsx/xform/sheet/page-margins-xform.js +2 -2
  141. package/dist/cjs/xlsx/xform/sheet/page-setup-properties-xform.js +2 -2
  142. package/dist/cjs/xlsx/xform/sheet/page-setup-xform.js +2 -2
  143. package/dist/cjs/xlsx/xform/sheet/picture-xform.js +2 -2
  144. package/dist/cjs/xlsx/xform/sheet/print-options-xform.js +2 -2
  145. package/dist/cjs/xlsx/xform/sheet/row-breaks-xform.js +4 -4
  146. package/dist/cjs/xlsx/xform/sheet/row-xform.js +11 -11
  147. package/dist/cjs/xlsx/xform/sheet/sheet-format-properties-xform.js +2 -2
  148. package/dist/cjs/xlsx/xform/sheet/sheet-properties-xform.js +8 -8
  149. package/dist/cjs/xlsx/xform/sheet/sheet-protection-xform.js +2 -2
  150. package/dist/cjs/xlsx/xform/sheet/sheet-view-xform.js +4 -4
  151. package/dist/cjs/xlsx/xform/sheet/table-part-xform.js +2 -2
  152. package/dist/cjs/xlsx/xform/sheet/worksheet-xform.js +68 -68
  153. package/dist/cjs/xlsx/xform/simple/boolean-xform.js +2 -2
  154. package/dist/cjs/xlsx/xform/simple/date-xform.js +2 -2
  155. package/dist/cjs/xlsx/xform/simple/float-xform.js +2 -2
  156. package/dist/cjs/xlsx/xform/simple/integer-xform.js +2 -2
  157. package/dist/cjs/xlsx/xform/simple/string-xform.js +2 -2
  158. package/dist/cjs/xlsx/xform/static-xform.js +4 -4
  159. package/dist/cjs/xlsx/xform/strings/phonetic-text-xform.js +6 -6
  160. package/dist/cjs/xlsx/xform/strings/rich-text-xform.js +6 -6
  161. package/dist/cjs/xlsx/xform/strings/shared-string-xform.js +8 -8
  162. package/dist/cjs/xlsx/xform/strings/shared-strings-xform.js +6 -6
  163. package/dist/cjs/xlsx/xform/strings/text-xform.js +2 -2
  164. package/dist/cjs/xlsx/xform/style/alignment-xform.js +8 -8
  165. package/dist/cjs/xlsx/xform/style/border-xform.js +8 -8
  166. package/dist/cjs/xlsx/xform/style/color-xform.js +2 -2
  167. package/dist/cjs/xlsx/xform/style/dxf-xform.js +14 -14
  168. package/dist/cjs/xlsx/xform/style/fill-xform.js +9 -9
  169. package/dist/cjs/xlsx/xform/style/font-xform.js +22 -22
  170. package/dist/cjs/xlsx/xform/style/numfmt-xform.js +5 -5
  171. package/dist/cjs/xlsx/xform/style/protection-xform.js +2 -2
  172. package/dist/cjs/xlsx/xform/style/style-xform.js +6 -6
  173. package/dist/cjs/xlsx/xform/style/styles-xform.js +39 -39
  174. package/dist/cjs/xlsx/xform/style/underline-xform.js +2 -2
  175. package/dist/cjs/xlsx/xform/table/auto-filter-xform.js +4 -4
  176. package/dist/cjs/xlsx/xform/table/custom-filter-xform.js +2 -2
  177. package/dist/cjs/xlsx/xform/table/filter-column-xform.js +9 -9
  178. package/dist/cjs/xlsx/xform/table/filter-xform.js +2 -2
  179. package/dist/cjs/xlsx/xform/table/table-column-xform.js +2 -2
  180. package/dist/cjs/xlsx/xform/table/table-style-info-xform.js +2 -2
  181. package/dist/cjs/xlsx/xform/table/table-xform.js +12 -12
  182. package/dist/cjs/xlsx/xlsx.base.js +742 -0
  183. package/dist/cjs/xlsx/xlsx.browser.js +205 -0
  184. package/dist/cjs/xlsx/xlsx.js +91 -833
  185. package/dist/esm/csv/csv-core.js +694 -0
  186. package/dist/esm/csv/csv-stream.js +638 -0
  187. package/dist/esm/csv/csv.base.js +141 -0
  188. package/dist/esm/csv/csv.browser.js +65 -0
  189. package/dist/esm/csv/csv.js +189 -159
  190. package/dist/esm/doc/workbook.base.js +207 -0
  191. package/dist/esm/doc/workbook.browser.js +59 -0
  192. package/dist/esm/doc/workbook.js +64 -175
  193. package/dist/esm/index.browser.js +33 -1
  194. package/dist/esm/index.js +23 -8
  195. package/dist/esm/local.js +0 -1
  196. package/dist/esm/stream/xlsx/hyperlink-reader.js +1 -1
  197. package/dist/esm/stream/xlsx/workbook-reader.js +7 -4
  198. package/dist/esm/stream/xlsx/workbook-writer.js +37 -23
  199. package/dist/esm/stream/xlsx/worksheet-reader.js +12 -8
  200. package/dist/esm/stream/xlsx/worksheet-writer.js +12 -6
  201. package/dist/esm/utils/browser-buffer.js +67 -0
  202. package/dist/esm/utils/encryptor.browser.js +237 -0
  203. package/dist/esm/utils/stream-buf.browser.js +352 -0
  204. package/dist/esm/utils/utils.base.js +142 -0
  205. package/dist/esm/utils/utils.browser.js +68 -0
  206. package/dist/esm/utils/utils.js +15 -123
  207. package/dist/esm/utils/zip/compress.base.js +80 -0
  208. package/dist/esm/utils/zip/compress.browser.js +76 -0
  209. package/dist/esm/utils/zip/compress.js +16 -164
  210. package/dist/esm/utils/zip/crc32.browser.js +82 -0
  211. package/dist/esm/utils/zip-stream.browser.js +132 -0
  212. package/dist/esm/xlsx/xform/pivot-table/pivot-table-xform.js +2 -3
  213. package/dist/esm/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +2 -3
  214. package/dist/esm/xlsx/xlsx.base.js +739 -0
  215. package/dist/esm/xlsx/xlsx.browser.js +202 -0
  216. package/dist/esm/xlsx/xlsx.js +87 -829
  217. package/dist/types/csv/csv-core.d.ts +207 -0
  218. package/dist/types/csv/csv-stream.d.ts +114 -0
  219. package/dist/types/csv/csv.base.d.ts +61 -0
  220. package/dist/types/csv/csv.browser.d.ts +33 -0
  221. package/dist/types/csv/csv.d.ts +97 -71
  222. package/dist/types/doc/anchor.d.ts +1 -1
  223. package/dist/types/doc/cell.d.ts +7 -7
  224. package/dist/types/doc/column.d.ts +3 -3
  225. package/dist/types/doc/defined-names.d.ts +4 -4
  226. package/dist/types/doc/image.d.ts +2 -2
  227. package/dist/types/doc/modelcontainer.d.ts +1 -1
  228. package/dist/types/doc/pivot-table.d.ts +1 -1
  229. package/dist/types/doc/range.d.ts +1 -1
  230. package/dist/types/doc/row.d.ts +3 -3
  231. package/dist/types/doc/table.d.ts +4 -4
  232. package/dist/types/doc/workbook.base.d.ts +111 -0
  233. package/dist/types/doc/workbook.browser.d.ts +38 -0
  234. package/dist/types/doc/workbook.d.ts +62 -92
  235. package/dist/types/doc/worksheet.d.ts +10 -10
  236. package/dist/types/index.browser.d.ts +19 -5
  237. package/dist/types/index.d.ts +24 -20
  238. package/dist/types/local.d.ts +0 -1
  239. package/dist/types/stream/xlsx/hyperlink-reader.d.ts +11 -11
  240. package/dist/types/stream/xlsx/workbook-reader.d.ts +125 -36
  241. package/dist/types/stream/xlsx/workbook-writer.d.ts +105 -22
  242. package/dist/types/stream/xlsx/worksheet-reader.d.ts +40 -22
  243. package/dist/types/stream/xlsx/worksheet-writer.d.ts +83 -49
  244. package/dist/types/types.d.ts +4 -16
  245. package/dist/types/utils/browser-buffer.d.ts +28 -0
  246. package/dist/types/utils/col-cache.d.ts +1 -1
  247. package/dist/types/utils/encryptor.browser.d.ts +28 -0
  248. package/dist/types/utils/sheet-utils.d.ts +3 -3
  249. package/dist/types/utils/stream-buf.browser.d.ts +41 -0
  250. package/dist/types/utils/unzip/extract.d.ts +6 -6
  251. package/dist/types/utils/unzip/index.d.ts +8 -8
  252. package/dist/types/utils/unzip/parse.d.ts +3 -3
  253. package/dist/types/utils/utils.base.d.ts +29 -0
  254. package/dist/types/utils/utils.browser.d.ts +29 -0
  255. package/dist/types/utils/utils.d.ts +6 -25
  256. package/dist/types/utils/zip/compress.base.d.ts +42 -0
  257. package/dist/types/utils/zip/compress.browser.d.ts +54 -0
  258. package/dist/types/utils/zip/compress.d.ts +13 -45
  259. package/dist/types/utils/zip/crc32.browser.d.ts +52 -0
  260. package/dist/types/utils/zip/index.d.ts +5 -5
  261. package/dist/types/utils/zip/zip-builder.d.ts +1 -1
  262. package/dist/types/utils/zip-stream.browser.d.ts +39 -0
  263. package/dist/types/xlsx/xform/base-xform.d.ts +1 -1
  264. package/dist/types/xlsx/xform/book/defined-name-xform.d.ts +1 -1
  265. package/dist/types/xlsx/xform/book/sheet-xform.d.ts +1 -1
  266. package/dist/types/xlsx/xform/book/workbook-calc-properties-xform.d.ts +1 -1
  267. package/dist/types/xlsx/xform/book/workbook-pivot-cache-xform.d.ts +1 -1
  268. package/dist/types/xlsx/xform/book/workbook-properties-xform.d.ts +1 -1
  269. package/dist/types/xlsx/xform/book/workbook-view-xform.d.ts +1 -1
  270. package/dist/types/xlsx/xform/book/workbook-xform.d.ts +2 -2
  271. package/dist/types/xlsx/xform/comment/comment-xform.d.ts +2 -2
  272. package/dist/types/xlsx/xform/comment/comments-xform.d.ts +2 -2
  273. package/dist/types/xlsx/xform/comment/style/vml-position-xform.d.ts +1 -1
  274. package/dist/types/xlsx/xform/comment/style/vml-protection-xform.d.ts +1 -1
  275. package/dist/types/xlsx/xform/comment/vml-anchor-xform.d.ts +1 -1
  276. package/dist/types/xlsx/xform/comment/vml-client-data-xform.d.ts +1 -1
  277. package/dist/types/xlsx/xform/comment/vml-notes-xform.d.ts +1 -1
  278. package/dist/types/xlsx/xform/comment/vml-shape-xform.d.ts +1 -1
  279. package/dist/types/xlsx/xform/comment/vml-textbox-xform.d.ts +1 -1
  280. package/dist/types/xlsx/xform/composite-xform.d.ts +1 -1
  281. package/dist/types/xlsx/xform/core/app-heading-pairs-xform.d.ts +1 -1
  282. package/dist/types/xlsx/xform/core/app-titles-of-parts-xform.d.ts +1 -1
  283. package/dist/types/xlsx/xform/core/app-xform.d.ts +1 -1
  284. package/dist/types/xlsx/xform/core/content-types-xform.d.ts +1 -1
  285. package/dist/types/xlsx/xform/core/core-xform.d.ts +1 -1
  286. package/dist/types/xlsx/xform/core/relationship-xform.d.ts +1 -1
  287. package/dist/types/xlsx/xform/core/relationships-xform.d.ts +1 -1
  288. package/dist/types/xlsx/xform/drawing/base-cell-anchor-xform.d.ts +1 -1
  289. package/dist/types/xlsx/xform/drawing/blip-fill-xform.d.ts +2 -2
  290. package/dist/types/xlsx/xform/drawing/blip-xform.d.ts +1 -1
  291. package/dist/types/xlsx/xform/drawing/c-nv-pic-pr-xform.d.ts +1 -1
  292. package/dist/types/xlsx/xform/drawing/c-nv-pr-xform.d.ts +1 -1
  293. package/dist/types/xlsx/xform/drawing/cell-position-xform.d.ts +2 -2
  294. package/dist/types/xlsx/xform/drawing/drawing-xform.d.ts +1 -1
  295. package/dist/types/xlsx/xform/drawing/ext-lst-xform.d.ts +1 -1
  296. package/dist/types/xlsx/xform/drawing/ext-xform.d.ts +1 -1
  297. package/dist/types/xlsx/xform/drawing/hlink-click-xform.d.ts +1 -1
  298. package/dist/types/xlsx/xform/drawing/nv-pic-pr-xform.d.ts +1 -1
  299. package/dist/types/xlsx/xform/drawing/one-cell-anchor-xform.d.ts +1 -1
  300. package/dist/types/xlsx/xform/drawing/pic-xform.d.ts +1 -1
  301. package/dist/types/xlsx/xform/drawing/two-cell-anchor-xform.d.ts +1 -1
  302. package/dist/types/xlsx/xform/list-xform.d.ts +1 -1
  303. package/dist/types/xlsx/xform/pivot-table/cache-field-xform.d.ts +1 -1
  304. package/dist/types/xlsx/xform/pivot-table/pivot-cache-definition-xform.d.ts +3 -3
  305. package/dist/types/xlsx/xform/pivot-table/pivot-cache-records-xform.d.ts +2 -2
  306. package/dist/types/xlsx/xform/pivot-table/pivot-table-xform.d.ts +1 -1
  307. package/dist/types/xlsx/xform/sheet/auto-filter-xform.d.ts +1 -1
  308. package/dist/types/xlsx/xform/sheet/cell-xform.d.ts +1 -1
  309. package/dist/types/xlsx/xform/sheet/cf/cf-rule-xform.d.ts +6 -6
  310. package/dist/types/xlsx/xform/sheet/cf/cfvo-xform.d.ts +1 -1
  311. package/dist/types/xlsx/xform/sheet/cf/color-scale-xform.d.ts +3 -3
  312. package/dist/types/xlsx/xform/sheet/cf/conditional-formatting-xform.d.ts +1 -1
  313. package/dist/types/xlsx/xform/sheet/cf/conditional-formattings-xform.d.ts +2 -2
  314. package/dist/types/xlsx/xform/sheet/cf/databar-xform.d.ts +3 -3
  315. package/dist/types/xlsx/xform/sheet/cf/ext-lst-ref-xform.d.ts +1 -1
  316. package/dist/types/xlsx/xform/sheet/cf/formula-xform.d.ts +1 -1
  317. package/dist/types/xlsx/xform/sheet/cf/icon-set-xform.d.ts +2 -2
  318. package/dist/types/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.d.ts +1 -1
  319. package/dist/types/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.d.ts +3 -3
  320. package/dist/types/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.d.ts +2 -2
  321. package/dist/types/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.d.ts +3 -3
  322. package/dist/types/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.d.ts +2 -2
  323. package/dist/types/xlsx/xform/sheet/cf-ext/databar-ext-xform.d.ts +3 -3
  324. package/dist/types/xlsx/xform/sheet/cf-ext/f-ext-xform.d.ts +1 -1
  325. package/dist/types/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.d.ts +3 -3
  326. package/dist/types/xlsx/xform/sheet/cf-ext/sqref-ext-xform.d.ts +1 -1
  327. package/dist/types/xlsx/xform/sheet/col-xform.d.ts +1 -1
  328. package/dist/types/xlsx/xform/sheet/data-validations-xform.d.ts +1 -1
  329. package/dist/types/xlsx/xform/sheet/dimension-xform.d.ts +1 -1
  330. package/dist/types/xlsx/xform/sheet/drawing-xform.d.ts +1 -1
  331. package/dist/types/xlsx/xform/sheet/ext-lst-xform.d.ts +1 -1
  332. package/dist/types/xlsx/xform/sheet/header-footer-xform.d.ts +1 -1
  333. package/dist/types/xlsx/xform/sheet/hyperlink-xform.d.ts +1 -1
  334. package/dist/types/xlsx/xform/sheet/merge-cell-xform.d.ts +1 -1
  335. package/dist/types/xlsx/xform/sheet/outline-properties-xform.d.ts +1 -1
  336. package/dist/types/xlsx/xform/sheet/page-breaks-xform.d.ts +1 -1
  337. package/dist/types/xlsx/xform/sheet/page-margins-xform.d.ts +1 -1
  338. package/dist/types/xlsx/xform/sheet/page-setup-properties-xform.d.ts +1 -1
  339. package/dist/types/xlsx/xform/sheet/page-setup-xform.d.ts +1 -1
  340. package/dist/types/xlsx/xform/sheet/picture-xform.d.ts +1 -1
  341. package/dist/types/xlsx/xform/sheet/print-options-xform.d.ts +1 -1
  342. package/dist/types/xlsx/xform/sheet/row-breaks-xform.d.ts +1 -1
  343. package/dist/types/xlsx/xform/sheet/row-xform.d.ts +1 -1
  344. package/dist/types/xlsx/xform/sheet/sheet-format-properties-xform.d.ts +1 -1
  345. package/dist/types/xlsx/xform/sheet/sheet-properties-xform.d.ts +1 -1
  346. package/dist/types/xlsx/xform/sheet/sheet-protection-xform.d.ts +1 -1
  347. package/dist/types/xlsx/xform/sheet/sheet-view-xform.d.ts +1 -1
  348. package/dist/types/xlsx/xform/sheet/table-part-xform.d.ts +1 -1
  349. package/dist/types/xlsx/xform/sheet/worksheet-xform.d.ts +1 -1
  350. package/dist/types/xlsx/xform/simple/boolean-xform.d.ts +1 -1
  351. package/dist/types/xlsx/xform/simple/date-xform.d.ts +1 -1
  352. package/dist/types/xlsx/xform/simple/float-xform.d.ts +1 -1
  353. package/dist/types/xlsx/xform/simple/integer-xform.d.ts +1 -1
  354. package/dist/types/xlsx/xform/simple/string-xform.d.ts +1 -1
  355. package/dist/types/xlsx/xform/static-xform.d.ts +1 -1
  356. package/dist/types/xlsx/xform/strings/phonetic-text-xform.d.ts +1 -1
  357. package/dist/types/xlsx/xform/strings/rich-text-xform.d.ts +3 -3
  358. package/dist/types/xlsx/xform/strings/shared-string-xform.d.ts +1 -1
  359. package/dist/types/xlsx/xform/strings/shared-strings-xform.d.ts +2 -2
  360. package/dist/types/xlsx/xform/strings/text-xform.d.ts +1 -1
  361. package/dist/types/xlsx/xform/style/alignment-xform.d.ts +1 -1
  362. package/dist/types/xlsx/xform/style/border-xform.d.ts +2 -2
  363. package/dist/types/xlsx/xform/style/color-xform.d.ts +1 -1
  364. package/dist/types/xlsx/xform/style/dxf-xform.d.ts +1 -1
  365. package/dist/types/xlsx/xform/style/fill-xform.d.ts +2 -2
  366. package/dist/types/xlsx/xform/style/font-xform.d.ts +1 -1
  367. package/dist/types/xlsx/xform/style/numfmt-xform.d.ts +1 -1
  368. package/dist/types/xlsx/xform/style/protection-xform.d.ts +1 -1
  369. package/dist/types/xlsx/xform/style/style-xform.d.ts +3 -3
  370. package/dist/types/xlsx/xform/style/styles-xform.d.ts +2 -2
  371. package/dist/types/xlsx/xform/style/underline-xform.d.ts +1 -1
  372. package/dist/types/xlsx/xform/table/auto-filter-xform.d.ts +2 -2
  373. package/dist/types/xlsx/xform/table/custom-filter-xform.d.ts +1 -1
  374. package/dist/types/xlsx/xform/table/filter-column-xform.d.ts +2 -2
  375. package/dist/types/xlsx/xform/table/filter-xform.d.ts +1 -1
  376. package/dist/types/xlsx/xform/table/table-column-xform.d.ts +1 -1
  377. package/dist/types/xlsx/xform/table/table-style-info-xform.d.ts +1 -1
  378. package/dist/types/xlsx/xform/table/table-xform.d.ts +1 -1
  379. package/dist/types/xlsx/xlsx.base.d.ts +134 -0
  380. package/dist/types/xlsx/xlsx.browser.d.ts +31 -0
  381. package/dist/types/xlsx/xlsx.d.ts +20 -80
  382. package/package.json +13 -15
@@ -6,19 +6,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.WorkbookWriter = void 0;
7
7
  const fs_1 = __importDefault(require("fs"));
8
8
  const fflate_1 = require("fflate");
9
- const stream_buf_js_1 = require("../../utils/stream-buf");
10
- const rel_type_js_1 = require("../../xlsx/rel-type");
11
- const styles_xform_js_1 = require("../../xlsx/xform/style/styles-xform");
12
- const shared_strings_js_1 = require("../../utils/shared-strings");
13
- const defined_names_js_1 = require("../../doc/defined-names");
14
- const core_xform_js_1 = require("../../xlsx/xform/core/core-xform");
15
- const relationships_xform_js_1 = require("../../xlsx/xform/core/relationships-xform");
16
- const content_types_xform_js_1 = require("../../xlsx/xform/core/content-types-xform");
17
- const app_xform_js_1 = require("../../xlsx/xform/core/app-xform");
18
- const workbook_xform_js_1 = require("../../xlsx/xform/book/workbook-xform");
19
- const shared_strings_xform_js_1 = require("../../xlsx/xform/strings/shared-strings-xform");
20
- const worksheet_writer_js_1 = require("./worksheet-writer");
21
- const theme1_js_1 = require("../../xlsx/xml/theme1");
9
+ const stream_buf_1 = require("../../utils/stream-buf");
10
+ const rel_type_1 = require("../../xlsx/rel-type");
11
+ const styles_xform_1 = require("../../xlsx/xform/style/styles-xform");
12
+ const shared_strings_1 = require("../../utils/shared-strings");
13
+ const defined_names_1 = require("../../doc/defined-names");
14
+ const core_xform_1 = require("../../xlsx/xform/core/core-xform");
15
+ const relationships_xform_1 = require("../../xlsx/xform/core/relationships-xform");
16
+ const content_types_xform_1 = require("../../xlsx/xform/core/content-types-xform");
17
+ const app_xform_1 = require("../../xlsx/xform/core/app-xform");
18
+ const workbook_xform_1 = require("../../xlsx/xform/book/workbook-xform");
19
+ const shared_strings_xform_1 = require("../../xlsx/xform/strings/shared-strings-xform");
20
+ const worksheet_writer_1 = require("./worksheet-writer");
21
+ const theme1_1 = require("../../xlsx/xml/theme1");
22
22
  class WorkbookWriter {
23
23
  constructor(options = {}) {
24
24
  this.created = options.created || new Date();
@@ -28,11 +28,11 @@ class WorkbookWriter {
28
28
  this.lastPrinted = options.lastPrinted;
29
29
  // using shared strings creates a smaller xlsx file but may use more memory
30
30
  this.useSharedStrings = options.useSharedStrings || false;
31
- this.sharedStrings = new shared_strings_js_1.SharedStrings();
31
+ this.sharedStrings = new shared_strings_1.SharedStrings();
32
32
  // style manager
33
- this.styles = options.useStyles ? new styles_xform_js_1.StylesXform(true) : new styles_xform_js_1.StylesXform.Mock(true);
33
+ this.styles = options.useStyles ? new styles_xform_1.StylesXform(true) : new styles_xform_1.StylesXform.Mock(true);
34
34
  // defined names
35
- this._definedNames = new defined_names_js_1.DefinedNames();
35
+ this._definedNames = new defined_names_1.DefinedNames();
36
36
  this._worksheets = [];
37
37
  this.views = [];
38
38
  this.zipOptions = options.zip;
@@ -62,7 +62,7 @@ class WorkbookWriter {
62
62
  this.stream = fs_1.default.createWriteStream(options.filename);
63
63
  }
64
64
  else {
65
- this.stream = new stream_buf_js_1.StreamBuf();
65
+ this.stream = new stream_buf_1.StreamBuf();
66
66
  }
67
67
  // these bits can be added right now
68
68
  this.promise = Promise.all([this.addThemes(), this.addOfficeRels()]);
@@ -71,7 +71,7 @@ class WorkbookWriter {
71
71
  return this._definedNames;
72
72
  }
73
73
  _openStream(path) {
74
- const stream = new stream_buf_js_1.StreamBuf({ bufSize: 65536, batch: true });
74
+ const stream = new stream_buf_1.StreamBuf({ bufSize: 65536, batch: true });
75
75
  // Create a ZipDeflate for this file with compression
76
76
  const zipFile = new fflate_1.ZipDeflate(path, { level: this.compressionLevel });
77
77
  this.zip.add(zipFile);
@@ -98,14 +98,14 @@ class WorkbookWriter {
98
98
  let buffer;
99
99
  if (base64) {
100
100
  // Use Buffer.from for efficient base64 decoding
101
- const base64Data = typeof data === "string" ? data : data.toString();
101
+ const base64Data = typeof data === "string" ? data : new TextDecoder().decode(data);
102
102
  buffer = Buffer.from(base64Data, "base64");
103
103
  }
104
104
  else if (typeof data === "string") {
105
105
  buffer = Buffer.from(data, "utf8");
106
106
  }
107
107
  else {
108
- buffer = new Uint8Array(data);
108
+ buffer = data;
109
109
  }
110
110
  zipFile.push(buffer, true); // true = final chunk
111
111
  }
@@ -125,15 +125,15 @@ class WorkbookWriter {
125
125
  // if there are any uncommitted worksheets, commit them now and wait
126
126
  const promises = this._worksheets.map(commitWorksheet);
127
127
  if (promises.length) {
128
- return Promise.all(promises);
128
+ return Promise.all(promises).then(() => { });
129
129
  }
130
130
  return Promise.resolve();
131
131
  }
132
132
  async commit() {
133
- // commit all worksheets, then add suplimentary files
133
+ // commit all worksheets, then add supplementary files
134
134
  await this.promise;
135
- await this.addMedia();
136
135
  await this._commitWorksheets();
136
+ await this.addMedia();
137
137
  await Promise.all([
138
138
  this.addContentTypes(),
139
139
  this.addApp(),
@@ -155,46 +155,60 @@ class WorkbookWriter {
155
155
  }
156
156
  return this._worksheets.length || 1;
157
157
  }
158
+ /**
159
+ * Add Image to Workbook and return the id
160
+ */
158
161
  addImage(image) {
159
162
  const id = this.media.length;
160
- const medium = Object.assign({}, image, {
163
+ const medium = {
164
+ ...image,
161
165
  type: "image",
162
166
  name: `image${id}.${image.extension}`
163
- });
167
+ };
164
168
  this.media.push(medium);
165
169
  return id;
166
170
  }
171
+ /**
172
+ * Get image by id
173
+ */
167
174
  getImage(id) {
168
175
  return this.media[id];
169
176
  }
170
- addWorksheet(name, options = {}) {
177
+ /**
178
+ * Add a new worksheet and return a reference to it
179
+ */
180
+ addWorksheet(name, options) {
171
181
  // it's possible to add a worksheet with different than default
172
182
  // shared string handling
173
183
  // in fact, it's even possible to switch it mid-sheet
174
- const useSharedStrings = options.useSharedStrings !== undefined ? options.useSharedStrings : this.useSharedStrings;
175
- if (options.tabColor) {
184
+ const opts = options || {};
185
+ const useSharedStrings = opts.useSharedStrings !== undefined ? opts.useSharedStrings : this.useSharedStrings;
186
+ if (opts.tabColor) {
176
187
  console.trace("tabColor option has moved to { properties: tabColor: {...} }");
177
- options.properties = Object.assign({
178
- tabColor: options.tabColor
179
- }, options.properties);
188
+ opts.properties = Object.assign({
189
+ tabColor: opts.tabColor
190
+ }, opts.properties);
180
191
  }
181
192
  const id = this.nextId;
182
193
  name = name || `sheet${id}`;
183
- const worksheet = new worksheet_writer_js_1.WorksheetWriter({
194
+ const worksheet = new worksheet_writer_1.WorksheetWriter({
184
195
  id,
185
196
  name,
186
197
  workbook: this,
187
198
  useSharedStrings,
188
- properties: options.properties,
189
- state: options.state,
190
- pageSetup: options.pageSetup,
191
- views: options.views,
192
- autoFilter: options.autoFilter,
193
- headerFooter: options.headerFooter
199
+ properties: opts.properties,
200
+ state: opts.state,
201
+ pageSetup: opts.pageSetup,
202
+ views: opts.views,
203
+ autoFilter: opts.autoFilter,
204
+ headerFooter: opts.headerFooter
194
205
  });
195
206
  this._worksheets[id] = worksheet;
196
207
  return worksheet;
197
208
  }
209
+ /**
210
+ * Fetch sheet by name or id
211
+ */
198
212
  getWorksheet(id) {
199
213
  if (id === undefined) {
200
214
  return this._worksheets.find(() => true);
@@ -203,7 +217,7 @@ class WorkbookWriter {
203
217
  return this._worksheets[id];
204
218
  }
205
219
  if (typeof id === "string") {
206
- return this._worksheets.find((worksheet) => worksheet && worksheet.name === id);
220
+ return this._worksheets.find(worksheet => worksheet && worksheet.name === id);
207
221
  }
208
222
  return undefined;
209
223
  }
@@ -215,17 +229,17 @@ class WorkbookWriter {
215
229
  }
216
230
  addThemes() {
217
231
  return new Promise(resolve => {
218
- this._addFile(theme1_js_1.theme1Xml, "xl/theme/theme1.xml");
232
+ this._addFile(theme1_1.theme1Xml, "xl/theme/theme1.xml");
219
233
  resolve();
220
234
  });
221
235
  }
222
236
  addOfficeRels() {
223
237
  return new Promise(resolve => {
224
- const xform = new relationships_xform_js_1.RelationshipsXform();
238
+ const xform = new relationships_xform_1.RelationshipsXform();
225
239
  const xml = xform.toXml([
226
- { Id: "rId1", Type: rel_type_js_1.RelType.OfficeDocument, Target: "xl/workbook.xml" },
227
- { Id: "rId2", Type: rel_type_js_1.RelType.CoreProperties, Target: "docProps/core.xml" },
228
- { Id: "rId3", Type: rel_type_js_1.RelType.ExtenderProperties, Target: "docProps/app.xml" }
240
+ { Id: "rId1", Type: rel_type_1.RelType.OfficeDocument, Target: "xl/workbook.xml" },
241
+ { Id: "rId2", Type: rel_type_1.RelType.CoreProperties, Target: "docProps/core.xml" },
242
+ { Id: "rId3", Type: rel_type_1.RelType.ExtenderProperties, Target: "docProps/app.xml" }
229
243
  ]);
230
244
  this._addFile(xml, "_rels/.rels");
231
245
  resolve();
@@ -239,7 +253,7 @@ class WorkbookWriter {
239
253
  commentRefs: this.commentRefs,
240
254
  media: this.media
241
255
  };
242
- const xform = new content_types_xform_js_1.ContentTypesXform();
256
+ const xform = new content_types_xform_1.ContentTypesXform();
243
257
  const xml = xform.toXml(model);
244
258
  this._addFile(xml, "[Content_Types].xml");
245
259
  resolve();
@@ -256,7 +270,7 @@ class WorkbookWriter {
256
270
  reject(err);
257
271
  }
258
272
  else {
259
- resolve(data);
273
+ resolve(new Uint8Array(data));
260
274
  }
261
275
  });
262
276
  });
@@ -265,13 +279,13 @@ class WorkbookWriter {
265
279
  }
266
280
  if (medium.buffer) {
267
281
  this._addFile(medium.buffer, filename);
268
- return Promise.resolve();
282
+ return;
269
283
  }
270
284
  if (medium.base64) {
271
285
  const dataimg64 = medium.base64;
272
286
  const content = dataimg64.substring(dataimg64.indexOf(",") + 1);
273
287
  this._addFile(content, filename, true);
274
- return Promise.resolve();
288
+ return;
275
289
  }
276
290
  }
277
291
  throw new Error("Unsupported media");
@@ -282,7 +296,7 @@ class WorkbookWriter {
282
296
  const model = {
283
297
  worksheets: this._worksheets.filter(Boolean)
284
298
  };
285
- const xform = new app_xform_js_1.AppXform();
299
+ const xform = new app_xform_1.AppXform();
286
300
  const xml = xform.toXml(model);
287
301
  this._addFile(xml, "docProps/app.xml");
288
302
  resolve();
@@ -290,7 +304,7 @@ class WorkbookWriter {
290
304
  }
291
305
  addCore() {
292
306
  return new Promise(resolve => {
293
- const coreXform = new core_xform_js_1.CoreXform();
307
+ const coreXform = new core_xform_1.CoreXform();
294
308
  const xml = coreXform.toXml(this);
295
309
  this._addFile(xml, "docProps/core.xml");
296
310
  resolve();
@@ -299,7 +313,7 @@ class WorkbookWriter {
299
313
  addSharedStrings() {
300
314
  if (this.sharedStrings.count) {
301
315
  return new Promise(resolve => {
302
- const sharedStringsXform = new shared_strings_xform_js_1.SharedStringsXform();
316
+ const sharedStringsXform = new shared_strings_xform_1.SharedStringsXform();
303
317
  const xml = sharedStringsXform.toXml(this.sharedStrings);
304
318
  this._addFile(xml, "xl/sharedStrings.xml");
305
319
  resolve();
@@ -310,13 +324,13 @@ class WorkbookWriter {
310
324
  addWorkbookRels() {
311
325
  let count = 1;
312
326
  const relationships = [
313
- { Id: `rId${count++}`, Type: rel_type_js_1.RelType.Styles, Target: "styles.xml" },
314
- { Id: `rId${count++}`, Type: rel_type_js_1.RelType.Theme, Target: "theme/theme1.xml" }
327
+ { Id: `rId${count++}`, Type: rel_type_1.RelType.Styles, Target: "styles.xml" },
328
+ { Id: `rId${count++}`, Type: rel_type_1.RelType.Theme, Target: "theme/theme1.xml" }
315
329
  ];
316
330
  if (this.sharedStrings.count) {
317
331
  relationships.push({
318
332
  Id: `rId${count++}`,
319
- Type: rel_type_js_1.RelType.SharedStrings,
333
+ Type: rel_type_1.RelType.SharedStrings,
320
334
  Target: "sharedStrings.xml"
321
335
  });
322
336
  }
@@ -325,13 +339,13 @@ class WorkbookWriter {
325
339
  worksheet.rId = `rId${count++}`;
326
340
  relationships.push({
327
341
  Id: worksheet.rId,
328
- Type: rel_type_js_1.RelType.Worksheet,
342
+ Type: rel_type_1.RelType.Worksheet,
329
343
  Target: `worksheets/sheet${worksheet.id}.xml`
330
344
  });
331
345
  }
332
346
  });
333
347
  return new Promise(resolve => {
334
- const xform = new relationships_xform_js_1.RelationshipsXform();
348
+ const xform = new relationships_xform_1.RelationshipsXform();
335
349
  const xml = xform.toXml(relationships);
336
350
  this._addFile(xml, "xl/_rels/workbook.xml.rels");
337
351
  resolve();
@@ -346,7 +360,7 @@ class WorkbookWriter {
346
360
  calcProperties: {}
347
361
  };
348
362
  return new Promise(resolve => {
349
- const xform = new workbook_xform_js_1.WorkbookXform();
363
+ const xform = new workbook_xform_1.WorkbookXform();
350
364
  xform.prepare(model);
351
365
  this._addFile(xform.toXml(model), "xl/workbook.xml");
352
366
  resolve();
@@ -2,12 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WorksheetReader = void 0;
4
4
  const events_1 = require("events");
5
- const parse_sax_js_1 = require("../../utils/parse-sax");
6
- const utils_js_1 = require("../../utils/utils");
7
- const col_cache_js_1 = require("../../utils/col-cache");
8
- const range_js_1 = require("../../doc/range");
9
- const row_js_1 = require("../../doc/row");
10
- const column_js_1 = require("../../doc/column");
5
+ const parse_sax_1 = require("../../utils/parse-sax");
6
+ const utils_1 = require("../../utils/utils");
7
+ const col_cache_1 = require("../../utils/col-cache");
8
+ const range_1 = require("../../doc/range");
9
+ const row_1 = require("../../doc/row");
10
+ const column_1 = require("../../doc/column");
11
11
  class WorksheetReader extends events_1.EventEmitter {
12
12
  constructor({ workbook, id, iterator, options }) {
13
13
  super();
@@ -21,14 +21,14 @@ class WorksheetReader extends events_1.EventEmitter {
21
21
  this._columns = null;
22
22
  this._keys = {};
23
23
  // keep a record of dimensions
24
- this._dimensions = new range_js_1.Dimensions();
24
+ this._dimensions = new range_1.Dimensions();
25
25
  }
26
26
  // destroy - not a valid operation for a streaming writer
27
27
  // even though some streamers might be able to, it's a bad idea.
28
28
  destroy() {
29
29
  throw new Error("Invalid Operation: destroy");
30
30
  }
31
- // return the current dimensions of the writer
31
+ // return the current dimensions of the reader
32
32
  get dimensions() {
33
33
  return this._dimensions;
34
34
  }
@@ -47,8 +47,8 @@ class WorksheetReader extends events_1.EventEmitter {
47
47
  if (col) {
48
48
  return col;
49
49
  }
50
- // otherise, assume letter
51
- c = col_cache_js_1.colCache.l2n(c);
50
+ // otherwise, assume letter
51
+ c = col_cache_1.colCache.l2n(c);
52
52
  }
53
53
  if (!this._columns) {
54
54
  this._columns = [];
@@ -56,7 +56,7 @@ class WorksheetReader extends events_1.EventEmitter {
56
56
  if (c > this._columns.length) {
57
57
  let n = this._columns.length + 1;
58
58
  while (n <= c) {
59
- this._columns.push(new column_js_1.Column(this, n++));
59
+ this._columns.push(new column_1.Column(this, n++));
60
60
  }
61
61
  }
62
62
  return this._columns[c - 1];
@@ -88,9 +88,9 @@ class WorksheetReader extends events_1.EventEmitter {
88
88
  }
89
89
  async *[Symbol.asyncIterator]() {
90
90
  for await (const events of this.parse()) {
91
- for (const { eventType, value } of events) {
92
- if (eventType === "row") {
93
- yield value;
91
+ for (const event of events) {
92
+ if (event.eventType === "row") {
93
+ yield event.value;
94
94
  }
95
95
  }
96
96
  }
@@ -133,7 +133,7 @@ class WorksheetReader extends events_1.EventEmitter {
133
133
  let row = null;
134
134
  let c = null;
135
135
  let current = null;
136
- for await (const events of (0, parse_sax_js_1.parseSax)(iterator)) {
136
+ for await (const events of (0, parse_sax_1.parseSax)(iterator)) {
137
137
  const worksheetEvents = [];
138
138
  for (const { eventType, value } of events) {
139
139
  if (eventType === "opentag") {
@@ -160,7 +160,7 @@ class WorksheetReader extends events_1.EventEmitter {
160
160
  case "row":
161
161
  if (inRows) {
162
162
  const r = parseInt(node.attributes.r, 10);
163
- row = new row_js_1.Row(this, r);
163
+ row = new row_1.Row(this, r);
164
164
  if (node.attributes.ht) {
165
165
  row.height = parseFloat(node.attributes.ht);
166
166
  }
@@ -244,7 +244,7 @@ class WorksheetReader extends events_1.EventEmitter {
244
244
  switch (node.name) {
245
245
  case "cols":
246
246
  inCols = false;
247
- this._columns = column_js_1.Column.fromModel(cols);
247
+ this._columns = column_1.Column.fromModel(cols);
248
248
  break;
249
249
  case "sheetData":
250
250
  inRows = false;
@@ -256,7 +256,7 @@ class WorksheetReader extends events_1.EventEmitter {
256
256
  break;
257
257
  case "c":
258
258
  if (row && c) {
259
- const address = col_cache_js_1.colCache.decodeAddress(c.ref);
259
+ const address = col_cache_1.colCache.decodeAddress(c.ref);
260
260
  const cell = row.getCell(address.col);
261
261
  if (c.s) {
262
262
  const style = styles.getStyleModel(c.s);
@@ -270,7 +270,7 @@ class WorksheetReader extends events_1.EventEmitter {
270
270
  };
271
271
  if (c.v) {
272
272
  if (c.t === "str") {
273
- cellValue.result = (0, utils_js_1.xmlDecode)(c.v.text);
273
+ cellValue.result = (0, utils_1.xmlDecode)(c.v.text);
274
274
  }
275
275
  else {
276
276
  cellValue.result = parseFloat(c.v.text);
@@ -286,6 +286,7 @@ class WorksheetReader extends events_1.EventEmitter {
286
286
  cell.value = sharedStrings[index];
287
287
  }
288
288
  else {
289
+ // Streaming format - unresolved shared string reference
289
290
  cell.value = {
290
291
  sharedString: index
291
292
  };
@@ -294,7 +295,7 @@ class WorksheetReader extends events_1.EventEmitter {
294
295
  }
295
296
  case "inlineStr":
296
297
  case "str":
297
- cell.value = (0, utils_js_1.xmlDecode)(c.v.text);
298
+ cell.value = (0, utils_1.xmlDecode)(c.v.text);
298
299
  break;
299
300
  case "e":
300
301
  cell.value = { error: c.v.text };
@@ -302,19 +303,22 @@ class WorksheetReader extends events_1.EventEmitter {
302
303
  case "b":
303
304
  cell.value = parseInt(c.v.text, 10) !== 0;
304
305
  break;
305
- default:
306
- if ((0, utils_js_1.isDateFmt)(cell.numFmt)) {
307
- cell.value = (0, utils_js_1.excelToDate)(parseFloat(c.v.text), properties.model && properties.model.date1904);
306
+ default: {
307
+ const numFmtStr = typeof cell.numFmt === "string" ? cell.numFmt : cell.numFmt?.formatCode;
308
+ if (numFmtStr && (0, utils_1.isDateFmt)(numFmtStr)) {
309
+ cell.value = (0, utils_1.excelToDate)(parseFloat(c.v.text), properties?.model?.date1904);
308
310
  }
309
311
  else {
310
312
  cell.value = parseFloat(c.v.text);
311
313
  }
312
314
  break;
315
+ }
313
316
  }
314
317
  }
315
318
  if (hyperlinks) {
316
319
  const hyperlink = hyperlinks[c.ref];
317
320
  if (hyperlink) {
321
+ // Streaming-specific: assign text and hyperlink for further processing
318
322
  cell.text = cell.value;
319
323
  cell.value = undefined;
320
324
  cell.hyperlink = hyperlink;