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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (376) hide show
  1. package/README.md +31 -18
  2. package/README_zh.md +31 -19
  3. package/dist/browser/excelts.esm.js +19115 -0
  4. package/dist/browser/excelts.esm.js.map +1 -0
  5. package/dist/browser/excelts.esm.min.js +127 -0
  6. package/dist/browser/excelts.iife.js +13576 -46968
  7. package/dist/browser/excelts.iife.js.map +1 -1
  8. package/dist/browser/excelts.iife.min.js +25 -105
  9. package/dist/cjs/csv/csv-core.js +701 -0
  10. package/dist/cjs/csv/csv-stream.js +646 -0
  11. package/dist/cjs/csv/csv.base.js +154 -0
  12. package/dist/cjs/csv/csv.browser.js +68 -0
  13. package/dist/cjs/csv/csv.js +226 -162
  14. package/dist/cjs/doc/anchor.js +2 -2
  15. package/dist/cjs/doc/cell.js +22 -22
  16. package/dist/cjs/doc/column.js +7 -7
  17. package/dist/cjs/doc/data-validations.js +3 -3
  18. package/dist/cjs/doc/defined-names.js +13 -13
  19. package/dist/cjs/doc/image.js +7 -7
  20. package/dist/cjs/doc/modelcontainer.js +2 -2
  21. package/dist/cjs/doc/note.js +2 -2
  22. package/dist/cjs/doc/pivot-table.js +5 -5
  23. package/dist/cjs/doc/range.js +11 -11
  24. package/dist/cjs/doc/row.js +16 -16
  25. package/dist/cjs/doc/table.js +5 -5
  26. package/dist/cjs/doc/workbook.base.js +211 -0
  27. package/dist/cjs/doc/workbook.browser.js +62 -0
  28. package/dist/cjs/doc/workbook.js +68 -179
  29. package/dist/cjs/doc/worksheet.js +41 -41
  30. package/dist/cjs/index.js +49 -32
  31. package/dist/cjs/stream/xlsx/hyperlink-reader.js +6 -6
  32. package/dist/cjs/stream/xlsx/sheet-comments-writer.js +12 -12
  33. package/dist/cjs/stream/xlsx/sheet-rels-writer.js +4 -4
  34. package/dist/cjs/stream/xlsx/workbook-reader.js +22 -22
  35. package/dist/cjs/stream/xlsx/workbook-writer.js +34 -34
  36. package/dist/cjs/stream/xlsx/worksheet-reader.js +17 -17
  37. package/dist/cjs/stream/xlsx/worksheet-writer.js +60 -60
  38. package/dist/cjs/utils/browser-buffer.js +75 -0
  39. package/dist/cjs/utils/cell-format.js +2 -2
  40. package/dist/cjs/utils/cell-matrix.js +5 -5
  41. package/dist/cjs/utils/encryptor.browser.js +240 -0
  42. package/dist/cjs/utils/parse-sax.js +2 -2
  43. package/dist/cjs/utils/shared-formula.js +5 -5
  44. package/dist/cjs/utils/sheet-utils.js +13 -13
  45. package/dist/cjs/utils/stream-buf.browser.js +355 -0
  46. package/dist/cjs/utils/stream-buf.js +5 -5
  47. package/dist/cjs/utils/unzip/extract.js +11 -11
  48. package/dist/cjs/utils/unzip/index.js +21 -21
  49. package/dist/cjs/utils/unzip/parse-extra-field.js +3 -3
  50. package/dist/cjs/utils/unzip/parse.js +16 -16
  51. package/dist/cjs/utils/unzip/zip-parser.js +3 -3
  52. package/dist/cjs/utils/utils.base.js +161 -0
  53. package/dist/cjs/utils/utils.browser.js +89 -0
  54. package/dist/cjs/utils/utils.js +46 -154
  55. package/dist/cjs/utils/xml-stream.js +3 -3
  56. package/dist/cjs/utils/zip/compress.base.js +85 -0
  57. package/dist/cjs/utils/zip/compress.browser.js +83 -0
  58. package/dist/cjs/utils/zip/compress.js +18 -198
  59. package/dist/cjs/utils/zip/crc32.browser.js +88 -0
  60. package/dist/cjs/utils/zip/index.js +17 -17
  61. package/dist/cjs/utils/zip/zip-builder.js +10 -10
  62. package/dist/cjs/utils/zip-stream.browser.js +135 -0
  63. package/dist/cjs/utils/zip-stream.js +4 -4
  64. package/dist/cjs/xlsx/xform/base-xform.js +4 -4
  65. package/dist/cjs/xlsx/xform/book/defined-name-xform.js +4 -4
  66. package/dist/cjs/xlsx/xform/book/sheet-xform.js +4 -4
  67. package/dist/cjs/xlsx/xform/book/workbook-calc-properties-xform.js +2 -2
  68. package/dist/cjs/xlsx/xform/book/workbook-pivot-cache-xform.js +2 -2
  69. package/dist/cjs/xlsx/xform/book/workbook-properties-xform.js +2 -2
  70. package/dist/cjs/xlsx/xform/book/workbook-view-xform.js +2 -2
  71. package/dist/cjs/xlsx/xform/book/workbook-xform.js +24 -24
  72. package/dist/cjs/xlsx/xform/comment/comment-xform.js +4 -4
  73. package/dist/cjs/xlsx/xform/comment/comments-xform.js +6 -6
  74. package/dist/cjs/xlsx/xform/comment/style/vml-position-xform.js +2 -2
  75. package/dist/cjs/xlsx/xform/comment/style/vml-protection-xform.js +2 -2
  76. package/dist/cjs/xlsx/xform/comment/vml-anchor-xform.js +2 -2
  77. package/dist/cjs/xlsx/xform/comment/vml-client-data-xform.js +10 -10
  78. package/dist/cjs/xlsx/xform/comment/vml-notes-xform.js +6 -6
  79. package/dist/cjs/xlsx/xform/comment/vml-shape-xform.js +6 -6
  80. package/dist/cjs/xlsx/xform/comment/vml-textbox-xform.js +2 -2
  81. package/dist/cjs/xlsx/xform/composite-xform.js +2 -2
  82. package/dist/cjs/xlsx/xform/core/app-heading-pairs-xform.js +2 -2
  83. package/dist/cjs/xlsx/xform/core/app-titles-of-parts-xform.js +2 -2
  84. package/dist/cjs/xlsx/xform/core/app-xform.js +11 -11
  85. package/dist/cjs/xlsx/xform/core/content-types-xform.js +4 -4
  86. package/dist/cjs/xlsx/xform/core/core-xform.js +23 -23
  87. package/dist/cjs/xlsx/xform/core/relationship-xform.js +2 -2
  88. package/dist/cjs/xlsx/xform/core/relationships-xform.js +6 -6
  89. package/dist/cjs/xlsx/xform/drawing/base-cell-anchor-xform.js +2 -2
  90. package/dist/cjs/xlsx/xform/drawing/blip-fill-xform.js +4 -4
  91. package/dist/cjs/xlsx/xform/drawing/blip-xform.js +2 -2
  92. package/dist/cjs/xlsx/xform/drawing/c-nv-pic-pr-xform.js +2 -2
  93. package/dist/cjs/xlsx/xform/drawing/c-nv-pr-xform.js +6 -6
  94. package/dist/cjs/xlsx/xform/drawing/cell-position-xform.js +7 -7
  95. package/dist/cjs/xlsx/xform/drawing/drawing-xform.js +10 -10
  96. package/dist/cjs/xlsx/xform/drawing/ext-lst-xform.js +2 -2
  97. package/dist/cjs/xlsx/xform/drawing/ext-xform.js +2 -2
  98. package/dist/cjs/xlsx/xform/drawing/hlink-click-xform.js +2 -2
  99. package/dist/cjs/xlsx/xform/drawing/nv-pic-pr-xform.js +6 -6
  100. package/dist/cjs/xlsx/xform/drawing/one-cell-anchor-xform.js +10 -10
  101. package/dist/cjs/xlsx/xform/drawing/pic-xform.js +9 -9
  102. package/dist/cjs/xlsx/xform/drawing/two-cell-anchor-xform.js +9 -9
  103. package/dist/cjs/xlsx/xform/list-xform.js +2 -2
  104. package/dist/cjs/xlsx/xform/pivot-table/cache-field-xform.js +5 -5
  105. package/dist/cjs/xlsx/xform/pivot-table/cache-field.js +3 -3
  106. package/dist/cjs/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +10 -10
  107. package/dist/cjs/xlsx/xform/pivot-table/pivot-cache-records-xform.js +9 -9
  108. package/dist/cjs/xlsx/xform/pivot-table/pivot-table-xform.js +10 -11
  109. package/dist/cjs/xlsx/xform/sheet/auto-filter-xform.js +4 -4
  110. package/dist/cjs/xlsx/xform/sheet/cell-xform.js +65 -65
  111. package/dist/cjs/xlsx/xform/sheet/cf/cf-rule-xform.js +27 -27
  112. package/dist/cjs/xlsx/xform/sheet/cf/cfvo-xform.js +3 -3
  113. package/dist/cjs/xlsx/xform/sheet/cf/color-scale-xform.js +6 -6
  114. package/dist/cjs/xlsx/xform/sheet/cf/conditional-formatting-xform.js +6 -6
  115. package/dist/cjs/xlsx/xform/sheet/cf/conditional-formattings-xform.js +4 -4
  116. package/dist/cjs/xlsx/xform/sheet/cf/databar-xform.js +6 -6
  117. package/dist/cjs/xlsx/xform/sheet/cf/ext-lst-ref-xform.js +5 -5
  118. package/dist/cjs/xlsx/xform/sheet/cf/formula-xform.js +2 -2
  119. package/dist/cjs/xlsx/xform/sheet/cf/icon-set-xform.js +11 -11
  120. package/dist/cjs/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js +3 -3
  121. package/dist/cjs/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +11 -12
  122. package/dist/cjs/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js +4 -4
  123. package/dist/cjs/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js +8 -8
  124. package/dist/cjs/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js +6 -6
  125. package/dist/cjs/xlsx/xform/sheet/cf-ext/databar-ext-xform.js +26 -26
  126. package/dist/cjs/xlsx/xform/sheet/cf-ext/f-ext-xform.js +2 -2
  127. package/dist/cjs/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js +14 -14
  128. package/dist/cjs/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js +2 -2
  129. package/dist/cjs/xlsx/xform/sheet/col-xform.js +6 -6
  130. package/dist/cjs/xlsx/xform/sheet/data-validations-xform.js +18 -18
  131. package/dist/cjs/xlsx/xform/sheet/dimension-xform.js +2 -2
  132. package/dist/cjs/xlsx/xform/sheet/drawing-xform.js +2 -2
  133. package/dist/cjs/xlsx/xform/sheet/ext-lst-xform.js +5 -5
  134. package/dist/cjs/xlsx/xform/sheet/header-footer-xform.js +2 -2
  135. package/dist/cjs/xlsx/xform/sheet/hyperlink-xform.js +2 -2
  136. package/dist/cjs/xlsx/xform/sheet/merge-cell-xform.js +2 -2
  137. package/dist/cjs/xlsx/xform/sheet/merges.js +8 -8
  138. package/dist/cjs/xlsx/xform/sheet/outline-properties-xform.js +2 -2
  139. package/dist/cjs/xlsx/xform/sheet/page-breaks-xform.js +2 -2
  140. package/dist/cjs/xlsx/xform/sheet/page-margins-xform.js +2 -2
  141. package/dist/cjs/xlsx/xform/sheet/page-setup-properties-xform.js +2 -2
  142. package/dist/cjs/xlsx/xform/sheet/page-setup-xform.js +2 -2
  143. package/dist/cjs/xlsx/xform/sheet/picture-xform.js +2 -2
  144. package/dist/cjs/xlsx/xform/sheet/print-options-xform.js +2 -2
  145. package/dist/cjs/xlsx/xform/sheet/row-breaks-xform.js +4 -4
  146. package/dist/cjs/xlsx/xform/sheet/row-xform.js +11 -11
  147. package/dist/cjs/xlsx/xform/sheet/sheet-format-properties-xform.js +2 -2
  148. package/dist/cjs/xlsx/xform/sheet/sheet-properties-xform.js +8 -8
  149. package/dist/cjs/xlsx/xform/sheet/sheet-protection-xform.js +2 -2
  150. package/dist/cjs/xlsx/xform/sheet/sheet-view-xform.js +4 -4
  151. package/dist/cjs/xlsx/xform/sheet/table-part-xform.js +2 -2
  152. package/dist/cjs/xlsx/xform/sheet/worksheet-xform.js +68 -68
  153. package/dist/cjs/xlsx/xform/simple/boolean-xform.js +2 -2
  154. package/dist/cjs/xlsx/xform/simple/date-xform.js +2 -2
  155. package/dist/cjs/xlsx/xform/simple/float-xform.js +2 -2
  156. package/dist/cjs/xlsx/xform/simple/integer-xform.js +2 -2
  157. package/dist/cjs/xlsx/xform/simple/string-xform.js +2 -2
  158. package/dist/cjs/xlsx/xform/static-xform.js +4 -4
  159. package/dist/cjs/xlsx/xform/strings/phonetic-text-xform.js +6 -6
  160. package/dist/cjs/xlsx/xform/strings/rich-text-xform.js +6 -6
  161. package/dist/cjs/xlsx/xform/strings/shared-string-xform.js +8 -8
  162. package/dist/cjs/xlsx/xform/strings/shared-strings-xform.js +6 -6
  163. package/dist/cjs/xlsx/xform/strings/text-xform.js +2 -2
  164. package/dist/cjs/xlsx/xform/style/alignment-xform.js +8 -8
  165. package/dist/cjs/xlsx/xform/style/border-xform.js +8 -8
  166. package/dist/cjs/xlsx/xform/style/color-xform.js +2 -2
  167. package/dist/cjs/xlsx/xform/style/dxf-xform.js +14 -14
  168. package/dist/cjs/xlsx/xform/style/fill-xform.js +9 -9
  169. package/dist/cjs/xlsx/xform/style/font-xform.js +22 -22
  170. package/dist/cjs/xlsx/xform/style/numfmt-xform.js +5 -5
  171. package/dist/cjs/xlsx/xform/style/protection-xform.js +2 -2
  172. package/dist/cjs/xlsx/xform/style/style-xform.js +6 -6
  173. package/dist/cjs/xlsx/xform/style/styles-xform.js +39 -39
  174. package/dist/cjs/xlsx/xform/style/underline-xform.js +2 -2
  175. package/dist/cjs/xlsx/xform/table/auto-filter-xform.js +4 -4
  176. package/dist/cjs/xlsx/xform/table/custom-filter-xform.js +2 -2
  177. package/dist/cjs/xlsx/xform/table/filter-column-xform.js +9 -9
  178. package/dist/cjs/xlsx/xform/table/filter-xform.js +2 -2
  179. package/dist/cjs/xlsx/xform/table/table-column-xform.js +2 -2
  180. package/dist/cjs/xlsx/xform/table/table-style-info-xform.js +2 -2
  181. package/dist/cjs/xlsx/xform/table/table-xform.js +12 -12
  182. package/dist/cjs/xlsx/xlsx.base.js +742 -0
  183. package/dist/cjs/xlsx/xlsx.browser.js +205 -0
  184. package/dist/cjs/xlsx/xlsx.js +91 -833
  185. package/dist/esm/csv/csv-core.js +694 -0
  186. package/dist/esm/csv/csv-stream.js +638 -0
  187. package/dist/esm/csv/csv.base.js +141 -0
  188. package/dist/esm/csv/csv.browser.js +65 -0
  189. package/dist/esm/csv/csv.js +189 -159
  190. package/dist/esm/doc/workbook.base.js +207 -0
  191. package/dist/esm/doc/workbook.browser.js +59 -0
  192. package/dist/esm/doc/workbook.js +64 -175
  193. package/dist/esm/index.browser.js +33 -1
  194. package/dist/esm/index.js +23 -8
  195. package/dist/esm/local.js +0 -1
  196. package/dist/esm/utils/browser-buffer.js +67 -0
  197. package/dist/esm/utils/encryptor.browser.js +237 -0
  198. package/dist/esm/utils/stream-buf.browser.js +352 -0
  199. package/dist/esm/utils/utils.base.js +142 -0
  200. package/dist/esm/utils/utils.browser.js +68 -0
  201. package/dist/esm/utils/utils.js +15 -123
  202. package/dist/esm/utils/zip/compress.base.js +80 -0
  203. package/dist/esm/utils/zip/compress.browser.js +76 -0
  204. package/dist/esm/utils/zip/compress.js +16 -164
  205. package/dist/esm/utils/zip/crc32.browser.js +82 -0
  206. package/dist/esm/utils/zip-stream.browser.js +132 -0
  207. package/dist/esm/xlsx/xform/pivot-table/pivot-table-xform.js +2 -3
  208. package/dist/esm/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +2 -3
  209. package/dist/esm/xlsx/xlsx.base.js +739 -0
  210. package/dist/esm/xlsx/xlsx.browser.js +202 -0
  211. package/dist/esm/xlsx/xlsx.js +87 -829
  212. package/dist/types/csv/csv-core.d.ts +207 -0
  213. package/dist/types/csv/csv-stream.d.ts +114 -0
  214. package/dist/types/csv/csv.base.d.ts +61 -0
  215. package/dist/types/csv/csv.browser.d.ts +33 -0
  216. package/dist/types/csv/csv.d.ts +97 -71
  217. package/dist/types/doc/anchor.d.ts +1 -1
  218. package/dist/types/doc/cell.d.ts +7 -7
  219. package/dist/types/doc/column.d.ts +3 -3
  220. package/dist/types/doc/defined-names.d.ts +4 -4
  221. package/dist/types/doc/image.d.ts +2 -2
  222. package/dist/types/doc/modelcontainer.d.ts +1 -1
  223. package/dist/types/doc/pivot-table.d.ts +1 -1
  224. package/dist/types/doc/range.d.ts +1 -1
  225. package/dist/types/doc/row.d.ts +3 -3
  226. package/dist/types/doc/table.d.ts +2 -2
  227. package/dist/types/doc/workbook.base.d.ts +111 -0
  228. package/dist/types/doc/workbook.browser.d.ts +38 -0
  229. package/dist/types/doc/workbook.d.ts +62 -92
  230. package/dist/types/doc/worksheet.d.ts +10 -10
  231. package/dist/types/index.browser.d.ts +19 -5
  232. package/dist/types/index.d.ts +24 -23
  233. package/dist/types/local.d.ts +0 -1
  234. package/dist/types/stream/xlsx/hyperlink-reader.d.ts +1 -1
  235. package/dist/types/stream/xlsx/workbook-reader.d.ts +4 -4
  236. package/dist/types/stream/xlsx/workbook-writer.d.ts +6 -6
  237. package/dist/types/stream/xlsx/worksheet-reader.d.ts +5 -5
  238. package/dist/types/stream/xlsx/worksheet-writer.d.ts +9 -9
  239. package/dist/types/utils/browser-buffer.d.ts +28 -0
  240. package/dist/types/utils/col-cache.d.ts +1 -1
  241. package/dist/types/utils/encryptor.browser.d.ts +28 -0
  242. package/dist/types/utils/sheet-utils.d.ts +3 -3
  243. package/dist/types/utils/stream-buf.browser.d.ts +41 -0
  244. package/dist/types/utils/unzip/extract.d.ts +6 -6
  245. package/dist/types/utils/unzip/index.d.ts +8 -8
  246. package/dist/types/utils/unzip/parse.d.ts +3 -3
  247. package/dist/types/utils/utils.base.d.ts +29 -0
  248. package/dist/types/utils/utils.browser.d.ts +29 -0
  249. package/dist/types/utils/utils.d.ts +6 -25
  250. package/dist/types/utils/zip/compress.base.d.ts +42 -0
  251. package/dist/types/utils/zip/compress.browser.d.ts +54 -0
  252. package/dist/types/utils/zip/compress.d.ts +13 -45
  253. package/dist/types/utils/zip/crc32.browser.d.ts +52 -0
  254. package/dist/types/utils/zip/index.d.ts +5 -5
  255. package/dist/types/utils/zip/zip-builder.d.ts +1 -1
  256. package/dist/types/utils/zip-stream.browser.d.ts +39 -0
  257. package/dist/types/xlsx/xform/base-xform.d.ts +1 -1
  258. package/dist/types/xlsx/xform/book/defined-name-xform.d.ts +1 -1
  259. package/dist/types/xlsx/xform/book/sheet-xform.d.ts +1 -1
  260. package/dist/types/xlsx/xform/book/workbook-calc-properties-xform.d.ts +1 -1
  261. package/dist/types/xlsx/xform/book/workbook-pivot-cache-xform.d.ts +1 -1
  262. package/dist/types/xlsx/xform/book/workbook-properties-xform.d.ts +1 -1
  263. package/dist/types/xlsx/xform/book/workbook-view-xform.d.ts +1 -1
  264. package/dist/types/xlsx/xform/book/workbook-xform.d.ts +2 -2
  265. package/dist/types/xlsx/xform/comment/comment-xform.d.ts +2 -2
  266. package/dist/types/xlsx/xform/comment/comments-xform.d.ts +2 -2
  267. package/dist/types/xlsx/xform/comment/style/vml-position-xform.d.ts +1 -1
  268. package/dist/types/xlsx/xform/comment/style/vml-protection-xform.d.ts +1 -1
  269. package/dist/types/xlsx/xform/comment/vml-anchor-xform.d.ts +1 -1
  270. package/dist/types/xlsx/xform/comment/vml-client-data-xform.d.ts +1 -1
  271. package/dist/types/xlsx/xform/comment/vml-notes-xform.d.ts +1 -1
  272. package/dist/types/xlsx/xform/comment/vml-shape-xform.d.ts +1 -1
  273. package/dist/types/xlsx/xform/comment/vml-textbox-xform.d.ts +1 -1
  274. package/dist/types/xlsx/xform/composite-xform.d.ts +1 -1
  275. package/dist/types/xlsx/xform/core/app-heading-pairs-xform.d.ts +1 -1
  276. package/dist/types/xlsx/xform/core/app-titles-of-parts-xform.d.ts +1 -1
  277. package/dist/types/xlsx/xform/core/app-xform.d.ts +1 -1
  278. package/dist/types/xlsx/xform/core/content-types-xform.d.ts +1 -1
  279. package/dist/types/xlsx/xform/core/core-xform.d.ts +1 -1
  280. package/dist/types/xlsx/xform/core/relationship-xform.d.ts +1 -1
  281. package/dist/types/xlsx/xform/core/relationships-xform.d.ts +1 -1
  282. package/dist/types/xlsx/xform/drawing/base-cell-anchor-xform.d.ts +1 -1
  283. package/dist/types/xlsx/xform/drawing/blip-fill-xform.d.ts +2 -2
  284. package/dist/types/xlsx/xform/drawing/blip-xform.d.ts +1 -1
  285. package/dist/types/xlsx/xform/drawing/c-nv-pic-pr-xform.d.ts +1 -1
  286. package/dist/types/xlsx/xform/drawing/c-nv-pr-xform.d.ts +1 -1
  287. package/dist/types/xlsx/xform/drawing/cell-position-xform.d.ts +2 -2
  288. package/dist/types/xlsx/xform/drawing/drawing-xform.d.ts +1 -1
  289. package/dist/types/xlsx/xform/drawing/ext-lst-xform.d.ts +1 -1
  290. package/dist/types/xlsx/xform/drawing/ext-xform.d.ts +1 -1
  291. package/dist/types/xlsx/xform/drawing/hlink-click-xform.d.ts +1 -1
  292. package/dist/types/xlsx/xform/drawing/nv-pic-pr-xform.d.ts +1 -1
  293. package/dist/types/xlsx/xform/drawing/one-cell-anchor-xform.d.ts +1 -1
  294. package/dist/types/xlsx/xform/drawing/pic-xform.d.ts +1 -1
  295. package/dist/types/xlsx/xform/drawing/two-cell-anchor-xform.d.ts +1 -1
  296. package/dist/types/xlsx/xform/list-xform.d.ts +1 -1
  297. package/dist/types/xlsx/xform/pivot-table/cache-field-xform.d.ts +1 -1
  298. package/dist/types/xlsx/xform/pivot-table/pivot-cache-definition-xform.d.ts +3 -3
  299. package/dist/types/xlsx/xform/pivot-table/pivot-cache-records-xform.d.ts +2 -2
  300. package/dist/types/xlsx/xform/pivot-table/pivot-table-xform.d.ts +1 -1
  301. package/dist/types/xlsx/xform/sheet/auto-filter-xform.d.ts +1 -1
  302. package/dist/types/xlsx/xform/sheet/cell-xform.d.ts +1 -1
  303. package/dist/types/xlsx/xform/sheet/cf/cf-rule-xform.d.ts +6 -6
  304. package/dist/types/xlsx/xform/sheet/cf/cfvo-xform.d.ts +1 -1
  305. package/dist/types/xlsx/xform/sheet/cf/color-scale-xform.d.ts +3 -3
  306. package/dist/types/xlsx/xform/sheet/cf/conditional-formatting-xform.d.ts +1 -1
  307. package/dist/types/xlsx/xform/sheet/cf/conditional-formattings-xform.d.ts +2 -2
  308. package/dist/types/xlsx/xform/sheet/cf/databar-xform.d.ts +3 -3
  309. package/dist/types/xlsx/xform/sheet/cf/ext-lst-ref-xform.d.ts +1 -1
  310. package/dist/types/xlsx/xform/sheet/cf/formula-xform.d.ts +1 -1
  311. package/dist/types/xlsx/xform/sheet/cf/icon-set-xform.d.ts +2 -2
  312. package/dist/types/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.d.ts +1 -1
  313. package/dist/types/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.d.ts +3 -3
  314. package/dist/types/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.d.ts +2 -2
  315. package/dist/types/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.d.ts +3 -3
  316. package/dist/types/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.d.ts +2 -2
  317. package/dist/types/xlsx/xform/sheet/cf-ext/databar-ext-xform.d.ts +3 -3
  318. package/dist/types/xlsx/xform/sheet/cf-ext/f-ext-xform.d.ts +1 -1
  319. package/dist/types/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.d.ts +3 -3
  320. package/dist/types/xlsx/xform/sheet/cf-ext/sqref-ext-xform.d.ts +1 -1
  321. package/dist/types/xlsx/xform/sheet/col-xform.d.ts +1 -1
  322. package/dist/types/xlsx/xform/sheet/data-validations-xform.d.ts +1 -1
  323. package/dist/types/xlsx/xform/sheet/dimension-xform.d.ts +1 -1
  324. package/dist/types/xlsx/xform/sheet/drawing-xform.d.ts +1 -1
  325. package/dist/types/xlsx/xform/sheet/ext-lst-xform.d.ts +1 -1
  326. package/dist/types/xlsx/xform/sheet/header-footer-xform.d.ts +1 -1
  327. package/dist/types/xlsx/xform/sheet/hyperlink-xform.d.ts +1 -1
  328. package/dist/types/xlsx/xform/sheet/merge-cell-xform.d.ts +1 -1
  329. package/dist/types/xlsx/xform/sheet/outline-properties-xform.d.ts +1 -1
  330. package/dist/types/xlsx/xform/sheet/page-breaks-xform.d.ts +1 -1
  331. package/dist/types/xlsx/xform/sheet/page-margins-xform.d.ts +1 -1
  332. package/dist/types/xlsx/xform/sheet/page-setup-properties-xform.d.ts +1 -1
  333. package/dist/types/xlsx/xform/sheet/page-setup-xform.d.ts +1 -1
  334. package/dist/types/xlsx/xform/sheet/picture-xform.d.ts +1 -1
  335. package/dist/types/xlsx/xform/sheet/print-options-xform.d.ts +1 -1
  336. package/dist/types/xlsx/xform/sheet/row-breaks-xform.d.ts +1 -1
  337. package/dist/types/xlsx/xform/sheet/row-xform.d.ts +1 -1
  338. package/dist/types/xlsx/xform/sheet/sheet-format-properties-xform.d.ts +1 -1
  339. package/dist/types/xlsx/xform/sheet/sheet-properties-xform.d.ts +1 -1
  340. package/dist/types/xlsx/xform/sheet/sheet-protection-xform.d.ts +1 -1
  341. package/dist/types/xlsx/xform/sheet/sheet-view-xform.d.ts +1 -1
  342. package/dist/types/xlsx/xform/sheet/table-part-xform.d.ts +1 -1
  343. package/dist/types/xlsx/xform/sheet/worksheet-xform.d.ts +1 -1
  344. package/dist/types/xlsx/xform/simple/boolean-xform.d.ts +1 -1
  345. package/dist/types/xlsx/xform/simple/date-xform.d.ts +1 -1
  346. package/dist/types/xlsx/xform/simple/float-xform.d.ts +1 -1
  347. package/dist/types/xlsx/xform/simple/integer-xform.d.ts +1 -1
  348. package/dist/types/xlsx/xform/simple/string-xform.d.ts +1 -1
  349. package/dist/types/xlsx/xform/static-xform.d.ts +1 -1
  350. package/dist/types/xlsx/xform/strings/phonetic-text-xform.d.ts +1 -1
  351. package/dist/types/xlsx/xform/strings/rich-text-xform.d.ts +3 -3
  352. package/dist/types/xlsx/xform/strings/shared-string-xform.d.ts +1 -1
  353. package/dist/types/xlsx/xform/strings/shared-strings-xform.d.ts +2 -2
  354. package/dist/types/xlsx/xform/strings/text-xform.d.ts +1 -1
  355. package/dist/types/xlsx/xform/style/alignment-xform.d.ts +1 -1
  356. package/dist/types/xlsx/xform/style/border-xform.d.ts +2 -2
  357. package/dist/types/xlsx/xform/style/color-xform.d.ts +1 -1
  358. package/dist/types/xlsx/xform/style/dxf-xform.d.ts +1 -1
  359. package/dist/types/xlsx/xform/style/fill-xform.d.ts +2 -2
  360. package/dist/types/xlsx/xform/style/font-xform.d.ts +1 -1
  361. package/dist/types/xlsx/xform/style/numfmt-xform.d.ts +1 -1
  362. package/dist/types/xlsx/xform/style/protection-xform.d.ts +1 -1
  363. package/dist/types/xlsx/xform/style/style-xform.d.ts +3 -3
  364. package/dist/types/xlsx/xform/style/styles-xform.d.ts +2 -2
  365. package/dist/types/xlsx/xform/style/underline-xform.d.ts +1 -1
  366. package/dist/types/xlsx/xform/table/auto-filter-xform.d.ts +2 -2
  367. package/dist/types/xlsx/xform/table/custom-filter-xform.d.ts +1 -1
  368. package/dist/types/xlsx/xform/table/filter-column-xform.d.ts +2 -2
  369. package/dist/types/xlsx/xform/table/filter-xform.d.ts +1 -1
  370. package/dist/types/xlsx/xform/table/table-column-xform.d.ts +1 -1
  371. package/dist/types/xlsx/xform/table/table-style-info-xform.d.ts +1 -1
  372. package/dist/types/xlsx/xform/table/table-xform.d.ts +1 -1
  373. package/dist/types/xlsx/xlsx.base.d.ts +134 -0
  374. package/dist/types/xlsx/xlsx.browser.d.ts +31 -0
  375. package/dist/types/xlsx/xlsx.d.ts +20 -80
  376. package/package.json +13 -15
@@ -1,6 +1,6 @@
1
- import { Cell, type CellModel, type CellAddress } from "./cell.js";
2
- import type { Worksheet } from "./worksheet.js";
3
- import type { Style, NumFmt, Font, Alignment, Protection, Borders, Fill, CellValue, RowValues } from "../types.js";
1
+ import { Cell, type CellModel, type CellAddress } from "./cell";
2
+ import type { Worksheet } from "./worksheet";
3
+ import type { Style, NumFmt, Font, Alignment, Protection, Borders, Fill, CellValue, RowValues } from "../types";
4
4
  interface RowDimensions {
5
5
  min: number;
6
6
  max: number;
@@ -1,5 +1,5 @@
1
- import type { Address, CellFormulaValue, CellValue, Style, TableColumnProperties, TableStyleProperties } from "../types.js";
2
- import type { Worksheet } from "./worksheet.js";
1
+ import type { Address, CellFormulaValue, CellValue, Style, TableColumnProperties, TableStyleProperties } from "../types";
2
+ import type { Worksheet } from "./worksheet";
3
3
  interface TableModel {
4
4
  ref: string;
5
5
  name: string;
@@ -0,0 +1,111 @@
1
+ /**
2
+ * WorkbookBase - Platform-independent base class for Workbook
3
+ *
4
+ * This file contains all the shared logic between Node.js and Browser versions.
5
+ * Platform-specific features (xlsx, csv, streaming) are added by subclasses.
6
+ */
7
+ import { Worksheet, type WorksheetModel } from "./worksheet";
8
+ import { DefinedNames, type DefinedNameModel } from "./defined-names";
9
+ import type { PivotTable } from "./pivot-table";
10
+ import type { AddWorksheetOptions, CalculationProperties, Image, WorkbookProperties, WorkbookView, Buffer as ExcelBuffer } from "../types";
11
+ /** Internal media type - more flexible than public Media type */
12
+ export interface WorkbookMedia {
13
+ type: string;
14
+ extension: string;
15
+ filename?: string;
16
+ buffer?: ExcelBuffer | Uint8Array;
17
+ base64?: string;
18
+ name?: string;
19
+ }
20
+ /** Internal model type for serialization */
21
+ export interface WorkbookModel {
22
+ creator?: string;
23
+ lastModifiedBy?: string;
24
+ lastPrinted?: Date;
25
+ created: Date;
26
+ modified: Date;
27
+ properties: Partial<WorkbookProperties>;
28
+ worksheets: WorksheetModel[];
29
+ sheets?: WorksheetModel[];
30
+ definedNames: DefinedNameModel[];
31
+ views: WorkbookView[];
32
+ company: string;
33
+ manager: string;
34
+ title: string;
35
+ subject: string;
36
+ keywords: string;
37
+ category: string;
38
+ description: string;
39
+ language?: string;
40
+ revision?: number;
41
+ contentStatus?: string;
42
+ themes?: unknown;
43
+ media: WorkbookMedia[];
44
+ pivotTables: PivotTable[];
45
+ /** Loaded pivot tables from file - used during reconciliation */
46
+ loadedPivotTables?: any[];
47
+ calcProperties: Partial<CalculationProperties>;
48
+ }
49
+ /**
50
+ * Base class for Workbook containing all platform-independent functionality.
51
+ *
52
+ * Subclasses add:
53
+ * - Node.js: xlsx (full), csv, streaming (createStreamWriter/Reader)
54
+ * - Browser: xlsx (buffer only), no csv, no streaming
55
+ */
56
+ export declare abstract class WorkbookBase {
57
+ category: string;
58
+ company: string;
59
+ created: Date;
60
+ description: string;
61
+ keywords: string;
62
+ manager: string;
63
+ modified: Date;
64
+ subject: string;
65
+ title: string;
66
+ creator?: string;
67
+ lastModifiedBy?: string;
68
+ lastPrinted?: Date;
69
+ language?: string;
70
+ revision?: number;
71
+ contentStatus?: string;
72
+ properties: Partial<WorkbookProperties>;
73
+ calcProperties: Partial<CalculationProperties>;
74
+ views: WorkbookView[];
75
+ media: WorkbookMedia[];
76
+ pivotTables: PivotTable[];
77
+ protected _worksheets: Worksheet[];
78
+ protected _definedNames: DefinedNames;
79
+ protected _themes?: unknown;
80
+ constructor();
81
+ get nextId(): number;
82
+ /**
83
+ * Add a new worksheet and return a reference to it
84
+ */
85
+ addWorksheet(name?: string, options?: AddWorksheetOptions): Worksheet;
86
+ removeWorksheetEx(worksheet: Worksheet): void;
87
+ removeWorksheet(id: number | string): void;
88
+ /**
89
+ * Fetch sheet by name or id
90
+ */
91
+ getWorksheet(id?: number | string): Worksheet | undefined;
92
+ /**
93
+ * Return a clone of worksheets in order
94
+ */
95
+ get worksheets(): Worksheet[];
96
+ /**
97
+ * Iterate over all sheets.
98
+ *
99
+ * Note: `workbook.worksheets.forEach` will still work but this is better.
100
+ */
101
+ eachSheet(callback: (sheet: Worksheet, id: number) => void): void;
102
+ get definedNames(): DefinedNames;
103
+ clearThemes(): void;
104
+ /**
105
+ * Add Image to Workbook and return the id
106
+ */
107
+ addImage(image: Image): number;
108
+ getImage(id: number | string): WorkbookMedia | undefined;
109
+ get model(): WorkbookModel;
110
+ set model(value: WorkbookModel);
111
+ }
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Workbook Browser version - No Node.js dependencies
3
+ *
4
+ * Extends WorkbookBase with:
5
+ * - xlsx: Buffer-based operations (load, writeBuffer)
6
+ * - csv: Buffer-based operations (load, writeString, writeBuffer)
7
+ * - streaming: NOT supported (throws error)
8
+ */
9
+ import { WorkbookBase } from "./workbook.base";
10
+ import { XLSX } from "../xlsx/xlsx.browser";
11
+ import { CSV } from "../csv/csv.browser";
12
+ declare class Workbook extends WorkbookBase {
13
+ private _xlsx?;
14
+ private _csv?;
15
+ /**
16
+ * xlsx file format operations
17
+ * Supports: load (buffer), writeBuffer
18
+ * NOT supported: readFile, writeFile, read (stream), write (stream)
19
+ */
20
+ get xlsx(): XLSX;
21
+ /**
22
+ * CSV file format operations
23
+ * Supports: load (string/buffer), writeString, writeBuffer
24
+ * NOT supported: readFile, writeFile, read (stream), write (stream)
25
+ */
26
+ get csv(): CSV;
27
+ /**
28
+ * @deprecated Streaming is not available in browser
29
+ * @throws Error with helpful message
30
+ */
31
+ static createStreamWriter(_options?: unknown): never;
32
+ /**
33
+ * @deprecated Streaming is not available in browser
34
+ * @throws Error with helpful message
35
+ */
36
+ static createStreamReader(_input?: unknown, _options?: unknown): never;
37
+ }
38
+ export { Workbook };
@@ -1,109 +1,79 @@
1
- import { Worksheet, type WorksheetModel } from "./worksheet.js";
2
- import { DefinedNames, type DefinedNameModel } from "./defined-names.js";
3
- import { XLSX } from "../xlsx/xlsx.js";
4
- import { CSV } from "../csv/csv.js";
5
- import type { PivotTable } from "./pivot-table.js";
6
- import type { AddWorksheetOptions, CalculationProperties, Image, WorkbookProperties, WorkbookView, Buffer as ExcelBuffer } from "../types.js";
7
- interface WorkbookMedia {
8
- type: string;
9
- extension: string;
10
- filename?: string;
11
- buffer?: ExcelBuffer;
12
- base64?: string;
13
- name?: string;
14
- }
15
- interface WorkbookModel {
16
- creator?: string;
17
- lastModifiedBy?: string;
18
- lastPrinted?: Date;
19
- created: Date;
20
- modified: Date;
21
- properties: Partial<WorkbookProperties>;
22
- worksheets: WorksheetModel[];
23
- sheets?: WorksheetModel[];
24
- definedNames: DefinedNameModel[];
25
- views: WorkbookView[];
26
- company: string;
27
- manager: string;
28
- title: string;
29
- subject: string;
30
- keywords: string;
31
- category: string;
32
- description: string;
33
- language?: string;
34
- revision?: number;
35
- contentStatus?: string;
36
- themes?: unknown;
37
- media: WorkbookMedia[];
38
- pivotTables: PivotTable[];
39
- /** Loaded pivot tables from file - used during reconciliation */
40
- loadedPivotTables?: any[];
41
- calcProperties: Partial<CalculationProperties>;
42
- }
43
- declare class Workbook {
44
- category: string;
45
- company: string;
46
- created: Date;
47
- description: string;
48
- keywords: string;
49
- manager: string;
50
- modified: Date;
51
- properties: Partial<WorkbookProperties>;
52
- calcProperties: Partial<CalculationProperties>;
53
- private _worksheets;
54
- subject: string;
55
- title: string;
56
- views: WorkbookView[];
57
- media: WorkbookMedia[];
58
- pivotTables: PivotTable[];
59
- private _definedNames;
60
- creator?: string;
61
- lastModifiedBy?: string;
62
- lastPrinted?: Date;
63
- language?: string;
64
- revision?: number;
65
- contentStatus?: string;
66
- private _themes?;
1
+ /**
2
+ * Workbook - Node.js version with full functionality
3
+ *
4
+ * Extends WorkbookBase with:
5
+ * - xlsx: Full file/stream/buffer support
6
+ * - csv: CSV read/write support
7
+ * - streaming: createStreamWriter/createStreamReader for large files
8
+ */
9
+ import { WorkbookBase } from "./workbook.base";
10
+ import { XLSX } from "../xlsx/xlsx";
11
+ import { CSV } from "../csv/csv";
12
+ import { WorkbookWriter, type WorkbookWriterOptions } from "../stream/xlsx/workbook-writer";
13
+ import { WorkbookReader, type WorkbookReaderOptions } from "../stream/xlsx/workbook-reader";
14
+ import type { Readable } from "stream";
15
+ declare class Workbook extends WorkbookBase {
16
+ /**
17
+ * Streaming workbook writer class for large files.
18
+ * @example new Workbook.Writer({ filename: "large.xlsx" })
19
+ */
20
+ static Writer: typeof WorkbookWriter;
21
+ /**
22
+ * Streaming workbook reader class for large files.
23
+ * @example new Workbook.Reader("large.xlsx")
24
+ */
25
+ static Reader: typeof WorkbookReader;
67
26
  private _xlsx?;
68
27
  private _csv?;
69
- constructor();
70
28
  /**
71
29
  * xlsx file format operations
30
+ * Supports: readFile, writeFile, read (stream), write (stream), load (buffer), writeBuffer
72
31
  */
73
32
  get xlsx(): XLSX;
74
33
  /**
75
34
  * csv file format operations
35
+ * Supports: readFile, writeFile, read (stream), write (stream)
76
36
  */
77
37
  get csv(): CSV;
78
- get nextId(): number;
79
- /**
80
- * Add a new worksheet and return a reference to it
81
- */
82
- addWorksheet(name?: string, options?: AddWorksheetOptions): Worksheet;
83
- removeWorksheetEx(worksheet: Worksheet): void;
84
- removeWorksheet(id: number | string): void;
85
38
  /**
86
- * Fetch sheet by name or id
87
- */
88
- getWorksheet(id?: number | string): Worksheet | undefined;
89
- /**
90
- * Return a clone of worksheets in order
91
- */
92
- get worksheets(): Worksheet[];
93
- /**
94
- * Iterate over all sheets.
39
+ * Create a streaming workbook writer for large files.
40
+ * This is more memory-efficient than using Workbook for large datasets.
95
41
  *
96
- * Note: `workbook.worksheets.forEach` will still work but this is better.
42
+ * @param options - Options for the workbook writer
43
+ * @returns A new WorkbookWriter instance
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * const writer = Workbook.createStreamWriter({ filename: "large-file.xlsx" });
48
+ * const sheet = writer.addWorksheet("Sheet1");
49
+ * for (let i = 0; i < 1000000; i++) {
50
+ * sheet.addRow([i, `Row ${i}`]).commit();
51
+ * }
52
+ * await writer.commit();
53
+ * ```
97
54
  */
98
- eachSheet(callback: (sheet: Worksheet, id: number) => void): void;
99
- get definedNames(): DefinedNames;
100
- clearThemes(): void;
55
+ static createStreamWriter(options?: WorkbookWriterOptions): WorkbookWriter;
101
56
  /**
102
- * Add Image to Workbook and return the id
57
+ * Create a streaming workbook reader for large files.
58
+ * This is more memory-efficient than using Workbook.xlsx.readFile for large datasets.
59
+ *
60
+ * @param input - File path or readable stream
61
+ * @param options - Options for the workbook reader
62
+ * @returns A new WorkbookReader instance
63
+ *
64
+ * @example
65
+ * ```ts
66
+ * const reader = Workbook.createStreamReader("large-file.xlsx");
67
+ * for await (const event of reader) {
68
+ * if (event.eventType === "worksheet") {
69
+ * const worksheet = event.value;
70
+ * for await (const row of worksheet) {
71
+ * console.log(row.values);
72
+ * }
73
+ * }
74
+ * }
75
+ * ```
103
76
  */
104
- addImage(image: Image): number;
105
- getImage(id: number | string): WorkbookMedia | undefined;
106
- get model(): WorkbookModel;
107
- set model(value: WorkbookModel);
77
+ static createStreamReader(input: string | Readable, options?: WorkbookReaderOptions): WorkbookReader;
108
78
  }
109
79
  export { Workbook };
@@ -1,13 +1,13 @@
1
- import { Range, type RangeInput } from "./range.js";
2
- import { Row, type RowModel } from "./row.js";
3
- import { Column, type ColumnModel, type ColumnDefn } from "./column.js";
4
- import type { Cell, FormulaResult } from "./cell.js";
5
- import { Image, type ImageModel } from "./image.js";
6
- import { Table, type TableModel } from "./table.js";
7
- import { DataValidations } from "./data-validations.js";
8
- import { type PivotTable, type PivotTableModel } from "./pivot-table.js";
9
- import type { Workbook } from "./workbook.js";
10
- import type { AddImageRange, AutoFilter, CellValue, ConditionalFormattingOptions, DataValidation, RowBreak, RowValues, TableProperties, WorksheetProperties, WorksheetView } from "../types.js";
1
+ import { Range, type RangeInput } from "./range";
2
+ import { Row, type RowModel } from "./row";
3
+ import { Column, type ColumnModel, type ColumnDefn } from "./column";
4
+ import type { Cell, FormulaResult } from "./cell";
5
+ import { Image, type ImageModel } from "./image";
6
+ import { Table, type TableModel } from "./table";
7
+ import { DataValidations } from "./data-validations";
8
+ import { type PivotTable, type PivotTableModel } from "./pivot-table";
9
+ import type { Workbook } from "./workbook";
10
+ import type { AddImageRange, AutoFilter, CellValue, ConditionalFormattingOptions, DataValidation, RowBreak, RowValues, TableProperties, WorksheetProperties, WorksheetView } from "../types";
11
11
  type DataValidationModel = {
12
12
  [address: string]: DataValidation | undefined;
13
13
  };
@@ -1,5 +1,19 @@
1
- export { Workbook } from "./doc/workbook.js";
2
- export * from "./doc/enums.js";
3
- export * from "./types.js";
4
- export * from "./utils/sheet-utils.js";
5
- export type { FastCsvParserOptionsArgs, FastCsvFormatterOptionsArgs, CsvReadOptions, CsvWriteOptions } from "./csv/csv.js";
1
+ /**
2
+ * Browser entry point - No Node.js dependencies
3
+ * This version is optimized for browser environments with minimal bundle size
4
+ */
5
+ export { Workbook } from "./doc/workbook.browser";
6
+ export { Worksheet } from "./doc/worksheet";
7
+ export { Row } from "./doc/row";
8
+ export { Column } from "./doc/column";
9
+ export { Cell } from "./doc/cell";
10
+ export { Range } from "./doc/range";
11
+ export { Image } from "./doc/image";
12
+ export * from "./doc/anchor";
13
+ export { Table } from "./doc/table";
14
+ export { DataValidations } from "./doc/data-validations";
15
+ export * from "./doc/enums";
16
+ export * from "./types";
17
+ export type { PivotTable, PivotTableModel, PivotTableSource, CacheField, DataField, PivotTableSubtotal, ParsedCacheDefinition, ParsedCacheRecords } from "./doc/pivot-table";
18
+ export * from "./utils/sheet-utils";
19
+ export type { CsvReadOptions, CsvWriteOptions } from "./csv/csv";
@@ -1,23 +1,24 @@
1
- export { Workbook } from "./doc/workbook.js";
2
- export { ModelContainer } from "./doc/modelcontainer.js";
3
- export { WorkbookWriter } from "./stream/xlsx/workbook-writer.js";
4
- export { WorkbookReader } from "./stream/xlsx/workbook-reader.js";
5
- export { Worksheet } from "./doc/worksheet.js";
6
- export { WorksheetReader } from "./stream/xlsx/worksheet-reader.js";
7
- export { WorksheetWriter } from "./stream/xlsx/worksheet-writer.js";
8
- export { Row } from "./doc/row.js";
9
- export { Column } from "./doc/column.js";
10
- export { Cell } from "./doc/cell.js";
11
- export { Range } from "./doc/range.js";
12
- export { Image } from "./doc/image.js";
13
- export * from "./doc/anchor.js";
14
- export { Table } from "./doc/table.js";
15
- export { DataValidations } from "./doc/data-validations.js";
16
- export type { WorkbookReaderOptions, ParseEvent, SharedStringEvent, WorksheetReadyEvent, HyperlinksEvent } from "./stream/xlsx/workbook-reader.js";
17
- export type { WorksheetReaderOptions, WorksheetEvent, RowEvent, HyperlinkEvent, WorksheetHyperlink } from "./stream/xlsx/worksheet-reader.js";
18
- export type { WorkbookWriterOptions, ZipOptions, ZlibOptions } from "./stream/xlsx/workbook-writer.js";
19
- export type { PivotTable, PivotTableModel, PivotTableSource, CacheField, DataField, PivotTableSubtotal, ParsedCacheDefinition, ParsedCacheRecords } from "./doc/pivot-table.js";
20
- export * from "./doc/enums.js";
21
- export * from "./types.js";
22
- export * from "./utils/sheet-utils.js";
23
- export type { FastCsvParserOptionsArgs, FastCsvFormatterOptionsArgs, CsvReadOptions, CsvWriteOptions } from "./csv/csv.js";
1
+ export { Workbook } from "./doc/workbook";
2
+ export { Worksheet } from "./doc/worksheet";
3
+ export { Row } from "./doc/row";
4
+ export { Column } from "./doc/column";
5
+ export { Cell } from "./doc/cell";
6
+ export { Range } from "./doc/range";
7
+ export { Image } from "./doc/image";
8
+ export * from "./doc/anchor";
9
+ export { Table } from "./doc/table";
10
+ export { DataValidations } from "./doc/data-validations";
11
+ export { WorkbookWriter } from "./stream/xlsx/workbook-writer";
12
+ export { WorkbookReader } from "./stream/xlsx/workbook-reader";
13
+ export { WorksheetWriter } from "./stream/xlsx/worksheet-writer";
14
+ export { WorksheetReader } from "./stream/xlsx/worksheet-reader";
15
+ export { ModelContainer } from "./doc/modelcontainer";
16
+ export * from "./doc/enums";
17
+ export * from "./types";
18
+ export type { PivotTable, PivotTableModel, PivotTableSource, CacheField, DataField, PivotTableSubtotal, ParsedCacheDefinition, ParsedCacheRecords } from "./doc/pivot-table";
19
+ export type { WorkbookReaderOptions, ParseEvent, SharedStringEvent, WorksheetReadyEvent, HyperlinksEvent } from "./stream/xlsx/workbook-reader";
20
+ export type { WorksheetReaderOptions, WorksheetEvent, RowEvent, HyperlinkEvent, WorksheetHyperlink } from "./stream/xlsx/worksheet-reader";
21
+ export type { WorkbookWriterOptions, ZipOptions, ZlibOptions } from "./stream/xlsx/workbook-writer";
22
+ export type { CsvReadOptions, CsvWriteOptions, CsvStreamReadOptions, CsvStreamWriteOptions } from "./csv/csv";
23
+ export { CsvParserStream, CsvFormatterStream } from "./csv/csv";
24
+ export * from "./utils/sheet-utils";
@@ -1 +0,0 @@
1
- export {};
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from "events";
2
- import type { WorkbookReader, InternalWorksheetOptions } from "./workbook-reader.js";
2
+ import type { WorkbookReader, InternalWorksheetOptions } from "./workbook-reader";
3
3
  export interface HyperlinkReaderOptions {
4
4
  workbook: WorkbookReader;
5
5
  id: number;
@@ -1,9 +1,9 @@
1
1
  import { EventEmitter } from "events";
2
2
  import { Readable } from "stream";
3
- import { StylesXform } from "../../xlsx/xform/style/styles-xform.js";
4
- import { WorksheetReader } from "./worksheet-reader.js";
5
- import { HyperlinkReader } from "./hyperlink-reader.js";
6
- import type { WorksheetState, Font, WorkbookProperties } from "../../types.js";
3
+ import { StylesXform } from "../../xlsx/xform/style/styles-xform";
4
+ import { WorksheetReader } from "./worksheet-reader";
5
+ import { HyperlinkReader } from "./hyperlink-reader";
6
+ import type { WorksheetState, Font, WorkbookProperties } from "../../types";
7
7
  /** Internal options type that includes undocumented 'prep' value */
8
8
  export interface InternalWorksheetOptions {
9
9
  worksheets?: "emit" | "ignore" | "prep";
@@ -1,12 +1,12 @@
1
1
  import fs from "fs";
2
2
  import { Zip } from "fflate";
3
- import { StreamBuf } from "../../utils/stream-buf.js";
4
- import { StylesXform } from "../../xlsx/xform/style/styles-xform.js";
5
- import { SharedStrings } from "../../utils/shared-strings.js";
6
- import { DefinedNames } from "../../doc/defined-names.js";
7
- import { WorksheetWriter } from "./worksheet-writer.js";
3
+ import { StreamBuf } from "../../utils/stream-buf";
4
+ import { StylesXform } from "../../xlsx/xform/style/styles-xform";
5
+ import { SharedStrings } from "../../utils/shared-strings";
6
+ import { DefinedNames } from "../../doc/defined-names";
7
+ import { WorksheetWriter } from "./worksheet-writer";
8
8
  import type Stream from "stream";
9
- import type { Image, WorkbookView, AddWorksheetOptions } from "../../types.js";
9
+ import type { Image, WorkbookView, AddWorksheetOptions } from "../../types";
10
10
  /** Internal medium type for storing images in workbook */
11
11
  interface Medium extends Image {
12
12
  type: "image";
@@ -1,9 +1,9 @@
1
1
  import { EventEmitter } from "events";
2
- import { Dimensions } from "../../doc/range.js";
3
- import { Row } from "../../doc/row.js";
4
- import { Column } from "../../doc/column.js";
5
- import type { WorkbookReader, InternalWorksheetOptions } from "./workbook-reader.js";
6
- import type { WorksheetState } from "../../types.js";
2
+ import { Dimensions } from "../../doc/range";
3
+ import { Row } from "../../doc/row";
4
+ import { Column } from "../../doc/column";
5
+ import type { WorkbookReader, InternalWorksheetOptions } from "./workbook-reader";
6
+ import type { WorksheetState } from "../../types";
7
7
  /** Hyperlink reference from worksheet XML */
8
8
  export interface WorksheetHyperlink {
9
9
  ref: string;
@@ -1,12 +1,12 @@
1
- import { Dimensions } from "../../doc/range.js";
2
- import { StringBuf } from "../../utils/string-buf.js";
3
- import { Row } from "../../doc/row.js";
4
- import { Column } from "../../doc/column.js";
5
- import { SheetRelsWriter } from "./sheet-rels-writer.js";
6
- import { SheetCommentsWriter } from "./sheet-comments-writer.js";
7
- import { DataValidations } from "../../doc/data-validations.js";
8
- import type { StreamBuf } from "../../utils/stream-buf.js";
9
- import type { RowBreak, PageSetup, HeaderFooter, WorksheetProperties, WorksheetView, WorksheetState, AutoFilter, WorksheetProtection, ConditionalFormattingOptions } from "../../types.js";
1
+ import { Dimensions } from "../../doc/range";
2
+ import { StringBuf } from "../../utils/string-buf";
3
+ import { Row } from "../../doc/row";
4
+ import { Column } from "../../doc/column";
5
+ import { SheetRelsWriter } from "./sheet-rels-writer";
6
+ import { SheetCommentsWriter } from "./sheet-comments-writer";
7
+ import { DataValidations } from "../../doc/data-validations";
8
+ import type { StreamBuf } from "../../utils/stream-buf";
9
+ import type { RowBreak, PageSetup, HeaderFooter, WorksheetProperties, WorksheetView, WorksheetState, AutoFilter, WorksheetProtection, ConditionalFormattingOptions } from "../../types";
10
10
  interface WorksheetWriterOptions {
11
11
  id: number;
12
12
  name?: string;
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Browser-compatible Buffer utilities
3
+ * Provides base64 encoding/decoding and a Buffer-like wrapper for Uint8Array
4
+ */
5
+ /**
6
+ * Convert Uint8Array to base64 string
7
+ */
8
+ export declare function uint8ArrayToBase64(bytes: Uint8Array): string;
9
+ /**
10
+ * Convert base64 string to Uint8Array
11
+ */
12
+ export declare function base64ToUint8Array(base64: string): Uint8Array;
13
+ /**
14
+ * Buffer-like wrapper for Uint8Array with toString("base64") support
15
+ * This provides Node.js Buffer-like API for browser environments
16
+ */
17
+ export declare class BrowserBuffer extends Uint8Array {
18
+ toString(encoding?: string): string;
19
+ static from(data: Uint8Array): BrowserBuffer;
20
+ }
21
+ /**
22
+ * Convert string to UTF-16LE Uint8Array (used for Excel password hashing)
23
+ */
24
+ export declare function stringToUtf16Le(str: string): Uint8Array;
25
+ /**
26
+ * Concatenate multiple Uint8Arrays into one
27
+ */
28
+ export declare function concatUint8Arrays(...arrays: Uint8Array[]): Uint8Array;
@@ -1,4 +1,4 @@
1
- import type { Address, Location } from "../types.js";
1
+ import type { Address, Location } from "../types";
2
2
  type CachedAddress = Address & {
3
3
  $col$row: string;
4
4
  };
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Browser-compatible Encryptor with pure JS SHA implementations
3
+ * This provides synchronous hash functions for browser compatibility
4
+ */
5
+ import { BrowserBuffer } from "./browser-buffer";
6
+ declare const Encryptor: {
7
+ /**
8
+ * Calculate a hash of the concatenated buffers with the given algorithm.
9
+ * @param algorithm - The hash algorithm.
10
+ * @returns The hash as Uint8Array
11
+ */
12
+ hash(algorithm: string, ...buffers: Uint8Array[]): Uint8Array;
13
+ /**
14
+ * Convert a password into an encryption key
15
+ * @param password - The password
16
+ * @param hashAlgorithm - The hash algorithm
17
+ * @param saltValue - The salt value (base64 encoded)
18
+ * @param spinCount - The spin count
19
+ * @returns The encryption key (base64 encoded)
20
+ */
21
+ convertPasswordToHash(password: string, hashAlgorithm: string, saltValue: string, spinCount: number): string;
22
+ /**
23
+ * Generates cryptographically strong pseudo-random data.
24
+ * @param size The size argument is a number indicating the number of bytes to generate.
25
+ */
26
+ randomBytes(size: number): BrowserBuffer;
27
+ };
28
+ export { Encryptor };
@@ -2,9 +2,9 @@
2
2
  * Utility functions for ExcelTS
3
3
  * Provides convenient helper functions for common spreadsheet operations
4
4
  */
5
- import { Workbook } from "../doc/workbook.js";
6
- import type { Worksheet } from "../doc/worksheet.js";
7
- import type { CellValue } from "../types.js";
5
+ import { Workbook } from "../doc/workbook";
6
+ import type { Worksheet } from "../doc/worksheet";
7
+ import type { CellValue } from "../types";
8
8
  /**
9
9
  * Cell address object (0-indexed)
10
10
  */
@@ -0,0 +1,41 @@
1
+ interface StreamBufOptions {
2
+ bufSize?: number;
3
+ batch?: boolean;
4
+ }
5
+ type EventCallback = (...args: any[]) => void;
6
+ declare class StreamBuf {
7
+ private bufSize;
8
+ private buffers;
9
+ private batch;
10
+ private corked;
11
+ private paused;
12
+ private encoding;
13
+ private pipes;
14
+ private events;
15
+ constructor(options?: StreamBufOptions);
16
+ on(event: string, callback: EventCallback): this;
17
+ once(event: string, callback: EventCallback): this;
18
+ off(event: string, callback: EventCallback): this;
19
+ emit(event: string, ...args: any[]): boolean;
20
+ removeListener(event: string, callback: EventCallback): this;
21
+ toBuffer(): Uint8Array | null;
22
+ private _getWritableBuffer;
23
+ private _pipe;
24
+ private _writeToBuffers;
25
+ write(data: any, encoding?: BufferEncoding | Function, callback?: Function): Promise<boolean>;
26
+ cork(): void;
27
+ private _flush;
28
+ uncork(): void;
29
+ end(chunk?: any, encoding?: BufferEncoding, callback?: Function): void;
30
+ read(size?: number): Uint8Array;
31
+ setEncoding(encoding: string): void;
32
+ pause(): void;
33
+ resume(): void;
34
+ isPaused(): boolean;
35
+ pipe(destination: any): any;
36
+ unpipe(destination: any): void;
37
+ unshift(): void;
38
+ wrap(): void;
39
+ push(chunk: any): boolean;
40
+ }
41
+ export { StreamBuf };