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

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 (376) hide show
  1. package/README.md +18 -31
  2. package/README_zh.md +19 -31
  3. package/dist/browser/excelts.iife.js +40910 -7518
  4. package/dist/browser/excelts.iife.js.map +1 -1
  5. package/dist/browser/excelts.iife.min.js +105 -25
  6. package/dist/cjs/csv/csv.js +162 -226
  7. package/dist/cjs/doc/anchor.js +2 -2
  8. package/dist/cjs/doc/cell.js +22 -22
  9. package/dist/cjs/doc/column.js +7 -7
  10. package/dist/cjs/doc/data-validations.js +3 -3
  11. package/dist/cjs/doc/defined-names.js +13 -13
  12. package/dist/cjs/doc/image.js +7 -7
  13. package/dist/cjs/doc/modelcontainer.js +2 -2
  14. package/dist/cjs/doc/note.js +2 -2
  15. package/dist/cjs/doc/pivot-table.js +5 -5
  16. package/dist/cjs/doc/range.js +11 -11
  17. package/dist/cjs/doc/row.js +16 -16
  18. package/dist/cjs/doc/table.js +5 -5
  19. package/dist/cjs/doc/workbook.js +179 -68
  20. package/dist/cjs/doc/worksheet.js +41 -41
  21. package/dist/cjs/index.js +32 -49
  22. package/dist/cjs/stream/xlsx/hyperlink-reader.js +6 -6
  23. package/dist/cjs/stream/xlsx/sheet-comments-writer.js +12 -12
  24. package/dist/cjs/stream/xlsx/sheet-rels-writer.js +4 -4
  25. package/dist/cjs/stream/xlsx/workbook-reader.js +22 -22
  26. package/dist/cjs/stream/xlsx/workbook-writer.js +34 -34
  27. package/dist/cjs/stream/xlsx/worksheet-reader.js +17 -17
  28. package/dist/cjs/stream/xlsx/worksheet-writer.js +60 -60
  29. package/dist/cjs/utils/cell-format.js +2 -2
  30. package/dist/cjs/utils/cell-matrix.js +5 -5
  31. package/dist/cjs/utils/parse-sax.js +2 -2
  32. package/dist/cjs/utils/shared-formula.js +5 -5
  33. package/dist/cjs/utils/sheet-utils.js +13 -13
  34. package/dist/cjs/utils/stream-buf.js +5 -5
  35. package/dist/cjs/utils/unzip/extract.js +11 -11
  36. package/dist/cjs/utils/unzip/index.js +21 -21
  37. package/dist/cjs/utils/unzip/parse-extra-field.js +3 -3
  38. package/dist/cjs/utils/unzip/parse.js +16 -16
  39. package/dist/cjs/utils/unzip/zip-parser.js +3 -3
  40. package/dist/cjs/utils/utils.js +154 -46
  41. package/dist/cjs/utils/xml-stream.js +3 -3
  42. package/dist/cjs/utils/zip/compress.js +198 -18
  43. package/dist/cjs/utils/zip/index.js +17 -17
  44. package/dist/cjs/utils/zip/zip-builder.js +10 -10
  45. package/dist/cjs/utils/zip-stream.js +4 -4
  46. package/dist/cjs/xlsx/xform/base-xform.js +4 -4
  47. package/dist/cjs/xlsx/xform/book/defined-name-xform.js +4 -4
  48. package/dist/cjs/xlsx/xform/book/sheet-xform.js +4 -4
  49. package/dist/cjs/xlsx/xform/book/workbook-calc-properties-xform.js +2 -2
  50. package/dist/cjs/xlsx/xform/book/workbook-pivot-cache-xform.js +2 -2
  51. package/dist/cjs/xlsx/xform/book/workbook-properties-xform.js +2 -2
  52. package/dist/cjs/xlsx/xform/book/workbook-view-xform.js +2 -2
  53. package/dist/cjs/xlsx/xform/book/workbook-xform.js +24 -24
  54. package/dist/cjs/xlsx/xform/comment/comment-xform.js +4 -4
  55. package/dist/cjs/xlsx/xform/comment/comments-xform.js +6 -6
  56. package/dist/cjs/xlsx/xform/comment/style/vml-position-xform.js +2 -2
  57. package/dist/cjs/xlsx/xform/comment/style/vml-protection-xform.js +2 -2
  58. package/dist/cjs/xlsx/xform/comment/vml-anchor-xform.js +2 -2
  59. package/dist/cjs/xlsx/xform/comment/vml-client-data-xform.js +10 -10
  60. package/dist/cjs/xlsx/xform/comment/vml-notes-xform.js +6 -6
  61. package/dist/cjs/xlsx/xform/comment/vml-shape-xform.js +6 -6
  62. package/dist/cjs/xlsx/xform/comment/vml-textbox-xform.js +2 -2
  63. package/dist/cjs/xlsx/xform/composite-xform.js +2 -2
  64. package/dist/cjs/xlsx/xform/core/app-heading-pairs-xform.js +2 -2
  65. package/dist/cjs/xlsx/xform/core/app-titles-of-parts-xform.js +2 -2
  66. package/dist/cjs/xlsx/xform/core/app-xform.js +11 -11
  67. package/dist/cjs/xlsx/xform/core/content-types-xform.js +4 -4
  68. package/dist/cjs/xlsx/xform/core/core-xform.js +23 -23
  69. package/dist/cjs/xlsx/xform/core/relationship-xform.js +2 -2
  70. package/dist/cjs/xlsx/xform/core/relationships-xform.js +6 -6
  71. package/dist/cjs/xlsx/xform/drawing/base-cell-anchor-xform.js +2 -2
  72. package/dist/cjs/xlsx/xform/drawing/blip-fill-xform.js +4 -4
  73. package/dist/cjs/xlsx/xform/drawing/blip-xform.js +2 -2
  74. package/dist/cjs/xlsx/xform/drawing/c-nv-pic-pr-xform.js +2 -2
  75. package/dist/cjs/xlsx/xform/drawing/c-nv-pr-xform.js +6 -6
  76. package/dist/cjs/xlsx/xform/drawing/cell-position-xform.js +7 -7
  77. package/dist/cjs/xlsx/xform/drawing/drawing-xform.js +10 -10
  78. package/dist/cjs/xlsx/xform/drawing/ext-lst-xform.js +2 -2
  79. package/dist/cjs/xlsx/xform/drawing/ext-xform.js +2 -2
  80. package/dist/cjs/xlsx/xform/drawing/hlink-click-xform.js +2 -2
  81. package/dist/cjs/xlsx/xform/drawing/nv-pic-pr-xform.js +6 -6
  82. package/dist/cjs/xlsx/xform/drawing/one-cell-anchor-xform.js +10 -10
  83. package/dist/cjs/xlsx/xform/drawing/pic-xform.js +9 -9
  84. package/dist/cjs/xlsx/xform/drawing/two-cell-anchor-xform.js +9 -9
  85. package/dist/cjs/xlsx/xform/list-xform.js +2 -2
  86. package/dist/cjs/xlsx/xform/pivot-table/cache-field-xform.js +5 -5
  87. package/dist/cjs/xlsx/xform/pivot-table/cache-field.js +3 -3
  88. package/dist/cjs/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +10 -10
  89. package/dist/cjs/xlsx/xform/pivot-table/pivot-cache-records-xform.js +9 -9
  90. package/dist/cjs/xlsx/xform/pivot-table/pivot-table-xform.js +11 -10
  91. package/dist/cjs/xlsx/xform/sheet/auto-filter-xform.js +4 -4
  92. package/dist/cjs/xlsx/xform/sheet/cell-xform.js +65 -65
  93. package/dist/cjs/xlsx/xform/sheet/cf/cf-rule-xform.js +27 -27
  94. package/dist/cjs/xlsx/xform/sheet/cf/cfvo-xform.js +3 -3
  95. package/dist/cjs/xlsx/xform/sheet/cf/color-scale-xform.js +6 -6
  96. package/dist/cjs/xlsx/xform/sheet/cf/conditional-formatting-xform.js +6 -6
  97. package/dist/cjs/xlsx/xform/sheet/cf/conditional-formattings-xform.js +4 -4
  98. package/dist/cjs/xlsx/xform/sheet/cf/databar-xform.js +6 -6
  99. package/dist/cjs/xlsx/xform/sheet/cf/ext-lst-ref-xform.js +5 -5
  100. package/dist/cjs/xlsx/xform/sheet/cf/formula-xform.js +2 -2
  101. package/dist/cjs/xlsx/xform/sheet/cf/icon-set-xform.js +11 -11
  102. package/dist/cjs/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js +3 -3
  103. package/dist/cjs/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +12 -11
  104. package/dist/cjs/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js +4 -4
  105. package/dist/cjs/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js +8 -8
  106. package/dist/cjs/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js +6 -6
  107. package/dist/cjs/xlsx/xform/sheet/cf-ext/databar-ext-xform.js +26 -26
  108. package/dist/cjs/xlsx/xform/sheet/cf-ext/f-ext-xform.js +2 -2
  109. package/dist/cjs/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js +14 -14
  110. package/dist/cjs/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js +2 -2
  111. package/dist/cjs/xlsx/xform/sheet/col-xform.js +6 -6
  112. package/dist/cjs/xlsx/xform/sheet/data-validations-xform.js +18 -18
  113. package/dist/cjs/xlsx/xform/sheet/dimension-xform.js +2 -2
  114. package/dist/cjs/xlsx/xform/sheet/drawing-xform.js +2 -2
  115. package/dist/cjs/xlsx/xform/sheet/ext-lst-xform.js +5 -5
  116. package/dist/cjs/xlsx/xform/sheet/header-footer-xform.js +2 -2
  117. package/dist/cjs/xlsx/xform/sheet/hyperlink-xform.js +2 -2
  118. package/dist/cjs/xlsx/xform/sheet/merge-cell-xform.js +2 -2
  119. package/dist/cjs/xlsx/xform/sheet/merges.js +8 -8
  120. package/dist/cjs/xlsx/xform/sheet/outline-properties-xform.js +2 -2
  121. package/dist/cjs/xlsx/xform/sheet/page-breaks-xform.js +2 -2
  122. package/dist/cjs/xlsx/xform/sheet/page-margins-xform.js +2 -2
  123. package/dist/cjs/xlsx/xform/sheet/page-setup-properties-xform.js +2 -2
  124. package/dist/cjs/xlsx/xform/sheet/page-setup-xform.js +2 -2
  125. package/dist/cjs/xlsx/xform/sheet/picture-xform.js +2 -2
  126. package/dist/cjs/xlsx/xform/sheet/print-options-xform.js +2 -2
  127. package/dist/cjs/xlsx/xform/sheet/row-breaks-xform.js +4 -4
  128. package/dist/cjs/xlsx/xform/sheet/row-xform.js +11 -11
  129. package/dist/cjs/xlsx/xform/sheet/sheet-format-properties-xform.js +2 -2
  130. package/dist/cjs/xlsx/xform/sheet/sheet-properties-xform.js +8 -8
  131. package/dist/cjs/xlsx/xform/sheet/sheet-protection-xform.js +2 -2
  132. package/dist/cjs/xlsx/xform/sheet/sheet-view-xform.js +4 -4
  133. package/dist/cjs/xlsx/xform/sheet/table-part-xform.js +2 -2
  134. package/dist/cjs/xlsx/xform/sheet/worksheet-xform.js +68 -68
  135. package/dist/cjs/xlsx/xform/simple/boolean-xform.js +2 -2
  136. package/dist/cjs/xlsx/xform/simple/date-xform.js +2 -2
  137. package/dist/cjs/xlsx/xform/simple/float-xform.js +2 -2
  138. package/dist/cjs/xlsx/xform/simple/integer-xform.js +2 -2
  139. package/dist/cjs/xlsx/xform/simple/string-xform.js +2 -2
  140. package/dist/cjs/xlsx/xform/static-xform.js +4 -4
  141. package/dist/cjs/xlsx/xform/strings/phonetic-text-xform.js +6 -6
  142. package/dist/cjs/xlsx/xform/strings/rich-text-xform.js +6 -6
  143. package/dist/cjs/xlsx/xform/strings/shared-string-xform.js +8 -8
  144. package/dist/cjs/xlsx/xform/strings/shared-strings-xform.js +6 -6
  145. package/dist/cjs/xlsx/xform/strings/text-xform.js +2 -2
  146. package/dist/cjs/xlsx/xform/style/alignment-xform.js +8 -8
  147. package/dist/cjs/xlsx/xform/style/border-xform.js +8 -8
  148. package/dist/cjs/xlsx/xform/style/color-xform.js +2 -2
  149. package/dist/cjs/xlsx/xform/style/dxf-xform.js +14 -14
  150. package/dist/cjs/xlsx/xform/style/fill-xform.js +9 -9
  151. package/dist/cjs/xlsx/xform/style/font-xform.js +22 -22
  152. package/dist/cjs/xlsx/xform/style/numfmt-xform.js +5 -5
  153. package/dist/cjs/xlsx/xform/style/protection-xform.js +2 -2
  154. package/dist/cjs/xlsx/xform/style/style-xform.js +6 -6
  155. package/dist/cjs/xlsx/xform/style/styles-xform.js +39 -39
  156. package/dist/cjs/xlsx/xform/style/underline-xform.js +2 -2
  157. package/dist/cjs/xlsx/xform/table/auto-filter-xform.js +4 -4
  158. package/dist/cjs/xlsx/xform/table/custom-filter-xform.js +2 -2
  159. package/dist/cjs/xlsx/xform/table/filter-column-xform.js +9 -9
  160. package/dist/cjs/xlsx/xform/table/filter-xform.js +2 -2
  161. package/dist/cjs/xlsx/xform/table/table-column-xform.js +2 -2
  162. package/dist/cjs/xlsx/xform/table/table-style-info-xform.js +2 -2
  163. package/dist/cjs/xlsx/xform/table/table-xform.js +12 -12
  164. package/dist/cjs/xlsx/xlsx.js +833 -91
  165. package/dist/esm/csv/csv.js +159 -189
  166. package/dist/esm/doc/workbook.js +175 -64
  167. package/dist/esm/index.browser.js +1 -33
  168. package/dist/esm/index.js +8 -23
  169. package/dist/esm/local.js +1 -0
  170. package/dist/esm/utils/utils.js +123 -15
  171. package/dist/esm/utils/zip/compress.js +164 -16
  172. package/dist/esm/xlsx/xform/pivot-table/pivot-table-xform.js +3 -2
  173. package/dist/esm/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +3 -2
  174. package/dist/esm/xlsx/xlsx.js +829 -87
  175. package/dist/types/csv/csv.d.ts +71 -97
  176. package/dist/types/doc/anchor.d.ts +1 -1
  177. package/dist/types/doc/cell.d.ts +7 -7
  178. package/dist/types/doc/column.d.ts +3 -3
  179. package/dist/types/doc/defined-names.d.ts +4 -4
  180. package/dist/types/doc/image.d.ts +2 -2
  181. package/dist/types/doc/modelcontainer.d.ts +1 -1
  182. package/dist/types/doc/pivot-table.d.ts +1 -1
  183. package/dist/types/doc/range.d.ts +1 -1
  184. package/dist/types/doc/row.d.ts +3 -3
  185. package/dist/types/doc/table.d.ts +2 -2
  186. package/dist/types/doc/workbook.d.ts +92 -62
  187. package/dist/types/doc/worksheet.d.ts +10 -10
  188. package/dist/types/index.browser.d.ts +5 -19
  189. package/dist/types/index.d.ts +23 -24
  190. package/dist/types/local.d.ts +1 -0
  191. package/dist/types/stream/xlsx/hyperlink-reader.d.ts +1 -1
  192. package/dist/types/stream/xlsx/workbook-reader.d.ts +4 -4
  193. package/dist/types/stream/xlsx/workbook-writer.d.ts +6 -6
  194. package/dist/types/stream/xlsx/worksheet-reader.d.ts +5 -5
  195. package/dist/types/stream/xlsx/worksheet-writer.d.ts +9 -9
  196. package/dist/types/utils/col-cache.d.ts +1 -1
  197. package/dist/types/utils/sheet-utils.d.ts +3 -3
  198. package/dist/types/utils/unzip/extract.d.ts +6 -6
  199. package/dist/types/utils/unzip/index.d.ts +8 -8
  200. package/dist/types/utils/unzip/parse.d.ts +3 -3
  201. package/dist/types/utils/utils.d.ts +25 -6
  202. package/dist/types/utils/zip/compress.d.ts +45 -13
  203. package/dist/types/utils/zip/index.d.ts +5 -5
  204. package/dist/types/utils/zip/zip-builder.d.ts +1 -1
  205. package/dist/types/xlsx/xform/base-xform.d.ts +1 -1
  206. package/dist/types/xlsx/xform/book/defined-name-xform.d.ts +1 -1
  207. package/dist/types/xlsx/xform/book/sheet-xform.d.ts +1 -1
  208. package/dist/types/xlsx/xform/book/workbook-calc-properties-xform.d.ts +1 -1
  209. package/dist/types/xlsx/xform/book/workbook-pivot-cache-xform.d.ts +1 -1
  210. package/dist/types/xlsx/xform/book/workbook-properties-xform.d.ts +1 -1
  211. package/dist/types/xlsx/xform/book/workbook-view-xform.d.ts +1 -1
  212. package/dist/types/xlsx/xform/book/workbook-xform.d.ts +2 -2
  213. package/dist/types/xlsx/xform/comment/comment-xform.d.ts +2 -2
  214. package/dist/types/xlsx/xform/comment/comments-xform.d.ts +2 -2
  215. package/dist/types/xlsx/xform/comment/style/vml-position-xform.d.ts +1 -1
  216. package/dist/types/xlsx/xform/comment/style/vml-protection-xform.d.ts +1 -1
  217. package/dist/types/xlsx/xform/comment/vml-anchor-xform.d.ts +1 -1
  218. package/dist/types/xlsx/xform/comment/vml-client-data-xform.d.ts +1 -1
  219. package/dist/types/xlsx/xform/comment/vml-notes-xform.d.ts +1 -1
  220. package/dist/types/xlsx/xform/comment/vml-shape-xform.d.ts +1 -1
  221. package/dist/types/xlsx/xform/comment/vml-textbox-xform.d.ts +1 -1
  222. package/dist/types/xlsx/xform/composite-xform.d.ts +1 -1
  223. package/dist/types/xlsx/xform/core/app-heading-pairs-xform.d.ts +1 -1
  224. package/dist/types/xlsx/xform/core/app-titles-of-parts-xform.d.ts +1 -1
  225. package/dist/types/xlsx/xform/core/app-xform.d.ts +1 -1
  226. package/dist/types/xlsx/xform/core/content-types-xform.d.ts +1 -1
  227. package/dist/types/xlsx/xform/core/core-xform.d.ts +1 -1
  228. package/dist/types/xlsx/xform/core/relationship-xform.d.ts +1 -1
  229. package/dist/types/xlsx/xform/core/relationships-xform.d.ts +1 -1
  230. package/dist/types/xlsx/xform/drawing/base-cell-anchor-xform.d.ts +1 -1
  231. package/dist/types/xlsx/xform/drawing/blip-fill-xform.d.ts +2 -2
  232. package/dist/types/xlsx/xform/drawing/blip-xform.d.ts +1 -1
  233. package/dist/types/xlsx/xform/drawing/c-nv-pic-pr-xform.d.ts +1 -1
  234. package/dist/types/xlsx/xform/drawing/c-nv-pr-xform.d.ts +1 -1
  235. package/dist/types/xlsx/xform/drawing/cell-position-xform.d.ts +2 -2
  236. package/dist/types/xlsx/xform/drawing/drawing-xform.d.ts +1 -1
  237. package/dist/types/xlsx/xform/drawing/ext-lst-xform.d.ts +1 -1
  238. package/dist/types/xlsx/xform/drawing/ext-xform.d.ts +1 -1
  239. package/dist/types/xlsx/xform/drawing/hlink-click-xform.d.ts +1 -1
  240. package/dist/types/xlsx/xform/drawing/nv-pic-pr-xform.d.ts +1 -1
  241. package/dist/types/xlsx/xform/drawing/one-cell-anchor-xform.d.ts +1 -1
  242. package/dist/types/xlsx/xform/drawing/pic-xform.d.ts +1 -1
  243. package/dist/types/xlsx/xform/drawing/two-cell-anchor-xform.d.ts +1 -1
  244. package/dist/types/xlsx/xform/list-xform.d.ts +1 -1
  245. package/dist/types/xlsx/xform/pivot-table/cache-field-xform.d.ts +1 -1
  246. package/dist/types/xlsx/xform/pivot-table/pivot-cache-definition-xform.d.ts +3 -3
  247. package/dist/types/xlsx/xform/pivot-table/pivot-cache-records-xform.d.ts +2 -2
  248. package/dist/types/xlsx/xform/pivot-table/pivot-table-xform.d.ts +1 -1
  249. package/dist/types/xlsx/xform/sheet/auto-filter-xform.d.ts +1 -1
  250. package/dist/types/xlsx/xform/sheet/cell-xform.d.ts +1 -1
  251. package/dist/types/xlsx/xform/sheet/cf/cf-rule-xform.d.ts +6 -6
  252. package/dist/types/xlsx/xform/sheet/cf/cfvo-xform.d.ts +1 -1
  253. package/dist/types/xlsx/xform/sheet/cf/color-scale-xform.d.ts +3 -3
  254. package/dist/types/xlsx/xform/sheet/cf/conditional-formatting-xform.d.ts +1 -1
  255. package/dist/types/xlsx/xform/sheet/cf/conditional-formattings-xform.d.ts +2 -2
  256. package/dist/types/xlsx/xform/sheet/cf/databar-xform.d.ts +3 -3
  257. package/dist/types/xlsx/xform/sheet/cf/ext-lst-ref-xform.d.ts +1 -1
  258. package/dist/types/xlsx/xform/sheet/cf/formula-xform.d.ts +1 -1
  259. package/dist/types/xlsx/xform/sheet/cf/icon-set-xform.d.ts +2 -2
  260. package/dist/types/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.d.ts +1 -1
  261. package/dist/types/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.d.ts +3 -3
  262. package/dist/types/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.d.ts +2 -2
  263. package/dist/types/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.d.ts +3 -3
  264. package/dist/types/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.d.ts +2 -2
  265. package/dist/types/xlsx/xform/sheet/cf-ext/databar-ext-xform.d.ts +3 -3
  266. package/dist/types/xlsx/xform/sheet/cf-ext/f-ext-xform.d.ts +1 -1
  267. package/dist/types/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.d.ts +3 -3
  268. package/dist/types/xlsx/xform/sheet/cf-ext/sqref-ext-xform.d.ts +1 -1
  269. package/dist/types/xlsx/xform/sheet/col-xform.d.ts +1 -1
  270. package/dist/types/xlsx/xform/sheet/data-validations-xform.d.ts +1 -1
  271. package/dist/types/xlsx/xform/sheet/dimension-xform.d.ts +1 -1
  272. package/dist/types/xlsx/xform/sheet/drawing-xform.d.ts +1 -1
  273. package/dist/types/xlsx/xform/sheet/ext-lst-xform.d.ts +1 -1
  274. package/dist/types/xlsx/xform/sheet/header-footer-xform.d.ts +1 -1
  275. package/dist/types/xlsx/xform/sheet/hyperlink-xform.d.ts +1 -1
  276. package/dist/types/xlsx/xform/sheet/merge-cell-xform.d.ts +1 -1
  277. package/dist/types/xlsx/xform/sheet/outline-properties-xform.d.ts +1 -1
  278. package/dist/types/xlsx/xform/sheet/page-breaks-xform.d.ts +1 -1
  279. package/dist/types/xlsx/xform/sheet/page-margins-xform.d.ts +1 -1
  280. package/dist/types/xlsx/xform/sheet/page-setup-properties-xform.d.ts +1 -1
  281. package/dist/types/xlsx/xform/sheet/page-setup-xform.d.ts +1 -1
  282. package/dist/types/xlsx/xform/sheet/picture-xform.d.ts +1 -1
  283. package/dist/types/xlsx/xform/sheet/print-options-xform.d.ts +1 -1
  284. package/dist/types/xlsx/xform/sheet/row-breaks-xform.d.ts +1 -1
  285. package/dist/types/xlsx/xform/sheet/row-xform.d.ts +1 -1
  286. package/dist/types/xlsx/xform/sheet/sheet-format-properties-xform.d.ts +1 -1
  287. package/dist/types/xlsx/xform/sheet/sheet-properties-xform.d.ts +1 -1
  288. package/dist/types/xlsx/xform/sheet/sheet-protection-xform.d.ts +1 -1
  289. package/dist/types/xlsx/xform/sheet/sheet-view-xform.d.ts +1 -1
  290. package/dist/types/xlsx/xform/sheet/table-part-xform.d.ts +1 -1
  291. package/dist/types/xlsx/xform/sheet/worksheet-xform.d.ts +1 -1
  292. package/dist/types/xlsx/xform/simple/boolean-xform.d.ts +1 -1
  293. package/dist/types/xlsx/xform/simple/date-xform.d.ts +1 -1
  294. package/dist/types/xlsx/xform/simple/float-xform.d.ts +1 -1
  295. package/dist/types/xlsx/xform/simple/integer-xform.d.ts +1 -1
  296. package/dist/types/xlsx/xform/simple/string-xform.d.ts +1 -1
  297. package/dist/types/xlsx/xform/static-xform.d.ts +1 -1
  298. package/dist/types/xlsx/xform/strings/phonetic-text-xform.d.ts +1 -1
  299. package/dist/types/xlsx/xform/strings/rich-text-xform.d.ts +3 -3
  300. package/dist/types/xlsx/xform/strings/shared-string-xform.d.ts +1 -1
  301. package/dist/types/xlsx/xform/strings/shared-strings-xform.d.ts +2 -2
  302. package/dist/types/xlsx/xform/strings/text-xform.d.ts +1 -1
  303. package/dist/types/xlsx/xform/style/alignment-xform.d.ts +1 -1
  304. package/dist/types/xlsx/xform/style/border-xform.d.ts +2 -2
  305. package/dist/types/xlsx/xform/style/color-xform.d.ts +1 -1
  306. package/dist/types/xlsx/xform/style/dxf-xform.d.ts +1 -1
  307. package/dist/types/xlsx/xform/style/fill-xform.d.ts +2 -2
  308. package/dist/types/xlsx/xform/style/font-xform.d.ts +1 -1
  309. package/dist/types/xlsx/xform/style/numfmt-xform.d.ts +1 -1
  310. package/dist/types/xlsx/xform/style/protection-xform.d.ts +1 -1
  311. package/dist/types/xlsx/xform/style/style-xform.d.ts +3 -3
  312. package/dist/types/xlsx/xform/style/styles-xform.d.ts +2 -2
  313. package/dist/types/xlsx/xform/style/underline-xform.d.ts +1 -1
  314. package/dist/types/xlsx/xform/table/auto-filter-xform.d.ts +2 -2
  315. package/dist/types/xlsx/xform/table/custom-filter-xform.d.ts +1 -1
  316. package/dist/types/xlsx/xform/table/filter-column-xform.d.ts +2 -2
  317. package/dist/types/xlsx/xform/table/filter-xform.d.ts +1 -1
  318. package/dist/types/xlsx/xform/table/table-column-xform.d.ts +1 -1
  319. package/dist/types/xlsx/xform/table/table-style-info-xform.d.ts +1 -1
  320. package/dist/types/xlsx/xform/table/table-xform.d.ts +1 -1
  321. package/dist/types/xlsx/xlsx.d.ts +80 -20
  322. package/package.json +15 -13
  323. package/dist/browser/excelts.esm.js +0 -19115
  324. package/dist/browser/excelts.esm.js.map +0 -1
  325. package/dist/browser/excelts.esm.min.js +0 -127
  326. package/dist/cjs/csv/csv-core.js +0 -701
  327. package/dist/cjs/csv/csv-stream.js +0 -646
  328. package/dist/cjs/csv/csv.base.js +0 -154
  329. package/dist/cjs/csv/csv.browser.js +0 -68
  330. package/dist/cjs/doc/workbook.base.js +0 -211
  331. package/dist/cjs/doc/workbook.browser.js +0 -62
  332. package/dist/cjs/utils/browser-buffer.js +0 -75
  333. package/dist/cjs/utils/encryptor.browser.js +0 -240
  334. package/dist/cjs/utils/stream-buf.browser.js +0 -355
  335. package/dist/cjs/utils/utils.base.js +0 -161
  336. package/dist/cjs/utils/utils.browser.js +0 -89
  337. package/dist/cjs/utils/zip/compress.base.js +0 -85
  338. package/dist/cjs/utils/zip/compress.browser.js +0 -83
  339. package/dist/cjs/utils/zip/crc32.browser.js +0 -88
  340. package/dist/cjs/utils/zip-stream.browser.js +0 -135
  341. package/dist/cjs/xlsx/xlsx.base.js +0 -742
  342. package/dist/cjs/xlsx/xlsx.browser.js +0 -205
  343. package/dist/esm/csv/csv-core.js +0 -694
  344. package/dist/esm/csv/csv-stream.js +0 -638
  345. package/dist/esm/csv/csv.base.js +0 -141
  346. package/dist/esm/csv/csv.browser.js +0 -65
  347. package/dist/esm/doc/workbook.base.js +0 -207
  348. package/dist/esm/doc/workbook.browser.js +0 -59
  349. package/dist/esm/utils/browser-buffer.js +0 -67
  350. package/dist/esm/utils/encryptor.browser.js +0 -237
  351. package/dist/esm/utils/stream-buf.browser.js +0 -352
  352. package/dist/esm/utils/utils.base.js +0 -142
  353. package/dist/esm/utils/utils.browser.js +0 -68
  354. package/dist/esm/utils/zip/compress.base.js +0 -80
  355. package/dist/esm/utils/zip/compress.browser.js +0 -76
  356. package/dist/esm/utils/zip/crc32.browser.js +0 -82
  357. package/dist/esm/utils/zip-stream.browser.js +0 -132
  358. package/dist/esm/xlsx/xlsx.base.js +0 -739
  359. package/dist/esm/xlsx/xlsx.browser.js +0 -202
  360. package/dist/types/csv/csv-core.d.ts +0 -207
  361. package/dist/types/csv/csv-stream.d.ts +0 -114
  362. package/dist/types/csv/csv.base.d.ts +0 -61
  363. package/dist/types/csv/csv.browser.d.ts +0 -33
  364. package/dist/types/doc/workbook.base.d.ts +0 -111
  365. package/dist/types/doc/workbook.browser.d.ts +0 -38
  366. package/dist/types/utils/browser-buffer.d.ts +0 -28
  367. package/dist/types/utils/encryptor.browser.d.ts +0 -28
  368. package/dist/types/utils/stream-buf.browser.d.ts +0 -41
  369. package/dist/types/utils/utils.base.d.ts +0 -29
  370. package/dist/types/utils/utils.browser.d.ts +0 -29
  371. package/dist/types/utils/zip/compress.base.d.ts +0 -42
  372. package/dist/types/utils/zip/compress.browser.d.ts +0 -54
  373. package/dist/types/utils/zip/crc32.browser.d.ts +0 -52
  374. package/dist/types/utils/zip-stream.browser.d.ts +0 -39
  375. package/dist/types/xlsx/xlsx.base.d.ts +0 -134
  376. package/dist/types/xlsx/xlsx.browser.d.ts +0 -31
@@ -1,96 +1,207 @@
1
1
  "use strict";
2
- /**
3
- * Workbook - Node.js version with full functionality
4
- *
5
- * Extends WorkbookBase with:
6
- * - xlsx: Full file/stream/buffer support
7
- * - csv: CSV read/write support
8
- * - streaming: createStreamWriter/createStreamReader for large files
9
- */
10
2
  Object.defineProperty(exports, "__esModule", { value: true });
11
3
  exports.Workbook = void 0;
12
- const workbook_base_1 = require("./workbook.base");
13
- const xlsx_1 = require("../xlsx/xlsx");
14
- const csv_1 = require("../csv/csv");
15
- const workbook_writer_1 = require("../stream/xlsx/workbook-writer");
16
- const workbook_reader_1 = require("../stream/xlsx/workbook-reader");
17
- class Workbook extends workbook_base_1.WorkbookBase {
4
+ const worksheet_js_1 = require("./worksheet");
5
+ const defined_names_js_1 = require("./defined-names");
6
+ const xlsx_js_1 = require("../xlsx/xlsx");
7
+ const csv_js_1 = require("../csv/csv");
8
+ // Workbook requirements
9
+ // Load and Save from file and stream
10
+ // Access/Add/Delete individual worksheets
11
+ // Manage String table, Hyperlink table, etc.
12
+ // Manage scaffolding for contained objects to write to/read from
13
+ class Workbook {
14
+ constructor() {
15
+ this.category = "";
16
+ this.company = "";
17
+ this.created = new Date();
18
+ this.description = "";
19
+ this.keywords = "";
20
+ this.manager = "";
21
+ this.modified = this.created;
22
+ this.properties = {};
23
+ this.calcProperties = {};
24
+ this._worksheets = [];
25
+ this.subject = "";
26
+ this.title = "";
27
+ this.views = [];
28
+ this.media = [];
29
+ this.pivotTables = [];
30
+ this._definedNames = new defined_names_js_1.DefinedNames();
31
+ }
18
32
  /**
19
33
  * xlsx file format operations
20
- * Supports: readFile, writeFile, read (stream), write (stream), load (buffer), writeBuffer
21
34
  */
22
35
  get xlsx() {
23
36
  if (!this._xlsx) {
24
- this._xlsx = new xlsx_1.XLSX(this);
37
+ this._xlsx = new xlsx_js_1.XLSX(this);
25
38
  }
26
39
  return this._xlsx;
27
40
  }
28
41
  /**
29
42
  * csv file format operations
30
- * Supports: readFile, writeFile, read (stream), write (stream)
31
43
  */
32
44
  get csv() {
33
45
  if (!this._csv) {
34
- this._csv = new csv_1.CSV(this);
46
+ this._csv = new csv_js_1.CSV(this);
35
47
  }
36
48
  return this._csv;
37
49
  }
38
- // ===========================================================================
39
- // Static Factory Methods for Streaming (Node.js only)
40
- // ===========================================================================
50
+ get nextId() {
51
+ // find the next unique spot to add worksheet
52
+ for (let i = 1; i < this._worksheets.length; i++) {
53
+ if (!this._worksheets[i]) {
54
+ return i;
55
+ }
56
+ }
57
+ return this._worksheets.length || 1;
58
+ }
41
59
  /**
42
- * Create a streaming workbook writer for large files.
43
- * This is more memory-efficient than using Workbook for large datasets.
44
- *
45
- * @param options - Options for the workbook writer
46
- * @returns A new WorkbookWriter instance
47
- *
48
- * @example
49
- * ```ts
50
- * const writer = Workbook.createStreamWriter({ filename: "large-file.xlsx" });
51
- * const sheet = writer.addWorksheet("Sheet1");
52
- * for (let i = 0; i < 1000000; i++) {
53
- * sheet.addRow([i, `Row ${i}`]).commit();
54
- * }
55
- * await writer.commit();
56
- * ```
60
+ * Add a new worksheet and return a reference to it
57
61
  */
58
- static createStreamWriter(options) {
59
- return new workbook_writer_1.WorkbookWriter(options);
62
+ addWorksheet(name, options) {
63
+ const id = this.nextId;
64
+ const lastOrderNo = this._worksheets.reduce((acc, ws) => ((ws && ws.orderNo) > acc ? ws.orderNo : acc), 0);
65
+ const worksheetOptions = {
66
+ ...options,
67
+ id,
68
+ name,
69
+ orderNo: lastOrderNo + 1,
70
+ workbook: this
71
+ };
72
+ const worksheet = new worksheet_js_1.Worksheet(worksheetOptions);
73
+ this._worksheets[id] = worksheet;
74
+ return worksheet;
75
+ }
76
+ removeWorksheetEx(worksheet) {
77
+ delete this._worksheets[worksheet.id];
78
+ }
79
+ removeWorksheet(id) {
80
+ const worksheet = this.getWorksheet(id);
81
+ if (worksheet) {
82
+ worksheet.destroy();
83
+ }
60
84
  }
61
85
  /**
62
- * Create a streaming workbook reader for large files.
63
- * This is more memory-efficient than using Workbook.xlsx.readFile for large datasets.
64
- *
65
- * @param input - File path or readable stream
66
- * @param options - Options for the workbook reader
67
- * @returns A new WorkbookReader instance
86
+ * Fetch sheet by name or id
87
+ */
88
+ getWorksheet(id) {
89
+ if (id === undefined) {
90
+ return this._worksheets.find(Boolean);
91
+ }
92
+ if (typeof id === "number") {
93
+ return this._worksheets[id];
94
+ }
95
+ if (typeof id === "string") {
96
+ return this._worksheets.find(worksheet => worksheet && worksheet.name === id);
97
+ }
98
+ return undefined;
99
+ }
100
+ /**
101
+ * Return a clone of worksheets in order
102
+ */
103
+ get worksheets() {
104
+ // return a clone of _worksheets
105
+ return this._worksheets
106
+ .slice(1)
107
+ .sort((a, b) => a.orderNo - b.orderNo)
108
+ .filter(Boolean);
109
+ }
110
+ /**
111
+ * Iterate over all sheets.
68
112
  *
69
- * @example
70
- * ```ts
71
- * const reader = Workbook.createStreamReader("large-file.xlsx");
72
- * for await (const event of reader) {
73
- * if (event.eventType === "worksheet") {
74
- * const worksheet = event.value;
75
- * for await (const row of worksheet) {
76
- * console.log(row.values);
77
- * }
78
- * }
79
- * }
80
- * ```
113
+ * Note: `workbook.worksheets.forEach` will still work but this is better.
81
114
  */
82
- static createStreamReader(input, options) {
83
- return new workbook_reader_1.WorkbookReader(input, options);
115
+ eachSheet(callback) {
116
+ this.worksheets.forEach(sheet => {
117
+ callback(sheet, sheet.id);
118
+ });
119
+ }
120
+ get definedNames() {
121
+ return this._definedNames;
122
+ }
123
+ clearThemes() {
124
+ // Note: themes are not an exposed feature, meddle at your peril!
125
+ this._themes = undefined;
126
+ }
127
+ /**
128
+ * Add Image to Workbook and return the id
129
+ */
130
+ addImage(image) {
131
+ // TODO: validation?
132
+ const id = this.media.length;
133
+ this.media.push({ ...image, type: "image" });
134
+ return id;
135
+ }
136
+ getImage(id) {
137
+ return this.media[Number(id)];
138
+ }
139
+ get model() {
140
+ return {
141
+ creator: this.creator || "Unknown",
142
+ lastModifiedBy: this.lastModifiedBy || "Unknown",
143
+ lastPrinted: this.lastPrinted,
144
+ created: this.created,
145
+ modified: this.modified,
146
+ properties: this.properties,
147
+ worksheets: this.worksheets.map(worksheet => worksheet.model),
148
+ sheets: this.worksheets.map(ws => ws.model).filter(Boolean),
149
+ definedNames: this._definedNames.model,
150
+ views: this.views,
151
+ company: this.company,
152
+ manager: this.manager,
153
+ title: this.title,
154
+ subject: this.subject,
155
+ keywords: this.keywords,
156
+ category: this.category,
157
+ description: this.description,
158
+ language: this.language,
159
+ revision: this.revision,
160
+ contentStatus: this.contentStatus,
161
+ themes: this._themes,
162
+ media: this.media,
163
+ pivotTables: this.pivotTables,
164
+ calcProperties: this.calcProperties
165
+ };
166
+ }
167
+ set model(value) {
168
+ this.creator = value.creator;
169
+ this.lastModifiedBy = value.lastModifiedBy;
170
+ this.lastPrinted = value.lastPrinted;
171
+ this.created = value.created;
172
+ this.modified = value.modified;
173
+ this.company = value.company;
174
+ this.manager = value.manager;
175
+ this.title = value.title;
176
+ this.subject = value.subject;
177
+ this.keywords = value.keywords;
178
+ this.category = value.category;
179
+ this.description = value.description;
180
+ this.language = value.language;
181
+ this.revision = value.revision;
182
+ this.contentStatus = value.contentStatus;
183
+ this.properties = value.properties;
184
+ this.calcProperties = value.calcProperties;
185
+ this._worksheets = [];
186
+ value.worksheets.forEach(worksheetModel => {
187
+ const { id, name, state } = worksheetModel;
188
+ const orderNo = value.sheets && value.sheets.findIndex(ws => ws.id === id);
189
+ const worksheet = (this._worksheets[id] = new worksheet_js_1.Worksheet({
190
+ id,
191
+ name,
192
+ orderNo: orderNo !== -1 ? orderNo : undefined,
193
+ state,
194
+ workbook: this
195
+ }));
196
+ worksheet.model = worksheetModel;
197
+ });
198
+ this._definedNames.model = value.definedNames;
199
+ this.views = value.views;
200
+ this._themes = value.themes;
201
+ this.media = value.media || [];
202
+ // Handle pivot tables - either newly created or loaded from file
203
+ // Loaded pivot tables come from loadedPivotTables after reconciliation
204
+ this.pivotTables = value.pivotTables || value.loadedPivotTables || [];
84
205
  }
85
206
  }
86
207
  exports.Workbook = Workbook;
87
- /**
88
- * Streaming workbook writer class for large files.
89
- * @example new Workbook.Writer({ filename: "large.xlsx" })
90
- */
91
- Workbook.Writer = workbook_writer_1.WorkbookWriter;
92
- /**
93
- * Streaming workbook reader class for large files.
94
- * @example new Workbook.Reader("large.xlsx")
95
- */
96
- Workbook.Reader = workbook_reader_1.WorkbookReader;
@@ -1,17 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Worksheet = void 0;
4
- const col_cache_1 = require("../utils/col-cache");
5
- const range_1 = require("./range");
6
- const row_1 = require("./row");
7
- const column_1 = require("./column");
8
- const enums_1 = require("./enums");
9
- const image_1 = require("./image");
10
- const table_1 = require("./table");
11
- const data_validations_1 = require("./data-validations");
12
- const encryptor_1 = require("../utils/encryptor");
13
- const pivot_table_1 = require("./pivot-table");
14
- const copy_style_1 = require("../utils/copy-style");
4
+ const col_cache_js_1 = require("../utils/col-cache");
5
+ const range_js_1 = require("./range");
6
+ const row_js_1 = require("./row");
7
+ const column_js_1 = require("./column");
8
+ const enums_js_1 = require("./enums");
9
+ const image_js_1 = require("./image");
10
+ const table_js_1 = require("./table");
11
+ const data_validations_js_1 = require("./data-validations");
12
+ const encryptor_js_1 = require("../utils/encryptor");
13
+ const pivot_table_js_1 = require("./pivot-table");
14
+ const copy_style_js_1 = require("../utils/copy-style");
15
15
  // Worksheet requirements
16
16
  // Operate as sheet inside workbook or standalone
17
17
  // Load and Save from file and stream
@@ -82,7 +82,7 @@ class Worksheet {
82
82
  firstHeader: null,
83
83
  firstFooter: null
84
84
  }, options.headerFooter);
85
- this.dataValidations = new data_validations_1.DataValidations();
85
+ this.dataValidations = new data_validations_js_1.DataValidations();
86
86
  // for freezepanes, split, zoom, gridlines, etc
87
87
  this.views = options.views || [];
88
88
  this.autoFilter = options.autoFilter || null;
@@ -149,7 +149,7 @@ class Worksheet {
149
149
  * Get the bounding range of the cells in this worksheet
150
150
  */
151
151
  get dimensions() {
152
- const dimensions = new range_1.Range();
152
+ const dimensions = new range_js_1.Range();
153
153
  this._rows.forEach(row => {
154
154
  if (row) {
155
155
  const rowDims = row.dimensions;
@@ -184,7 +184,7 @@ class Worksheet {
184
184
  let count = 1;
185
185
  const columns = (this._columns = []);
186
186
  value.forEach(defn => {
187
- const column = new column_1.Column(this, count++, false);
187
+ const column = new column_js_1.Column(this, count++, false);
188
188
  columns.push(column);
189
189
  column.defn = defn;
190
190
  });
@@ -213,7 +213,7 @@ class Worksheet {
213
213
  return col;
214
214
  }
215
215
  // otherwise, assume letter
216
- colNum = col_cache_1.colCache.l2n(c);
216
+ colNum = col_cache_js_1.colCache.l2n(c);
217
217
  }
218
218
  else {
219
219
  colNum = c;
@@ -224,7 +224,7 @@ class Worksheet {
224
224
  if (colNum > this._columns.length) {
225
225
  let n = this._columns.length + 1;
226
226
  while (n <= colNum) {
227
- this._columns.push(new column_1.Column(this, n++));
227
+ this._columns.push(new column_js_1.Column(this, n++));
228
228
  }
229
229
  }
230
230
  return this._columns[colNum - 1];
@@ -376,7 +376,7 @@ class Worksheet {
376
376
  getRow(r) {
377
377
  let row = this._rows[r - 1];
378
378
  if (!row) {
379
- row = this._rows[r - 1] = new row_1.Row(this, r);
379
+ row = this._rows[r - 1] = new row_js_1.Row(this, r);
380
380
  }
381
381
  return row;
382
382
  }
@@ -437,9 +437,9 @@ class Worksheet {
437
437
  _copyStyle(src, dest, styleEmpty = false) {
438
438
  const rSrc = this.getRow(src);
439
439
  const rDst = this.getRow(dest);
440
- rDst.style = (0, copy_style_1.copyStyle)(rSrc.style);
440
+ rDst.style = (0, copy_style_js_1.copyStyle)(rSrc.style);
441
441
  rSrc.eachCell({ includeEmpty: styleEmpty }, (cell, colNumber) => {
442
- rDst.getCell(colNumber).style = (0, copy_style_1.copyStyle)(cell.style);
442
+ rDst.getCell(colNumber).style = (0, copy_style_js_1.copyStyle)(cell.style);
443
443
  });
444
444
  rDst.height = rSrc.height;
445
445
  }
@@ -510,7 +510,7 @@ class Worksheet {
510
510
  rSrc.eachCell({ includeEmpty: true }, (cell, colNumber) => {
511
511
  rDst.getCell(colNumber).style = cell.style;
512
512
  // remerge cells accounting for insert offset
513
- if (cell.type === enums_1.Enums.ValueType.Merge) {
513
+ if (cell.type === enums_js_1.Enums.ValueType.Merge) {
514
514
  const cellToBeMerged = this.getRow(cell.row + nInserts).getCell(colNumber);
515
515
  const prevMaster = cell.master;
516
516
  const newMaster = this.getRow(prevMaster.row + nInserts).getCell(prevMaster.col);
@@ -574,7 +574,7 @@ class Worksheet {
574
574
  * Returns the cell at [r,c] or address given by r. If not found, return undefined
575
575
  */
576
576
  findCell(r, c) {
577
- const address = col_cache_1.colCache.getAddress(r, c);
577
+ const address = col_cache_js_1.colCache.getAddress(r, c);
578
578
  const row = this._rows[address.row - 1];
579
579
  return row ? row.findCell(address.col) : undefined;
580
580
  }
@@ -582,7 +582,7 @@ class Worksheet {
582
582
  * Get or create cell at [r,c] or address given by r
583
583
  */
584
584
  getCell(r, c) {
585
- const address = col_cache_1.colCache.getAddress(r, c);
585
+ const address = col_cache_js_1.colCache.getAddress(r, c);
586
586
  const row = this.getRow(address.row);
587
587
  return row.getCellEx(address);
588
588
  }
@@ -598,11 +598,11 @@ class Worksheet {
598
598
  * t, l, b, r numbers, e.g. `10,11,12,13`
599
599
  */
600
600
  mergeCells(...cells) {
601
- const dimensions = new range_1.Range(cells);
601
+ const dimensions = new range_js_1.Range(cells);
602
602
  this._mergeCellsInternal(dimensions);
603
603
  }
604
604
  mergeCellsWithoutStyle(...cells) {
605
- const dimensions = new range_1.Range(cells);
605
+ const dimensions = new range_js_1.Range(cells);
606
606
  this._mergeCellsInternal(dimensions, true);
607
607
  }
608
608
  _mergeCellsInternal(dimensions, ignoreStyle) {
@@ -647,13 +647,13 @@ class Worksheet {
647
647
  * atomic - either they're all merged or all un-merged.
648
648
  */
649
649
  unMergeCells(...cells) {
650
- const dimensions = new range_1.Range(cells);
650
+ const dimensions = new range_js_1.Range(cells);
651
651
  // find any cells in that range and unmerge them
652
652
  for (let i = dimensions.top; i <= dimensions.bottom; i++) {
653
653
  for (let j = dimensions.left; j <= dimensions.right; j++) {
654
654
  const cell = this.findCell(i, j);
655
655
  if (cell) {
656
- if (cell.type === enums_1.Enums.ValueType.Merge) {
656
+ if (cell.type === enums_js_1.Enums.ValueType.Merge) {
657
657
  // this cell merges to another master
658
658
  this._unMergeMaster(cell.master);
659
659
  }
@@ -669,10 +669,10 @@ class Worksheet {
669
669
  // Shared/Array Formula
670
670
  fillFormula(range, formula, results, shareType = "shared") {
671
671
  // Define formula for top-left cell and share to rest
672
- const decoded = col_cache_1.colCache.decode(range);
672
+ const decoded = col_cache_js_1.colCache.decode(range);
673
673
  const { top, left, bottom, right } = decoded;
674
674
  const width = right - left + 1;
675
- const masterAddress = col_cache_1.colCache.encodeAddress(top, left);
675
+ const masterAddress = col_cache_js_1.colCache.encodeAddress(top, left);
676
676
  const isShared = shareType === "shared";
677
677
  // work out result accessor
678
678
  let getResult;
@@ -727,7 +727,7 @@ class Worksheet {
727
727
  imageId: String(imageId),
728
728
  range
729
729
  };
730
- this._media.push(new image_1.Image(this, model));
730
+ this._media.push(new image_js_1.Image(this, model));
731
731
  }
732
732
  getImages() {
733
733
  return this._media.filter(m => m.type === "image");
@@ -740,7 +740,7 @@ class Worksheet {
740
740
  type: "background",
741
741
  imageId: String(imageId)
742
742
  };
743
- this._media.push(new image_1.Image(this, model));
743
+ this._media.push(new image_js_1.Image(this, model));
744
744
  }
745
745
  getBackgroundImageId() {
746
746
  const image = this._media.find(m => m.type === "background");
@@ -766,10 +766,10 @@ class Worksheet {
766
766
  }
767
767
  if (password) {
768
768
  this.sheetProtection.algorithmName = "SHA-512";
769
- this.sheetProtection.saltValue = encryptor_1.Encryptor.randomBytes(16).toString("base64");
769
+ this.sheetProtection.saltValue = encryptor_js_1.Encryptor.randomBytes(16).toString("base64");
770
770
  this.sheetProtection.spinCount =
771
771
  options && "spinCount" in options ? options.spinCount : 100000; // allow user specified spinCount
772
- this.sheetProtection.hashValue = encryptor_1.Encryptor.convertPasswordToHash(password, "SHA512", this.sheetProtection.saltValue, this.sheetProtection.spinCount);
772
+ this.sheetProtection.hashValue = encryptor_js_1.Encryptor.convertPasswordToHash(password, "SHA512", this.sheetProtection.saltValue, this.sheetProtection.spinCount);
773
773
  }
774
774
  if (options) {
775
775
  this.sheetProtection = Object.assign(this.sheetProtection, options);
@@ -789,7 +789,7 @@ class Worksheet {
789
789
  * Add a new table and return a reference to it
790
790
  */
791
791
  addTable(model) {
792
- const table = new table_1.Table(this, model);
792
+ const table = new table_js_1.Table(this, model);
793
793
  this.tables[model.name] = table;
794
794
  return table;
795
795
  }
@@ -814,7 +814,7 @@ class Worksheet {
814
814
  // =========================================================================
815
815
  // Pivot Tables
816
816
  addPivotTable(model) {
817
- const pivotTable = (0, pivot_table_1.makePivotTable)(this, model);
817
+ const pivotTable = (0, pivot_table_js_1.makePivotTable)(this, model);
818
818
  this.pivotTables.push(pivotTable);
819
819
  this.workbook.pivotTables.push(pivotTable);
820
820
  return pivotTable;
@@ -863,11 +863,11 @@ class Worksheet {
863
863
  };
864
864
  // =================================================
865
865
  // columns
866
- model.cols = column_1.Column.toModel(this.columns || []);
866
+ model.cols = column_js_1.Column.toModel(this.columns || []);
867
867
  // ==========================================================
868
868
  // Rows
869
869
  const rows = (model.rows = []);
870
- const dimensions = (model.dimensions = new range_1.Range());
870
+ const dimensions = (model.dimensions = new range_js_1.Range());
871
871
  this._rows.forEach(row => {
872
872
  const rowModel = row && row.model;
873
873
  if (rowModel) {
@@ -887,7 +887,7 @@ class Worksheet {
887
887
  this._rows = [];
888
888
  if (model.rows) {
889
889
  model.rows.forEach(rowModel => {
890
- const row = new row_1.Row(this, rowModel.number);
890
+ const row = new row_js_1.Row(this, rowModel.number);
891
891
  this._rows[row.number - 1] = row;
892
892
  row.model = rowModel;
893
893
  });
@@ -904,19 +904,19 @@ class Worksheet {
904
904
  }
905
905
  set model(value) {
906
906
  this.name = value.name;
907
- this._columns = column_1.Column.fromModel(this, value.cols);
907
+ this._columns = column_js_1.Column.fromModel(this, value.cols);
908
908
  this._parseRows(value);
909
909
  this._parseMergeCells(value);
910
- this.dataValidations = new data_validations_1.DataValidations(value.dataValidations);
910
+ this.dataValidations = new data_validations_js_1.DataValidations(value.dataValidations);
911
911
  this.properties = value.properties;
912
912
  this.pageSetup = value.pageSetup;
913
913
  this.headerFooter = value.headerFooter;
914
914
  this.views = value.views;
915
915
  this.autoFilter = value.autoFilter;
916
- this._media = value.media.map(medium => new image_1.Image(this, medium));
916
+ this._media = value.media.map(medium => new image_js_1.Image(this, medium));
917
917
  this.sheetProtection = value.sheetProtection;
918
918
  this.tables = value.tables.reduce((tables, table) => {
919
- const t = new table_1.Table(this, table);
919
+ const t = new table_js_1.Table(this, table);
920
920
  t.model = table;
921
921
  tables[table.name] = t;
922
922
  return tables;
package/dist/cjs/index.js CHANGED
@@ -1,7 +1,4 @@
1
1
  "use strict";
2
- // =============================================================================
3
- // Main Classes
4
- // =============================================================================
5
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
3
  if (k2 === undefined) k2 = k;
7
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -17,53 +14,39 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
15
  };
19
16
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.CsvFormatterStream = exports.CsvParserStream = exports.ModelContainer = exports.WorksheetReader = exports.WorksheetWriter = exports.WorkbookReader = exports.WorkbookWriter = exports.DataValidations = exports.Table = exports.Image = exports.Range = exports.Cell = exports.Column = exports.Row = exports.Worksheet = exports.Workbook = void 0;
21
- var workbook_1 = require("./doc/workbook");
22
- Object.defineProperty(exports, "Workbook", { enumerable: true, get: function () { return workbook_1.Workbook; } });
23
- var worksheet_1 = require("./doc/worksheet");
24
- Object.defineProperty(exports, "Worksheet", { enumerable: true, get: function () { return worksheet_1.Worksheet; } });
25
- var row_1 = require("./doc/row");
26
- Object.defineProperty(exports, "Row", { enumerable: true, get: function () { return row_1.Row; } });
27
- var column_1 = require("./doc/column");
28
- Object.defineProperty(exports, "Column", { enumerable: true, get: function () { return column_1.Column; } });
29
- var cell_1 = require("./doc/cell");
30
- Object.defineProperty(exports, "Cell", { enumerable: true, get: function () { return cell_1.Cell; } });
31
- var range_1 = require("./doc/range");
32
- Object.defineProperty(exports, "Range", { enumerable: true, get: function () { return range_1.Range; } });
33
- var image_1 = require("./doc/image");
34
- Object.defineProperty(exports, "Image", { enumerable: true, get: function () { return image_1.Image; } });
17
+ exports.DataValidations = exports.Table = exports.Image = exports.Range = exports.Cell = exports.Column = exports.Row = exports.WorksheetWriter = exports.WorksheetReader = exports.Worksheet = exports.WorkbookReader = exports.WorkbookWriter = exports.ModelContainer = exports.Workbook = void 0;
18
+ // Export main classes
19
+ var workbook_js_1 = require("./doc/workbook");
20
+ Object.defineProperty(exports, "Workbook", { enumerable: true, get: function () { return workbook_js_1.Workbook; } });
21
+ var modelcontainer_js_1 = require("./doc/modelcontainer");
22
+ Object.defineProperty(exports, "ModelContainer", { enumerable: true, get: function () { return modelcontainer_js_1.ModelContainer; } });
23
+ var workbook_writer_js_1 = require("./stream/xlsx/workbook-writer");
24
+ Object.defineProperty(exports, "WorkbookWriter", { enumerable: true, get: function () { return workbook_writer_js_1.WorkbookWriter; } });
25
+ var workbook_reader_js_1 = require("./stream/xlsx/workbook-reader");
26
+ Object.defineProperty(exports, "WorkbookReader", { enumerable: true, get: function () { return workbook_reader_js_1.WorkbookReader; } });
27
+ var worksheet_js_1 = require("./doc/worksheet");
28
+ Object.defineProperty(exports, "Worksheet", { enumerable: true, get: function () { return worksheet_js_1.Worksheet; } });
29
+ var worksheet_reader_js_1 = require("./stream/xlsx/worksheet-reader");
30
+ Object.defineProperty(exports, "WorksheetReader", { enumerable: true, get: function () { return worksheet_reader_js_1.WorksheetReader; } });
31
+ var worksheet_writer_js_1 = require("./stream/xlsx/worksheet-writer");
32
+ Object.defineProperty(exports, "WorksheetWriter", { enumerable: true, get: function () { return worksheet_writer_js_1.WorksheetWriter; } });
33
+ var row_js_1 = require("./doc/row");
34
+ Object.defineProperty(exports, "Row", { enumerable: true, get: function () { return row_js_1.Row; } });
35
+ var column_js_1 = require("./doc/column");
36
+ Object.defineProperty(exports, "Column", { enumerable: true, get: function () { return column_js_1.Column; } });
37
+ var cell_js_1 = require("./doc/cell");
38
+ Object.defineProperty(exports, "Cell", { enumerable: true, get: function () { return cell_js_1.Cell; } });
39
+ var range_js_1 = require("./doc/range");
40
+ Object.defineProperty(exports, "Range", { enumerable: true, get: function () { return range_js_1.Range; } });
41
+ var image_js_1 = require("./doc/image");
42
+ Object.defineProperty(exports, "Image", { enumerable: true, get: function () { return image_js_1.Image; } });
35
43
  __exportStar(require("./doc/anchor"), exports);
36
- var table_1 = require("./doc/table");
37
- Object.defineProperty(exports, "Table", { enumerable: true, get: function () { return table_1.Table; } });
38
- var data_validations_1 = require("./doc/data-validations");
39
- Object.defineProperty(exports, "DataValidations", { enumerable: true, get: function () { return data_validations_1.DataValidations; } });
40
- // =============================================================================
41
- // Node.js Only: Streaming Classes
42
- // These can also be accessed via Workbook.createStreamWriter/createStreamReader
43
- // =============================================================================
44
- var workbook_writer_1 = require("./stream/xlsx/workbook-writer");
45
- Object.defineProperty(exports, "WorkbookWriter", { enumerable: true, get: function () { return workbook_writer_1.WorkbookWriter; } });
46
- var workbook_reader_1 = require("./stream/xlsx/workbook-reader");
47
- Object.defineProperty(exports, "WorkbookReader", { enumerable: true, get: function () { return workbook_reader_1.WorkbookReader; } });
48
- var worksheet_writer_1 = require("./stream/xlsx/worksheet-writer");
49
- Object.defineProperty(exports, "WorksheetWriter", { enumerable: true, get: function () { return worksheet_writer_1.WorksheetWriter; } });
50
- var worksheet_reader_1 = require("./stream/xlsx/worksheet-reader");
51
- Object.defineProperty(exports, "WorksheetReader", { enumerable: true, get: function () { return worksheet_reader_1.WorksheetReader; } });
52
- var modelcontainer_1 = require("./doc/modelcontainer");
53
- Object.defineProperty(exports, "ModelContainer", { enumerable: true, get: function () { return modelcontainer_1.ModelContainer; } });
54
- // =============================================================================
55
- // Enums
56
- // =============================================================================
44
+ var table_js_1 = require("./doc/table");
45
+ Object.defineProperty(exports, "Table", { enumerable: true, get: function () { return table_js_1.Table; } });
46
+ var data_validations_js_1 = require("./doc/data-validations");
47
+ Object.defineProperty(exports, "DataValidations", { enumerable: true, get: function () { return data_validations_js_1.DataValidations; } });
48
+ // Export enums
57
49
  __exportStar(require("./doc/enums"), exports);
58
- // =============================================================================
59
- // Types
60
- // =============================================================================
61
- // Export all type definitions from types.ts
50
+ // Export all type definitions
62
51
  __exportStar(require("./types"), exports);
63
- var csv_1 = require("./csv/csv");
64
- Object.defineProperty(exports, "CsvParserStream", { enumerable: true, get: function () { return csv_1.CsvParserStream; } });
65
- Object.defineProperty(exports, "CsvFormatterStream", { enumerable: true, get: function () { return csv_1.CsvFormatterStream; } });
66
- // =============================================================================
67
- // Utilities
68
- // =============================================================================
69
52
  __exportStar(require("./utils/sheet-utils"), exports);
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HyperlinkReader = void 0;
4
4
  const events_1 = require("events");
5
- const parse_sax_1 = require("../../utils/parse-sax");
6
- const enums_1 = require("../../doc/enums");
7
- const rel_type_1 = require("../../xlsx/rel-type");
5
+ const parse_sax_js_1 = require("../../utils/parse-sax");
6
+ const enums_js_1 = require("../../doc/enums");
7
+ const rel_type_js_1 = require("../../xlsx/rel-type");
8
8
  class HyperlinkReader extends events_1.EventEmitter {
9
9
  constructor({ workbook, id, iterator, options }) {
10
10
  super();
@@ -42,17 +42,17 @@ class HyperlinkReader extends events_1.EventEmitter {
42
42
  return;
43
43
  }
44
44
  try {
45
- for await (const events of (0, parse_sax_1.parseSax)(iterator)) {
45
+ for await (const events of (0, parse_sax_js_1.parseSax)(iterator)) {
46
46
  for (const { eventType, value } of events) {
47
47
  if (eventType === "opentag") {
48
48
  const node = value;
49
49
  if (node.name === "Relationship") {
50
50
  const rId = node.attributes.Id;
51
51
  switch (node.attributes.Type) {
52
- case rel_type_1.RelType.Hyperlink:
52
+ case rel_type_js_1.RelType.Hyperlink:
53
53
  {
54
54
  const relationship = {
55
- type: enums_1.Enums.RelationshipType.Hyperlink,
55
+ type: enums_js_1.Enums.RelationshipType.Hyperlink,
56
56
  rId,
57
57
  target: node.attributes.Target,
58
58
  targetMode: node.attributes.TargetMode