@cj-tech-master/excelts 1.6.3 → 2.0.0

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 (400) hide show
  1. package/README.md +139 -24
  2. package/README_zh.md +140 -26
  3. package/dist/browser/excelts.esm.js +18468 -0
  4. package/dist/browser/excelts.esm.js.map +1 -0
  5. package/dist/browser/excelts.esm.min.js +125 -0
  6. package/dist/browser/excelts.iife.js +13107 -47146
  7. package/dist/browser/excelts.iife.js.map +1 -1
  8. package/dist/browser/excelts.iife.min.js +24 -106
  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 +137 -0
  12. package/dist/cjs/csv/csv.browser.js +68 -0
  13. package/dist/cjs/csv/csv.js +218 -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 +28 -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 +45 -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 +38 -38
  36. package/dist/cjs/stream/xlsx/worksheet-reader.js +17 -17
  37. package/dist/cjs/stream/xlsx/worksheet-writer.js +67 -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/datetime.js +648 -0
  42. package/dist/cjs/utils/encryptor.browser.js +240 -0
  43. package/dist/cjs/utils/parse-sax.js +1191 -13
  44. package/dist/cjs/utils/shared-formula.js +5 -5
  45. package/dist/cjs/utils/sheet-utils.js +13 -13
  46. package/dist/cjs/utils/stream-buf.browser.js +355 -0
  47. package/dist/cjs/utils/stream-buf.js +5 -5
  48. package/dist/cjs/utils/unzip/extract.js +11 -11
  49. package/dist/cjs/utils/unzip/index.js +21 -21
  50. package/dist/cjs/utils/unzip/parse-extra-field.js +3 -3
  51. package/dist/cjs/utils/unzip/parse.js +16 -16
  52. package/dist/cjs/utils/unzip/zip-parser.js +14 -3
  53. package/dist/cjs/utils/utils.base.js +161 -0
  54. package/dist/cjs/utils/utils.browser.js +89 -0
  55. package/dist/cjs/utils/utils.js +46 -154
  56. package/dist/cjs/utils/xml-stream.js +3 -3
  57. package/dist/cjs/utils/zip/compress.base.js +88 -0
  58. package/dist/cjs/utils/zip/compress.browser.js +127 -0
  59. package/dist/cjs/utils/zip/compress.js +18 -198
  60. package/dist/cjs/utils/zip/crc32.browser.js +88 -0
  61. package/dist/cjs/utils/zip/deflate-fallback.js +575 -0
  62. package/dist/cjs/utils/zip/index.js +17 -17
  63. package/dist/cjs/utils/zip/streaming-zip.js +264 -0
  64. package/dist/cjs/utils/zip/zip-builder.js +10 -10
  65. package/dist/cjs/utils/zip-stream.browser.js +135 -0
  66. package/dist/cjs/utils/zip-stream.js +4 -4
  67. package/dist/cjs/xlsx/xform/base-xform.js +4 -4
  68. package/dist/cjs/xlsx/xform/book/defined-name-xform.js +4 -4
  69. package/dist/cjs/xlsx/xform/book/sheet-xform.js +4 -4
  70. package/dist/cjs/xlsx/xform/book/workbook-calc-properties-xform.js +2 -2
  71. package/dist/cjs/xlsx/xform/book/workbook-pivot-cache-xform.js +2 -2
  72. package/dist/cjs/xlsx/xform/book/workbook-properties-xform.js +2 -2
  73. package/dist/cjs/xlsx/xform/book/workbook-view-xform.js +2 -2
  74. package/dist/cjs/xlsx/xform/book/workbook-xform.js +24 -24
  75. package/dist/cjs/xlsx/xform/comment/comment-xform.js +4 -4
  76. package/dist/cjs/xlsx/xform/comment/comments-xform.js +6 -6
  77. package/dist/cjs/xlsx/xform/comment/style/vml-position-xform.js +2 -2
  78. package/dist/cjs/xlsx/xform/comment/style/vml-protection-xform.js +2 -2
  79. package/dist/cjs/xlsx/xform/comment/vml-anchor-xform.js +2 -2
  80. package/dist/cjs/xlsx/xform/comment/vml-client-data-xform.js +10 -10
  81. package/dist/cjs/xlsx/xform/comment/vml-notes-xform.js +6 -6
  82. package/dist/cjs/xlsx/xform/comment/vml-shape-xform.js +6 -6
  83. package/dist/cjs/xlsx/xform/comment/vml-textbox-xform.js +2 -2
  84. package/dist/cjs/xlsx/xform/composite-xform.js +2 -2
  85. package/dist/cjs/xlsx/xform/core/app-heading-pairs-xform.js +2 -2
  86. package/dist/cjs/xlsx/xform/core/app-titles-of-parts-xform.js +2 -2
  87. package/dist/cjs/xlsx/xform/core/app-xform.js +11 -11
  88. package/dist/cjs/xlsx/xform/core/content-types-xform.js +4 -4
  89. package/dist/cjs/xlsx/xform/core/core-xform.js +23 -23
  90. package/dist/cjs/xlsx/xform/core/relationship-xform.js +2 -2
  91. package/dist/cjs/xlsx/xform/core/relationships-xform.js +6 -6
  92. package/dist/cjs/xlsx/xform/drawing/base-cell-anchor-xform.js +2 -2
  93. package/dist/cjs/xlsx/xform/drawing/blip-fill-xform.js +4 -4
  94. package/dist/cjs/xlsx/xform/drawing/blip-xform.js +2 -2
  95. package/dist/cjs/xlsx/xform/drawing/c-nv-pic-pr-xform.js +2 -2
  96. package/dist/cjs/xlsx/xform/drawing/c-nv-pr-xform.js +6 -6
  97. package/dist/cjs/xlsx/xform/drawing/cell-position-xform.js +7 -7
  98. package/dist/cjs/xlsx/xform/drawing/drawing-xform.js +10 -10
  99. package/dist/cjs/xlsx/xform/drawing/ext-lst-xform.js +2 -2
  100. package/dist/cjs/xlsx/xform/drawing/ext-xform.js +2 -2
  101. package/dist/cjs/xlsx/xform/drawing/hlink-click-xform.js +2 -2
  102. package/dist/cjs/xlsx/xform/drawing/nv-pic-pr-xform.js +6 -6
  103. package/dist/cjs/xlsx/xform/drawing/one-cell-anchor-xform.js +10 -10
  104. package/dist/cjs/xlsx/xform/drawing/pic-xform.js +9 -9
  105. package/dist/cjs/xlsx/xform/drawing/two-cell-anchor-xform.js +9 -9
  106. package/dist/cjs/xlsx/xform/list-xform.js +2 -2
  107. package/dist/cjs/xlsx/xform/pivot-table/cache-field-xform.js +5 -5
  108. package/dist/cjs/xlsx/xform/pivot-table/cache-field.js +3 -3
  109. package/dist/cjs/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +10 -10
  110. package/dist/cjs/xlsx/xform/pivot-table/pivot-cache-records-xform.js +9 -9
  111. package/dist/cjs/xlsx/xform/pivot-table/pivot-table-xform.js +10 -11
  112. package/dist/cjs/xlsx/xform/sheet/auto-filter-xform.js +4 -4
  113. package/dist/cjs/xlsx/xform/sheet/cell-xform.js +65 -65
  114. package/dist/cjs/xlsx/xform/sheet/cf/cf-rule-xform.js +27 -27
  115. package/dist/cjs/xlsx/xform/sheet/cf/cfvo-xform.js +3 -3
  116. package/dist/cjs/xlsx/xform/sheet/cf/color-scale-xform.js +6 -6
  117. package/dist/cjs/xlsx/xform/sheet/cf/conditional-formatting-xform.js +6 -6
  118. package/dist/cjs/xlsx/xform/sheet/cf/conditional-formattings-xform.js +4 -4
  119. package/dist/cjs/xlsx/xform/sheet/cf/databar-xform.js +6 -6
  120. package/dist/cjs/xlsx/xform/sheet/cf/ext-lst-ref-xform.js +5 -5
  121. package/dist/cjs/xlsx/xform/sheet/cf/formula-xform.js +2 -2
  122. package/dist/cjs/xlsx/xform/sheet/cf/icon-set-xform.js +11 -11
  123. package/dist/cjs/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js +3 -3
  124. package/dist/cjs/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +11 -12
  125. package/dist/cjs/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js +4 -4
  126. package/dist/cjs/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js +8 -8
  127. package/dist/cjs/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js +6 -6
  128. package/dist/cjs/xlsx/xform/sheet/cf-ext/databar-ext-xform.js +26 -26
  129. package/dist/cjs/xlsx/xform/sheet/cf-ext/f-ext-xform.js +2 -2
  130. package/dist/cjs/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js +14 -14
  131. package/dist/cjs/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js +2 -2
  132. package/dist/cjs/xlsx/xform/sheet/col-breaks-xform.js +38 -0
  133. package/dist/cjs/xlsx/xform/sheet/col-xform.js +6 -6
  134. package/dist/cjs/xlsx/xform/sheet/data-validations-xform.js +18 -18
  135. package/dist/cjs/xlsx/xform/sheet/dimension-xform.js +2 -2
  136. package/dist/cjs/xlsx/xform/sheet/drawing-xform.js +2 -2
  137. package/dist/cjs/xlsx/xform/sheet/ext-lst-xform.js +5 -5
  138. package/dist/cjs/xlsx/xform/sheet/header-footer-xform.js +2 -2
  139. package/dist/cjs/xlsx/xform/sheet/hyperlink-xform.js +2 -2
  140. package/dist/cjs/xlsx/xform/sheet/merge-cell-xform.js +2 -2
  141. package/dist/cjs/xlsx/xform/sheet/merges.js +8 -8
  142. package/dist/cjs/xlsx/xform/sheet/outline-properties-xform.js +2 -2
  143. package/dist/cjs/xlsx/xform/sheet/page-breaks-xform.js +15 -3
  144. package/dist/cjs/xlsx/xform/sheet/page-margins-xform.js +2 -2
  145. package/dist/cjs/xlsx/xform/sheet/page-setup-properties-xform.js +2 -2
  146. package/dist/cjs/xlsx/xform/sheet/page-setup-xform.js +2 -2
  147. package/dist/cjs/xlsx/xform/sheet/picture-xform.js +2 -2
  148. package/dist/cjs/xlsx/xform/sheet/print-options-xform.js +2 -2
  149. package/dist/cjs/xlsx/xform/sheet/row-breaks-xform.js +15 -17
  150. package/dist/cjs/xlsx/xform/sheet/row-xform.js +11 -11
  151. package/dist/cjs/xlsx/xform/sheet/sheet-format-properties-xform.js +2 -2
  152. package/dist/cjs/xlsx/xform/sheet/sheet-properties-xform.js +8 -8
  153. package/dist/cjs/xlsx/xform/sheet/sheet-protection-xform.js +2 -2
  154. package/dist/cjs/xlsx/xform/sheet/sheet-view-xform.js +4 -4
  155. package/dist/cjs/xlsx/xform/sheet/table-part-xform.js +2 -2
  156. package/dist/cjs/xlsx/xform/sheet/worksheet-xform.js +75 -70
  157. package/dist/cjs/xlsx/xform/simple/boolean-xform.js +2 -2
  158. package/dist/cjs/xlsx/xform/simple/date-xform.js +2 -2
  159. package/dist/cjs/xlsx/xform/simple/float-xform.js +2 -2
  160. package/dist/cjs/xlsx/xform/simple/integer-xform.js +2 -2
  161. package/dist/cjs/xlsx/xform/simple/string-xform.js +2 -2
  162. package/dist/cjs/xlsx/xform/static-xform.js +4 -4
  163. package/dist/cjs/xlsx/xform/strings/phonetic-text-xform.js +6 -6
  164. package/dist/cjs/xlsx/xform/strings/rich-text-xform.js +6 -6
  165. package/dist/cjs/xlsx/xform/strings/shared-string-xform.js +8 -8
  166. package/dist/cjs/xlsx/xform/strings/shared-strings-xform.js +6 -6
  167. package/dist/cjs/xlsx/xform/strings/text-xform.js +2 -2
  168. package/dist/cjs/xlsx/xform/style/alignment-xform.js +8 -8
  169. package/dist/cjs/xlsx/xform/style/border-xform.js +8 -8
  170. package/dist/cjs/xlsx/xform/style/color-xform.js +2 -2
  171. package/dist/cjs/xlsx/xform/style/dxf-xform.js +14 -14
  172. package/dist/cjs/xlsx/xform/style/fill-xform.js +9 -9
  173. package/dist/cjs/xlsx/xform/style/font-xform.js +22 -22
  174. package/dist/cjs/xlsx/xform/style/numfmt-xform.js +5 -5
  175. package/dist/cjs/xlsx/xform/style/protection-xform.js +2 -2
  176. package/dist/cjs/xlsx/xform/style/style-xform.js +6 -6
  177. package/dist/cjs/xlsx/xform/style/styles-xform.js +39 -39
  178. package/dist/cjs/xlsx/xform/style/underline-xform.js +2 -2
  179. package/dist/cjs/xlsx/xform/table/auto-filter-xform.js +4 -4
  180. package/dist/cjs/xlsx/xform/table/custom-filter-xform.js +2 -2
  181. package/dist/cjs/xlsx/xform/table/filter-column-xform.js +9 -9
  182. package/dist/cjs/xlsx/xform/table/filter-xform.js +2 -2
  183. package/dist/cjs/xlsx/xform/table/table-column-xform.js +2 -2
  184. package/dist/cjs/xlsx/xform/table/table-style-info-xform.js +2 -2
  185. package/dist/cjs/xlsx/xform/table/table-xform.js +12 -12
  186. package/dist/cjs/xlsx/xlsx.base.js +742 -0
  187. package/dist/cjs/xlsx/xlsx.browser.js +162 -0
  188. package/dist/cjs/xlsx/xlsx.js +118 -892
  189. package/dist/esm/csv/csv-core.js +694 -0
  190. package/dist/esm/csv/csv-stream.js +638 -0
  191. package/dist/esm/csv/csv.base.js +127 -0
  192. package/dist/esm/csv/csv.browser.js +65 -0
  193. package/dist/esm/csv/csv.js +181 -159
  194. package/dist/esm/doc/column.js +21 -0
  195. package/dist/esm/doc/workbook.base.js +207 -0
  196. package/dist/esm/doc/workbook.browser.js +59 -0
  197. package/dist/esm/doc/workbook.js +64 -175
  198. package/dist/esm/doc/worksheet.js +4 -0
  199. package/dist/esm/index.browser.js +33 -1
  200. package/dist/esm/index.js +23 -8
  201. package/dist/esm/local.js +0 -1
  202. package/dist/esm/stream/xlsx/workbook-writer.js +1 -1
  203. package/dist/esm/stream/xlsx/worksheet-writer.js +8 -1
  204. package/dist/esm/utils/browser-buffer.js +67 -0
  205. package/dist/esm/utils/datetime.js +639 -0
  206. package/dist/esm/utils/encryptor.browser.js +237 -0
  207. package/dist/esm/utils/parse-sax.js +1188 -12
  208. package/dist/esm/utils/stream-buf.browser.js +352 -0
  209. package/dist/esm/utils/unzip/zip-parser.js +11 -0
  210. package/dist/esm/utils/utils.base.js +142 -0
  211. package/dist/esm/utils/utils.browser.js +68 -0
  212. package/dist/esm/utils/utils.js +15 -123
  213. package/dist/esm/utils/zip/compress.base.js +83 -0
  214. package/dist/esm/utils/zip/compress.browser.js +121 -0
  215. package/dist/esm/utils/zip/compress.js +16 -164
  216. package/dist/esm/utils/zip/crc32.browser.js +82 -0
  217. package/dist/esm/utils/zip/deflate-fallback.js +570 -0
  218. package/dist/esm/utils/zip/streaming-zip.js +259 -0
  219. package/dist/esm/utils/zip-stream.browser.js +132 -0
  220. package/dist/esm/xlsx/xform/pivot-table/pivot-table-xform.js +2 -3
  221. package/dist/esm/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +2 -3
  222. package/dist/esm/xlsx/xform/sheet/col-breaks-xform.js +35 -0
  223. package/dist/esm/xlsx/xform/sheet/page-breaks-xform.js +13 -1
  224. package/dist/esm/xlsx/xform/sheet/row-breaks-xform.js +11 -13
  225. package/dist/esm/xlsx/xform/sheet/worksheet-xform.js +7 -2
  226. package/dist/esm/xlsx/xlsx.base.js +739 -0
  227. package/dist/esm/xlsx/xlsx.browser.js +159 -0
  228. package/dist/esm/xlsx/xlsx.js +114 -888
  229. package/dist/types/csv/csv-core.d.ts +207 -0
  230. package/dist/types/csv/csv-stream.d.ts +114 -0
  231. package/dist/types/csv/csv.base.d.ts +62 -0
  232. package/dist/types/csv/csv.browser.d.ts +33 -0
  233. package/dist/types/csv/csv.d.ts +97 -71
  234. package/dist/types/doc/anchor.d.ts +1 -1
  235. package/dist/types/doc/cell.d.ts +7 -7
  236. package/dist/types/doc/column.d.ts +9 -3
  237. package/dist/types/doc/defined-names.d.ts +4 -4
  238. package/dist/types/doc/image.d.ts +2 -2
  239. package/dist/types/doc/modelcontainer.d.ts +1 -1
  240. package/dist/types/doc/pivot-table.d.ts +1 -1
  241. package/dist/types/doc/range.d.ts +1 -1
  242. package/dist/types/doc/row.d.ts +3 -3
  243. package/dist/types/doc/table.d.ts +2 -2
  244. package/dist/types/doc/workbook.base.d.ts +111 -0
  245. package/dist/types/doc/workbook.browser.d.ts +38 -0
  246. package/dist/types/doc/workbook.d.ts +62 -92
  247. package/dist/types/doc/worksheet.d.ts +12 -10
  248. package/dist/types/index.browser.d.ts +19 -5
  249. package/dist/types/index.d.ts +24 -23
  250. package/dist/types/local.d.ts +0 -1
  251. package/dist/types/stream/xlsx/hyperlink-reader.d.ts +1 -1
  252. package/dist/types/stream/xlsx/workbook-reader.d.ts +4 -4
  253. package/dist/types/stream/xlsx/workbook-writer.d.ts +7 -7
  254. package/dist/types/stream/xlsx/worksheet-reader.d.ts +5 -5
  255. package/dist/types/stream/xlsx/worksheet-writer.d.ts +11 -9
  256. package/dist/types/types.d.ts +6 -0
  257. package/dist/types/utils/browser-buffer.d.ts +28 -0
  258. package/dist/types/utils/col-cache.d.ts +1 -1
  259. package/dist/types/utils/datetime.d.ts +85 -0
  260. package/dist/types/utils/encryptor.browser.d.ts +28 -0
  261. package/dist/types/utils/parse-sax.d.ts +108 -1
  262. package/dist/types/utils/sheet-utils.d.ts +3 -3
  263. package/dist/types/utils/stream-buf.browser.d.ts +41 -0
  264. package/dist/types/utils/unzip/extract.d.ts +6 -6
  265. package/dist/types/utils/unzip/index.d.ts +8 -8
  266. package/dist/types/utils/unzip/parse.d.ts +3 -3
  267. package/dist/types/utils/unzip/zip-parser.d.ts +5 -0
  268. package/dist/types/utils/utils.base.d.ts +29 -0
  269. package/dist/types/utils/utils.browser.d.ts +29 -0
  270. package/dist/types/utils/utils.d.ts +6 -25
  271. package/dist/types/utils/zip/compress.base.d.ts +45 -0
  272. package/dist/types/utils/zip/compress.browser.d.ts +63 -0
  273. package/dist/types/utils/zip/compress.d.ts +13 -45
  274. package/dist/types/utils/zip/crc32.browser.d.ts +52 -0
  275. package/dist/types/utils/zip/deflate-fallback.d.ts +39 -0
  276. package/dist/types/utils/zip/index.d.ts +5 -5
  277. package/dist/types/utils/zip/streaming-zip.d.ts +96 -0
  278. package/dist/types/utils/zip/zip-builder.d.ts +1 -1
  279. package/dist/types/utils/zip-stream.browser.d.ts +39 -0
  280. package/dist/types/xlsx/xform/base-xform.d.ts +1 -1
  281. package/dist/types/xlsx/xform/book/defined-name-xform.d.ts +1 -1
  282. package/dist/types/xlsx/xform/book/sheet-xform.d.ts +1 -1
  283. package/dist/types/xlsx/xform/book/workbook-calc-properties-xform.d.ts +1 -1
  284. package/dist/types/xlsx/xform/book/workbook-pivot-cache-xform.d.ts +1 -1
  285. package/dist/types/xlsx/xform/book/workbook-properties-xform.d.ts +1 -1
  286. package/dist/types/xlsx/xform/book/workbook-view-xform.d.ts +1 -1
  287. package/dist/types/xlsx/xform/book/workbook-xform.d.ts +2 -2
  288. package/dist/types/xlsx/xform/comment/comment-xform.d.ts +2 -2
  289. package/dist/types/xlsx/xform/comment/comments-xform.d.ts +2 -2
  290. package/dist/types/xlsx/xform/comment/style/vml-position-xform.d.ts +1 -1
  291. package/dist/types/xlsx/xform/comment/style/vml-protection-xform.d.ts +1 -1
  292. package/dist/types/xlsx/xform/comment/vml-anchor-xform.d.ts +1 -1
  293. package/dist/types/xlsx/xform/comment/vml-client-data-xform.d.ts +1 -1
  294. package/dist/types/xlsx/xform/comment/vml-notes-xform.d.ts +1 -1
  295. package/dist/types/xlsx/xform/comment/vml-shape-xform.d.ts +1 -1
  296. package/dist/types/xlsx/xform/comment/vml-textbox-xform.d.ts +1 -1
  297. package/dist/types/xlsx/xform/composite-xform.d.ts +1 -1
  298. package/dist/types/xlsx/xform/core/app-heading-pairs-xform.d.ts +1 -1
  299. package/dist/types/xlsx/xform/core/app-titles-of-parts-xform.d.ts +1 -1
  300. package/dist/types/xlsx/xform/core/app-xform.d.ts +1 -1
  301. package/dist/types/xlsx/xform/core/content-types-xform.d.ts +1 -1
  302. package/dist/types/xlsx/xform/core/core-xform.d.ts +1 -1
  303. package/dist/types/xlsx/xform/core/relationship-xform.d.ts +1 -1
  304. package/dist/types/xlsx/xform/core/relationships-xform.d.ts +1 -1
  305. package/dist/types/xlsx/xform/drawing/base-cell-anchor-xform.d.ts +1 -1
  306. package/dist/types/xlsx/xform/drawing/blip-fill-xform.d.ts +2 -2
  307. package/dist/types/xlsx/xform/drawing/blip-xform.d.ts +1 -1
  308. package/dist/types/xlsx/xform/drawing/c-nv-pic-pr-xform.d.ts +1 -1
  309. package/dist/types/xlsx/xform/drawing/c-nv-pr-xform.d.ts +1 -1
  310. package/dist/types/xlsx/xform/drawing/cell-position-xform.d.ts +2 -2
  311. package/dist/types/xlsx/xform/drawing/drawing-xform.d.ts +1 -1
  312. package/dist/types/xlsx/xform/drawing/ext-lst-xform.d.ts +1 -1
  313. package/dist/types/xlsx/xform/drawing/ext-xform.d.ts +1 -1
  314. package/dist/types/xlsx/xform/drawing/hlink-click-xform.d.ts +1 -1
  315. package/dist/types/xlsx/xform/drawing/nv-pic-pr-xform.d.ts +1 -1
  316. package/dist/types/xlsx/xform/drawing/one-cell-anchor-xform.d.ts +1 -1
  317. package/dist/types/xlsx/xform/drawing/pic-xform.d.ts +1 -1
  318. package/dist/types/xlsx/xform/drawing/two-cell-anchor-xform.d.ts +1 -1
  319. package/dist/types/xlsx/xform/list-xform.d.ts +1 -1
  320. package/dist/types/xlsx/xform/pivot-table/cache-field-xform.d.ts +1 -1
  321. package/dist/types/xlsx/xform/pivot-table/pivot-cache-definition-xform.d.ts +3 -3
  322. package/dist/types/xlsx/xform/pivot-table/pivot-cache-records-xform.d.ts +2 -2
  323. package/dist/types/xlsx/xform/pivot-table/pivot-table-xform.d.ts +1 -1
  324. package/dist/types/xlsx/xform/sheet/auto-filter-xform.d.ts +1 -1
  325. package/dist/types/xlsx/xform/sheet/cell-xform.d.ts +1 -1
  326. package/dist/types/xlsx/xform/sheet/cf/cf-rule-xform.d.ts +6 -6
  327. package/dist/types/xlsx/xform/sheet/cf/cfvo-xform.d.ts +1 -1
  328. package/dist/types/xlsx/xform/sheet/cf/color-scale-xform.d.ts +3 -3
  329. package/dist/types/xlsx/xform/sheet/cf/conditional-formatting-xform.d.ts +1 -1
  330. package/dist/types/xlsx/xform/sheet/cf/conditional-formattings-xform.d.ts +2 -2
  331. package/dist/types/xlsx/xform/sheet/cf/databar-xform.d.ts +3 -3
  332. package/dist/types/xlsx/xform/sheet/cf/ext-lst-ref-xform.d.ts +1 -1
  333. package/dist/types/xlsx/xform/sheet/cf/formula-xform.d.ts +1 -1
  334. package/dist/types/xlsx/xform/sheet/cf/icon-set-xform.d.ts +2 -2
  335. package/dist/types/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.d.ts +1 -1
  336. package/dist/types/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.d.ts +3 -3
  337. package/dist/types/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.d.ts +2 -2
  338. package/dist/types/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.d.ts +3 -3
  339. package/dist/types/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.d.ts +2 -2
  340. package/dist/types/xlsx/xform/sheet/cf-ext/databar-ext-xform.d.ts +3 -3
  341. package/dist/types/xlsx/xform/sheet/cf-ext/f-ext-xform.d.ts +1 -1
  342. package/dist/types/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.d.ts +3 -3
  343. package/dist/types/xlsx/xform/sheet/cf-ext/sqref-ext-xform.d.ts +1 -1
  344. package/dist/types/xlsx/xform/sheet/col-breaks-xform.d.ts +16 -0
  345. package/dist/types/xlsx/xform/sheet/col-xform.d.ts +1 -1
  346. package/dist/types/xlsx/xform/sheet/data-validations-xform.d.ts +1 -1
  347. package/dist/types/xlsx/xform/sheet/dimension-xform.d.ts +1 -1
  348. package/dist/types/xlsx/xform/sheet/drawing-xform.d.ts +1 -1
  349. package/dist/types/xlsx/xform/sheet/ext-lst-xform.d.ts +1 -1
  350. package/dist/types/xlsx/xform/sheet/header-footer-xform.d.ts +1 -1
  351. package/dist/types/xlsx/xform/sheet/hyperlink-xform.d.ts +1 -1
  352. package/dist/types/xlsx/xform/sheet/merge-cell-xform.d.ts +1 -1
  353. package/dist/types/xlsx/xform/sheet/outline-properties-xform.d.ts +1 -1
  354. package/dist/types/xlsx/xform/sheet/page-breaks-xform.d.ts +5 -1
  355. package/dist/types/xlsx/xform/sheet/page-margins-xform.d.ts +1 -1
  356. package/dist/types/xlsx/xform/sheet/page-setup-properties-xform.d.ts +1 -1
  357. package/dist/types/xlsx/xform/sheet/page-setup-xform.d.ts +1 -1
  358. package/dist/types/xlsx/xform/sheet/picture-xform.d.ts +1 -1
  359. package/dist/types/xlsx/xform/sheet/print-options-xform.d.ts +1 -1
  360. package/dist/types/xlsx/xform/sheet/row-breaks-xform.d.ts +5 -1
  361. package/dist/types/xlsx/xform/sheet/row-xform.d.ts +1 -1
  362. package/dist/types/xlsx/xform/sheet/sheet-format-properties-xform.d.ts +1 -1
  363. package/dist/types/xlsx/xform/sheet/sheet-properties-xform.d.ts +1 -1
  364. package/dist/types/xlsx/xform/sheet/sheet-protection-xform.d.ts +1 -1
  365. package/dist/types/xlsx/xform/sheet/sheet-view-xform.d.ts +1 -1
  366. package/dist/types/xlsx/xform/sheet/table-part-xform.d.ts +1 -1
  367. package/dist/types/xlsx/xform/sheet/worksheet-xform.d.ts +1 -1
  368. package/dist/types/xlsx/xform/simple/boolean-xform.d.ts +1 -1
  369. package/dist/types/xlsx/xform/simple/date-xform.d.ts +1 -1
  370. package/dist/types/xlsx/xform/simple/float-xform.d.ts +1 -1
  371. package/dist/types/xlsx/xform/simple/integer-xform.d.ts +1 -1
  372. package/dist/types/xlsx/xform/simple/string-xform.d.ts +1 -1
  373. package/dist/types/xlsx/xform/static-xform.d.ts +1 -1
  374. package/dist/types/xlsx/xform/strings/phonetic-text-xform.d.ts +1 -1
  375. package/dist/types/xlsx/xform/strings/rich-text-xform.d.ts +3 -3
  376. package/dist/types/xlsx/xform/strings/shared-string-xform.d.ts +1 -1
  377. package/dist/types/xlsx/xform/strings/shared-strings-xform.d.ts +2 -2
  378. package/dist/types/xlsx/xform/strings/text-xform.d.ts +1 -1
  379. package/dist/types/xlsx/xform/style/alignment-xform.d.ts +1 -1
  380. package/dist/types/xlsx/xform/style/border-xform.d.ts +2 -2
  381. package/dist/types/xlsx/xform/style/color-xform.d.ts +1 -1
  382. package/dist/types/xlsx/xform/style/dxf-xform.d.ts +1 -1
  383. package/dist/types/xlsx/xform/style/fill-xform.d.ts +2 -2
  384. package/dist/types/xlsx/xform/style/font-xform.d.ts +1 -1
  385. package/dist/types/xlsx/xform/style/numfmt-xform.d.ts +1 -1
  386. package/dist/types/xlsx/xform/style/protection-xform.d.ts +1 -1
  387. package/dist/types/xlsx/xform/style/style-xform.d.ts +3 -3
  388. package/dist/types/xlsx/xform/style/styles-xform.d.ts +2 -2
  389. package/dist/types/xlsx/xform/style/underline-xform.d.ts +1 -1
  390. package/dist/types/xlsx/xform/table/auto-filter-xform.d.ts +2 -2
  391. package/dist/types/xlsx/xform/table/custom-filter-xform.d.ts +1 -1
  392. package/dist/types/xlsx/xform/table/filter-column-xform.d.ts +2 -2
  393. package/dist/types/xlsx/xform/table/filter-xform.d.ts +1 -1
  394. package/dist/types/xlsx/xform/table/table-column-xform.d.ts +1 -1
  395. package/dist/types/xlsx/xform/table/table-style-info-xform.d.ts +1 -1
  396. package/dist/types/xlsx/xform/table/table-xform.d.ts +1 -1
  397. package/dist/types/xlsx/xlsx.base.d.ts +134 -0
  398. package/dist/types/xlsx/xlsx.browser.d.ts +31 -0
  399. package/dist/types/xlsx/xlsx.d.ts +20 -80
  400. package/package.json +16 -39
@@ -1,4 +1,4 @@
1
- import type { Table } from "./table.js";
1
+ import type { Table } from "./table";
2
2
  /**
3
3
  * Interface representing the source data abstraction for pivot tables.
4
4
  * This allows both Worksheet and Table to be used as pivot table data sources.
@@ -1,4 +1,4 @@
1
- import type { Address } from "../types.js";
1
+ import type { Address } from "../types";
2
2
  interface RangeModel {
3
3
  top: number;
4
4
  left: number;
@@ -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, ColBreak, ConditionalFormattingOptions, DataValidation, RowBreak, RowValues, TableProperties, WorksheetProperties, WorksheetView } from "../types";
11
11
  type DataValidationModel = {
12
12
  [address: string]: DataValidation | undefined;
13
13
  };
@@ -96,6 +96,7 @@ interface WorksheetModel {
96
96
  pageSetup: PageSetup;
97
97
  headerFooter: HeaderFooter;
98
98
  rowBreaks: RowBreak[];
99
+ colBreaks: ColBreak[];
99
100
  views: Partial<WorksheetView>[];
100
101
  autoFilter: AutoFilter | null;
101
102
  media: ImageModel[];
@@ -120,6 +121,7 @@ declare class Worksheet {
120
121
  private _keys;
121
122
  private _merges;
122
123
  rowBreaks: RowBreak[];
124
+ colBreaks: ColBreak[];
123
125
  properties: Partial<WorksheetProperties>;
124
126
  pageSetup: PageSetup;
125
127
  headerFooter: HeaderFooter;
@@ -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
- 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";
2
+ import { Zip } from "../../utils/zip/streaming-zip";
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, ColBreak, PageSetup, HeaderFooter, WorksheetProperties, WorksheetView, WorksheetState, AutoFilter, WorksheetProtection, ConditionalFormattingOptions } from "../../types";
10
10
  interface WorksheetWriterOptions {
11
11
  id: number;
12
12
  name?: string;
@@ -46,6 +46,7 @@ declare class WorksheetWriter {
46
46
  _siFormulae: number;
47
47
  conditionalFormatting: ConditionalFormattingOptions[];
48
48
  rowBreaks: RowBreak[];
49
+ colBreaks: ColBreak[];
49
50
  properties: Partial<WorksheetProperties> & {
50
51
  defaultRowHeight: number;
51
52
  dyDescent: number;
@@ -123,6 +124,7 @@ declare class WorksheetWriter {
123
124
  _writeHyperlinks(): void;
124
125
  _writeConditionalFormatting(): void;
125
126
  _writeRowBreaks(): void;
127
+ _writeColBreaks(): void;
126
128
  _writeDataValidations(): void;
127
129
  _writeSheetProtection(): void;
128
130
  _writePageMargins(): void;
@@ -509,4 +509,10 @@ export interface RowBreak {
509
509
  min?: number;
510
510
  man: number;
511
511
  }
512
+ export interface ColBreak {
513
+ id: number;
514
+ max: number;
515
+ min?: number;
516
+ man: number;
517
+ }
512
518
  export {};
@@ -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
  };