@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,154 +0,0 @@
1
- "use strict";
2
- /**
3
- * CSV Base class - Shared functionality for Node.js and Browser
4
- *
5
- * Uses native CSV parser (RFC 4180 compliant) with zero external dependencies.
6
- * Date parsing uses dayjs for format flexibility.
7
- */
8
- var __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.parseCsvStream = exports.formatCsv = exports.parseCsv = void 0;
13
- exports.createDefaultValueMapper = createDefaultValueMapper;
14
- exports.createDefaultWriteMapper = createDefaultWriteMapper;
15
- exports.parseCsvToWorksheet = parseCsvToWorksheet;
16
- exports.formatWorksheetToCsv = formatWorksheetToCsv;
17
- const dayjs_1 = __importDefault(require("dayjs"));
18
- const customParseFormat_js_1 = __importDefault(require("dayjs/plugin/customParseFormat.js"));
19
- const utc_js_1 = __importDefault(require("dayjs/plugin/utc.js"));
20
- const csv_core_1 = require("./csv-core");
21
- // Initialize dayjs plugins
22
- dayjs_1.default.extend(customParseFormat_js_1.default);
23
- dayjs_1.default.extend(utc_js_1.default);
24
- // Special Excel values mapping
25
- const SpecialValues = {
26
- true: true,
27
- false: false,
28
- "#N/A": { error: "#N/A" },
29
- "#REF!": { error: "#REF!" },
30
- "#NAME?": { error: "#NAME?" },
31
- "#DIV/0!": { error: "#DIV/0!" },
32
- "#NULL!": { error: "#NULL!" },
33
- "#VALUE!": { error: "#VALUE!" },
34
- "#NUM!": { error: "#NUM!" }
35
- };
36
- /**
37
- * Create the default value mapper for CSV parsing
38
- */
39
- function createDefaultValueMapper(dateFormats) {
40
- return function mapValue(datum) {
41
- if (datum === "") {
42
- return null;
43
- }
44
- // Try to parse as number
45
- const datumNumber = Number(datum);
46
- if (!Number.isNaN(datumNumber) && datumNumber !== Infinity) {
47
- return datumNumber;
48
- }
49
- // Try to parse as date
50
- const dt = dateFormats.reduce((matchingDate, currentDateFormat) => {
51
- if (matchingDate) {
52
- return matchingDate;
53
- }
54
- const dayjsObj = (0, dayjs_1.default)(datum, currentDateFormat, true);
55
- if (dayjsObj.isValid()) {
56
- return dayjsObj;
57
- }
58
- return null;
59
- }, null);
60
- if (dt) {
61
- return new Date(dt.valueOf());
62
- }
63
- // Check for special values
64
- const special = SpecialValues[datum];
65
- if (special !== undefined) {
66
- return special;
67
- }
68
- return datum;
69
- };
70
- }
71
- /**
72
- * Create the default value mapper for CSV writing
73
- */
74
- function createDefaultWriteMapper(dateFormat, dateUTC) {
75
- return function mapValue(value) {
76
- if (value) {
77
- // Handle hyperlinks
78
- if (value.text || value.hyperlink) {
79
- return value.hyperlink || value.text || "";
80
- }
81
- // Handle formulas
82
- if (value.formula || value.result) {
83
- return value.result || "";
84
- }
85
- // Handle dates
86
- if (value instanceof Date) {
87
- if (dateFormat) {
88
- return dateUTC ? dayjs_1.default.utc(value).format(dateFormat) : (0, dayjs_1.default)(value).format(dateFormat);
89
- }
90
- return dateUTC ? dayjs_1.default.utc(value).format() : (0, dayjs_1.default)(value).format();
91
- }
92
- // Handle errors
93
- if (value.error) {
94
- return value.error;
95
- }
96
- // Handle other objects
97
- if (typeof value === "object") {
98
- return JSON.stringify(value);
99
- }
100
- }
101
- return value;
102
- };
103
- }
104
- /**
105
- * Parse CSV content into a worksheet
106
- */
107
- function parseCsvToWorksheet(content, workbook, options = {}) {
108
- const worksheet = workbook.addWorksheet(options.sheetName);
109
- const dateFormats = options.dateFormats || [
110
- "YYYY-MM-DD[T]HH:mm:ssZ",
111
- "YYYY-MM-DD[T]HH:mm:ss",
112
- "MM-DD-YYYY",
113
- "YYYY-MM-DD"
114
- ];
115
- const map = options.map || createDefaultValueMapper(dateFormats);
116
- // Parse CSV
117
- const rows = (0, csv_core_1.parseCsv)(content, options.parserOptions);
118
- // Add rows to worksheet
119
- for (const row of rows) {
120
- worksheet.addRow(row.map(map));
121
- }
122
- return worksheet;
123
- }
124
- /**
125
- * Format worksheet as CSV string
126
- */
127
- function formatWorksheetToCsv(worksheet, options = {}) {
128
- if (!worksheet) {
129
- return "";
130
- }
131
- const { dateFormat, dateUTC } = options;
132
- const map = options.map || createDefaultWriteMapper(dateFormat, dateUTC);
133
- const includeEmptyRows = options.includeEmptyRows !== false;
134
- const rows = [];
135
- let lastRow = 1;
136
- worksheet.eachRow((row, rowNumber) => {
137
- // Add empty rows if needed
138
- if (includeEmptyRows) {
139
- while (lastRow++ < rowNumber - 1) {
140
- rows.push([]);
141
- }
142
- }
143
- const { values } = row;
144
- values.shift(); // Remove first empty element (1-indexed)
145
- rows.push(values.map(map));
146
- lastRow = rowNumber;
147
- });
148
- return (0, csv_core_1.formatCsv)(rows, options.formatterOptions);
149
- }
150
- // Re-export core types
151
- var csv_core_2 = require("./csv-core");
152
- Object.defineProperty(exports, "parseCsv", { enumerable: true, get: function () { return csv_core_2.parseCsv; } });
153
- Object.defineProperty(exports, "formatCsv", { enumerable: true, get: function () { return csv_core_2.formatCsv; } });
154
- Object.defineProperty(exports, "parseCsvStream", { enumerable: true, get: function () { return csv_core_2.parseCsvStream; } });
@@ -1,68 +0,0 @@
1
- "use strict";
2
- /**
3
- * CSV class for Browser - No file system dependencies
4
- *
5
- * Provides:
6
- * - load: Load from string or ArrayBuffer
7
- * - writeString: Write to string
8
- * - writeBuffer: Write to Uint8Array
9
- */
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.CSV = void 0;
12
- const csv_base_1 = require("./csv.base");
13
- class CSV {
14
- constructor(workbook) {
15
- this.workbook = workbook;
16
- }
17
- /**
18
- * Load CSV from string or ArrayBuffer
19
- */
20
- load(data, options) {
21
- let content;
22
- if (typeof data === "string") {
23
- content = data;
24
- }
25
- else if (data instanceof ArrayBuffer) {
26
- content = new TextDecoder("utf-8").decode(data);
27
- }
28
- else if (data instanceof Uint8Array) {
29
- content = new TextDecoder("utf-8").decode(data);
30
- }
31
- else {
32
- throw new Error("Invalid data type. Expected string, ArrayBuffer, or Uint8Array.");
33
- }
34
- return (0, csv_base_1.parseCsvToWorksheet)(content, this.workbook, options);
35
- }
36
- /**
37
- * Write CSV to string
38
- */
39
- writeString(options) {
40
- const worksheet = this.workbook.getWorksheet(options?.sheetName || options?.sheetId);
41
- return (0, csv_base_1.formatWorksheetToCsv)(worksheet, options);
42
- }
43
- /**
44
- * Write CSV to Uint8Array buffer
45
- */
46
- writeBuffer(options) {
47
- const content = this.writeString(options);
48
- return new TextEncoder().encode(content);
49
- }
50
- // Stubs for unsupported methods - throw helpful errors
51
- async readFile(_filename, _options) {
52
- throw new Error("CSV.readFile() is not available in browser. " +
53
- "Use CSV.load() with string or ArrayBuffer instead.");
54
- }
55
- async read(_stream, _options) {
56
- throw new Error("CSV.read() stream is not available in browser. " +
57
- "Use CSV.load() with string or ArrayBuffer instead.");
58
- }
59
- async writeFile(_filename, _options) {
60
- throw new Error("CSV.writeFile() is not available in browser. " +
61
- "Use CSV.writeString() or CSV.writeBuffer() and handle download manually.");
62
- }
63
- write(_stream, _options) {
64
- throw new Error("CSV.write() stream is not available in browser. " +
65
- "Use CSV.writeString() or CSV.writeBuffer() instead.");
66
- }
67
- }
68
- exports.CSV = CSV;
@@ -1,211 +0,0 @@
1
- "use strict";
2
- /**
3
- * WorkbookBase - Platform-independent base class for Workbook
4
- *
5
- * This file contains all the shared logic between Node.js and Browser versions.
6
- * Platform-specific features (xlsx, csv, streaming) are added by subclasses.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.WorkbookBase = void 0;
10
- const worksheet_1 = require("./worksheet");
11
- const defined_names_1 = require("./defined-names");
12
- // =============================================================================
13
- // WorkbookBase Class
14
- // =============================================================================
15
- /**
16
- * Base class for Workbook containing all platform-independent functionality.
17
- *
18
- * Subclasses add:
19
- * - Node.js: xlsx (full), csv, streaming (createStreamWriter/Reader)
20
- * - Browser: xlsx (buffer only), no csv, no streaming
21
- */
22
- class WorkbookBase {
23
- constructor() {
24
- this.category = "";
25
- this.company = "";
26
- this.created = new Date();
27
- this.description = "";
28
- this.keywords = "";
29
- this.manager = "";
30
- this.modified = this.created;
31
- this.properties = {};
32
- this.calcProperties = {};
33
- this._worksheets = [];
34
- this.subject = "";
35
- this.title = "";
36
- this.views = [];
37
- this.media = [];
38
- this.pivotTables = [];
39
- this._definedNames = new defined_names_1.DefinedNames();
40
- }
41
- // ===========================================================================
42
- // Worksheet Management
43
- // ===========================================================================
44
- get nextId() {
45
- // Find the next unique spot to add worksheet
46
- for (let i = 1; i < this._worksheets.length; i++) {
47
- if (!this._worksheets[i]) {
48
- return i;
49
- }
50
- }
51
- return this._worksheets.length || 1;
52
- }
53
- /**
54
- * Add a new worksheet and return a reference to it
55
- */
56
- addWorksheet(name, options) {
57
- const id = this.nextId;
58
- const lastOrderNo = this._worksheets.reduce((acc, ws) => ((ws && ws.orderNo) > acc ? ws.orderNo : acc), 0);
59
- const worksheetOptions = {
60
- ...options,
61
- id,
62
- name,
63
- orderNo: lastOrderNo + 1,
64
- workbook: this
65
- };
66
- const worksheet = new worksheet_1.Worksheet(worksheetOptions);
67
- this._worksheets[id] = worksheet;
68
- return worksheet;
69
- }
70
- removeWorksheetEx(worksheet) {
71
- delete this._worksheets[worksheet.id];
72
- }
73
- removeWorksheet(id) {
74
- const worksheet = this.getWorksheet(id);
75
- if (worksheet) {
76
- worksheet.destroy();
77
- }
78
- }
79
- /**
80
- * Fetch sheet by name or id
81
- */
82
- getWorksheet(id) {
83
- if (id === undefined) {
84
- return this._worksheets.find(Boolean);
85
- }
86
- if (typeof id === "number") {
87
- return this._worksheets[id];
88
- }
89
- if (typeof id === "string") {
90
- return this._worksheets.find(worksheet => worksheet && worksheet.name === id);
91
- }
92
- return undefined;
93
- }
94
- /**
95
- * Return a clone of worksheets in order
96
- */
97
- get worksheets() {
98
- return this._worksheets
99
- .slice(1)
100
- .sort((a, b) => a.orderNo - b.orderNo)
101
- .filter(Boolean);
102
- }
103
- /**
104
- * Iterate over all sheets.
105
- *
106
- * Note: `workbook.worksheets.forEach` will still work but this is better.
107
- */
108
- eachSheet(callback) {
109
- this.worksheets.forEach(sheet => {
110
- callback(sheet, sheet.id);
111
- });
112
- }
113
- // ===========================================================================
114
- // Defined Names
115
- // ===========================================================================
116
- get definedNames() {
117
- return this._definedNames;
118
- }
119
- // ===========================================================================
120
- // Themes
121
- // ===========================================================================
122
- clearThemes() {
123
- // Note: themes are not an exposed feature, meddle at your peril!
124
- this._themes = undefined;
125
- }
126
- // ===========================================================================
127
- // Images
128
- // ===========================================================================
129
- /**
130
- * Add Image to Workbook and return the id
131
- */
132
- addImage(image) {
133
- const id = this.media.length;
134
- this.media.push({ ...image, type: "image" });
135
- return id;
136
- }
137
- getImage(id) {
138
- return this.media[Number(id)];
139
- }
140
- // ===========================================================================
141
- // Model (Serialization)
142
- // ===========================================================================
143
- get model() {
144
- return {
145
- creator: this.creator || "Unknown",
146
- lastModifiedBy: this.lastModifiedBy || "Unknown",
147
- lastPrinted: this.lastPrinted,
148
- created: this.created,
149
- modified: this.modified,
150
- properties: this.properties,
151
- worksheets: this.worksheets.map(worksheet => worksheet.model),
152
- sheets: this.worksheets.map(ws => ws.model).filter(Boolean),
153
- definedNames: this._definedNames.model,
154
- views: this.views,
155
- company: this.company,
156
- manager: this.manager,
157
- title: this.title,
158
- subject: this.subject,
159
- keywords: this.keywords,
160
- category: this.category,
161
- description: this.description,
162
- language: this.language,
163
- revision: this.revision,
164
- contentStatus: this.contentStatus,
165
- themes: this._themes,
166
- media: this.media,
167
- pivotTables: this.pivotTables,
168
- calcProperties: this.calcProperties
169
- };
170
- }
171
- set model(value) {
172
- this.creator = value.creator;
173
- this.lastModifiedBy = value.lastModifiedBy;
174
- this.lastPrinted = value.lastPrinted;
175
- this.created = value.created;
176
- this.modified = value.modified;
177
- this.company = value.company;
178
- this.manager = value.manager;
179
- this.title = value.title;
180
- this.subject = value.subject;
181
- this.keywords = value.keywords;
182
- this.category = value.category;
183
- this.description = value.description;
184
- this.language = value.language;
185
- this.revision = value.revision;
186
- this.contentStatus = value.contentStatus;
187
- this.properties = value.properties;
188
- this.calcProperties = value.calcProperties;
189
- this._worksheets = [];
190
- value.worksheets.forEach(worksheetModel => {
191
- const { id, name, state } = worksheetModel;
192
- const orderNo = value.sheets && value.sheets.findIndex(ws => ws.id === id);
193
- const worksheet = (this._worksheets[id] = new worksheet_1.Worksheet({
194
- id,
195
- name,
196
- orderNo: orderNo !== -1 ? orderNo : undefined,
197
- state,
198
- workbook: this
199
- }));
200
- worksheet.model = worksheetModel;
201
- });
202
- this._definedNames.model = value.definedNames;
203
- this.views = value.views;
204
- this._themes = value.themes;
205
- this.media = value.media || [];
206
- // Handle pivot tables - either newly created or loaded from file
207
- // Loaded pivot tables come from loadedPivotTables after reconciliation
208
- this.pivotTables = value.pivotTables || value.loadedPivotTables || [];
209
- }
210
- }
211
- exports.WorkbookBase = WorkbookBase;
@@ -1,62 +0,0 @@
1
- "use strict";
2
- /**
3
- * Workbook Browser version - No Node.js dependencies
4
- *
5
- * Extends WorkbookBase with:
6
- * - xlsx: Buffer-based operations (load, writeBuffer)
7
- * - csv: Buffer-based operations (load, writeString, writeBuffer)
8
- * - streaming: NOT supported (throws error)
9
- */
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.Workbook = void 0;
12
- const workbook_base_1 = require("./workbook.base");
13
- const xlsx_browser_1 = require("../xlsx/xlsx.browser");
14
- const csv_browser_1 = require("../csv/csv.browser");
15
- class Workbook extends workbook_base_1.WorkbookBase {
16
- /**
17
- * xlsx file format operations
18
- * Supports: load (buffer), writeBuffer
19
- * NOT supported: readFile, writeFile, read (stream), write (stream)
20
- */
21
- get xlsx() {
22
- if (!this._xlsx) {
23
- this._xlsx = new xlsx_browser_1.XLSX(this);
24
- }
25
- return this._xlsx;
26
- }
27
- /**
28
- * CSV file format operations
29
- * Supports: load (string/buffer), writeString, writeBuffer
30
- * NOT supported: readFile, writeFile, read (stream), write (stream)
31
- */
32
- get csv() {
33
- if (!this._csv) {
34
- this._csv = new csv_browser_1.CSV(this);
35
- }
36
- return this._csv;
37
- }
38
- // ===========================================================================
39
- // Static Factory Methods - NOT available in browser
40
- // TypeScript users: These methods don't exist on this type
41
- // JavaScript users: These methods throw helpful errors
42
- // ===========================================================================
43
- /**
44
- * @deprecated Streaming is not available in browser
45
- * @throws Error with helpful message
46
- */
47
- static createStreamWriter(_options) {
48
- throw new Error("Streaming workbook writer is not available in browser. " +
49
- "Use `new Workbook()` with `xlsx.writeBuffer()` instead, " +
50
- "or import from 'excelts' (Node.js) for streaming support.");
51
- }
52
- /**
53
- * @deprecated Streaming is not available in browser
54
- * @throws Error with helpful message
55
- */
56
- static createStreamReader(_input, _options) {
57
- throw new Error("Streaming workbook reader is not available in browser. " +
58
- "Use `new Workbook()` with `xlsx.load()` instead, " +
59
- "or import from 'excelts' (Node.js) for streaming support.");
60
- }
61
- }
62
- exports.Workbook = Workbook;
@@ -1,75 +0,0 @@
1
- "use strict";
2
- /**
3
- * Browser-compatible Buffer utilities
4
- * Provides base64 encoding/decoding and a Buffer-like wrapper for Uint8Array
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.BrowserBuffer = void 0;
8
- exports.uint8ArrayToBase64 = uint8ArrayToBase64;
9
- exports.base64ToUint8Array = base64ToUint8Array;
10
- exports.stringToUtf16Le = stringToUtf16Le;
11
- exports.concatUint8Arrays = concatUint8Arrays;
12
- /**
13
- * Convert Uint8Array to base64 string
14
- */
15
- function uint8ArrayToBase64(bytes) {
16
- let binary = "";
17
- for (let i = 0; i < bytes.length; i++) {
18
- binary += String.fromCharCode(bytes[i]);
19
- }
20
- return btoa(binary);
21
- }
22
- /**
23
- * Convert base64 string to Uint8Array
24
- */
25
- function base64ToUint8Array(base64) {
26
- const binaryString = atob(base64);
27
- const bytes = new Uint8Array(binaryString.length);
28
- for (let i = 0; i < binaryString.length; i++) {
29
- bytes[i] = binaryString.charCodeAt(i);
30
- }
31
- return bytes;
32
- }
33
- /**
34
- * Buffer-like wrapper for Uint8Array with toString("base64") support
35
- * This provides Node.js Buffer-like API for browser environments
36
- */
37
- class BrowserBuffer extends Uint8Array {
38
- toString(encoding) {
39
- if (encoding === "base64") {
40
- return uint8ArrayToBase64(this);
41
- }
42
- return new TextDecoder().decode(this);
43
- }
44
- static from(data) {
45
- const buffer = new BrowserBuffer(data.length);
46
- buffer.set(data);
47
- return buffer;
48
- }
49
- }
50
- exports.BrowserBuffer = BrowserBuffer;
51
- /**
52
- * Convert string to UTF-16LE Uint8Array (used for Excel password hashing)
53
- */
54
- function stringToUtf16Le(str) {
55
- const bytes = new Uint8Array(str.length * 2);
56
- for (let i = 0; i < str.length; i++) {
57
- const code = str.charCodeAt(i);
58
- bytes[i * 2] = code & 0xff;
59
- bytes[i * 2 + 1] = (code >> 8) & 0xff;
60
- }
61
- return bytes;
62
- }
63
- /**
64
- * Concatenate multiple Uint8Arrays into one
65
- */
66
- function concatUint8Arrays(...arrays) {
67
- const totalLength = arrays.reduce((acc, arr) => acc + arr.length, 0);
68
- const result = new Uint8Array(totalLength);
69
- let offset = 0;
70
- for (const arr of arrays) {
71
- result.set(arr, offset);
72
- offset += arr.length;
73
- }
74
- return result;
75
- }