@cj-tech-master/excelts 1.6.3 → 2.0.0-canary.20251228013952.4f2c3c6

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 +499 -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 +493 -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 +56 -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
@@ -5,20 +5,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.WorkbookWriter = void 0;
7
7
  const fs_1 = __importDefault(require("fs"));
8
- const fflate_1 = require("fflate");
9
- const stream_buf_js_1 = require("../../utils/stream-buf");
10
- const rel_type_js_1 = require("../../xlsx/rel-type");
11
- const styles_xform_js_1 = require("../../xlsx/xform/style/styles-xform");
12
- const shared_strings_js_1 = require("../../utils/shared-strings");
13
- const defined_names_js_1 = require("../../doc/defined-names");
14
- const core_xform_js_1 = require("../../xlsx/xform/core/core-xform");
15
- const relationships_xform_js_1 = require("../../xlsx/xform/core/relationships-xform");
16
- const content_types_xform_js_1 = require("../../xlsx/xform/core/content-types-xform");
17
- const app_xform_js_1 = require("../../xlsx/xform/core/app-xform");
18
- const workbook_xform_js_1 = require("../../xlsx/xform/book/workbook-xform");
19
- const shared_strings_xform_js_1 = require("../../xlsx/xform/strings/shared-strings-xform");
20
- const worksheet_writer_js_1 = require("./worksheet-writer");
21
- const theme1_js_1 = require("../../xlsx/xml/theme1");
8
+ const streaming_zip_1 = require("../../utils/zip/streaming-zip");
9
+ const stream_buf_1 = require("../../utils/stream-buf");
10
+ const rel_type_1 = require("../../xlsx/rel-type");
11
+ const styles_xform_1 = require("../../xlsx/xform/style/styles-xform");
12
+ const shared_strings_1 = require("../../utils/shared-strings");
13
+ const defined_names_1 = require("../../doc/defined-names");
14
+ const core_xform_1 = require("../../xlsx/xform/core/core-xform");
15
+ const relationships_xform_1 = require("../../xlsx/xform/core/relationships-xform");
16
+ const content_types_xform_1 = require("../../xlsx/xform/core/content-types-xform");
17
+ const app_xform_1 = require("../../xlsx/xform/core/app-xform");
18
+ const workbook_xform_1 = require("../../xlsx/xform/book/workbook-xform");
19
+ const shared_strings_xform_1 = require("../../xlsx/xform/strings/shared-strings-xform");
20
+ const worksheet_writer_1 = require("./worksheet-writer");
21
+ const theme1_1 = require("../../xlsx/xml/theme1");
22
22
  class WorkbookWriter {
23
23
  constructor(options = {}) {
24
24
  this.created = options.created || new Date();
@@ -28,11 +28,11 @@ class WorkbookWriter {
28
28
  this.lastPrinted = options.lastPrinted;
29
29
  // using shared strings creates a smaller xlsx file but may use more memory
30
30
  this.useSharedStrings = options.useSharedStrings || false;
31
- this.sharedStrings = new shared_strings_js_1.SharedStrings();
31
+ this.sharedStrings = new shared_strings_1.SharedStrings();
32
32
  // style manager
33
- this.styles = options.useStyles ? new styles_xform_js_1.StylesXform(true) : new styles_xform_js_1.StylesXform.Mock(true);
33
+ this.styles = options.useStyles ? new styles_xform_1.StylesXform(true) : new styles_xform_1.StylesXform.Mock(true);
34
34
  // defined names
35
- this._definedNames = new defined_names_js_1.DefinedNames();
35
+ this._definedNames = new defined_names_1.DefinedNames();
36
36
  this._worksheets = [];
37
37
  this.views = [];
38
38
  this.zipOptions = options.zip;
@@ -44,7 +44,7 @@ class WorkbookWriter {
44
44
  this.media = [];
45
45
  this.commentRefs = [];
46
46
  // Create fflate Zip instance
47
- this.zip = new fflate_1.Zip((err, data, final) => {
47
+ this.zip = new streaming_zip_1.Zip((err, data, final) => {
48
48
  if (err) {
49
49
  this.stream.emit("error", err);
50
50
  }
@@ -62,7 +62,7 @@ class WorkbookWriter {
62
62
  this.stream = fs_1.default.createWriteStream(options.filename);
63
63
  }
64
64
  else {
65
- this.stream = new stream_buf_js_1.StreamBuf();
65
+ this.stream = new stream_buf_1.StreamBuf();
66
66
  }
67
67
  // these bits can be added right now
68
68
  this.promise = Promise.all([this.addThemes(), this.addOfficeRels()]);
@@ -71,9 +71,9 @@ class WorkbookWriter {
71
71
  return this._definedNames;
72
72
  }
73
73
  _openStream(path) {
74
- const stream = new stream_buf_js_1.StreamBuf({ bufSize: 65536, batch: true });
74
+ const stream = new stream_buf_1.StreamBuf({ bufSize: 65536, batch: true });
75
75
  // Create a ZipDeflate for this file with compression
76
- const zipFile = new fflate_1.ZipDeflate(path, { level: this.compressionLevel });
76
+ const zipFile = new streaming_zip_1.ZipDeflate(path, { level: this.compressionLevel });
77
77
  this.zip.add(zipFile);
78
78
  // Don't pause the stream - we need data events to flow
79
79
  // The original implementation used archiver which consumed the stream internally
@@ -93,7 +93,7 @@ class WorkbookWriter {
93
93
  }
94
94
  _addFile(data, name, base64) {
95
95
  // Helper method to add a file to the zip using fflate with compression
96
- const zipFile = new fflate_1.ZipDeflate(name, { level: this.compressionLevel });
96
+ const zipFile = new streaming_zip_1.ZipDeflate(name, { level: this.compressionLevel });
97
97
  this.zip.add(zipFile);
98
98
  let buffer;
99
99
  if (base64) {
@@ -191,7 +191,7 @@ class WorkbookWriter {
191
191
  }
192
192
  const id = this.nextId;
193
193
  name = name || `sheet${id}`;
194
- const worksheet = new worksheet_writer_js_1.WorksheetWriter({
194
+ const worksheet = new worksheet_writer_1.WorksheetWriter({
195
195
  id,
196
196
  name,
197
197
  workbook: this,
@@ -229,17 +229,17 @@ class WorkbookWriter {
229
229
  }
230
230
  addThemes() {
231
231
  return new Promise(resolve => {
232
- this._addFile(theme1_js_1.theme1Xml, "xl/theme/theme1.xml");
232
+ this._addFile(theme1_1.theme1Xml, "xl/theme/theme1.xml");
233
233
  resolve();
234
234
  });
235
235
  }
236
236
  addOfficeRels() {
237
237
  return new Promise(resolve => {
238
- const xform = new relationships_xform_js_1.RelationshipsXform();
238
+ const xform = new relationships_xform_1.RelationshipsXform();
239
239
  const xml = xform.toXml([
240
- { Id: "rId1", Type: rel_type_js_1.RelType.OfficeDocument, Target: "xl/workbook.xml" },
241
- { Id: "rId2", Type: rel_type_js_1.RelType.CoreProperties, Target: "docProps/core.xml" },
242
- { Id: "rId3", Type: rel_type_js_1.RelType.ExtenderProperties, Target: "docProps/app.xml" }
240
+ { Id: "rId1", Type: rel_type_1.RelType.OfficeDocument, Target: "xl/workbook.xml" },
241
+ { Id: "rId2", Type: rel_type_1.RelType.CoreProperties, Target: "docProps/core.xml" },
242
+ { Id: "rId3", Type: rel_type_1.RelType.ExtenderProperties, Target: "docProps/app.xml" }
243
243
  ]);
244
244
  this._addFile(xml, "_rels/.rels");
245
245
  resolve();
@@ -253,7 +253,7 @@ class WorkbookWriter {
253
253
  commentRefs: this.commentRefs,
254
254
  media: this.media
255
255
  };
256
- const xform = new content_types_xform_js_1.ContentTypesXform();
256
+ const xform = new content_types_xform_1.ContentTypesXform();
257
257
  const xml = xform.toXml(model);
258
258
  this._addFile(xml, "[Content_Types].xml");
259
259
  resolve();
@@ -296,7 +296,7 @@ class WorkbookWriter {
296
296
  const model = {
297
297
  worksheets: this._worksheets.filter(Boolean)
298
298
  };
299
- const xform = new app_xform_js_1.AppXform();
299
+ const xform = new app_xform_1.AppXform();
300
300
  const xml = xform.toXml(model);
301
301
  this._addFile(xml, "docProps/app.xml");
302
302
  resolve();
@@ -304,7 +304,7 @@ class WorkbookWriter {
304
304
  }
305
305
  addCore() {
306
306
  return new Promise(resolve => {
307
- const coreXform = new core_xform_js_1.CoreXform();
307
+ const coreXform = new core_xform_1.CoreXform();
308
308
  const xml = coreXform.toXml(this);
309
309
  this._addFile(xml, "docProps/core.xml");
310
310
  resolve();
@@ -313,7 +313,7 @@ class WorkbookWriter {
313
313
  addSharedStrings() {
314
314
  if (this.sharedStrings.count) {
315
315
  return new Promise(resolve => {
316
- const sharedStringsXform = new shared_strings_xform_js_1.SharedStringsXform();
316
+ const sharedStringsXform = new shared_strings_xform_1.SharedStringsXform();
317
317
  const xml = sharedStringsXform.toXml(this.sharedStrings);
318
318
  this._addFile(xml, "xl/sharedStrings.xml");
319
319
  resolve();
@@ -324,13 +324,13 @@ class WorkbookWriter {
324
324
  addWorkbookRels() {
325
325
  let count = 1;
326
326
  const relationships = [
327
- { Id: `rId${count++}`, Type: rel_type_js_1.RelType.Styles, Target: "styles.xml" },
328
- { Id: `rId${count++}`, Type: rel_type_js_1.RelType.Theme, Target: "theme/theme1.xml" }
327
+ { Id: `rId${count++}`, Type: rel_type_1.RelType.Styles, Target: "styles.xml" },
328
+ { Id: `rId${count++}`, Type: rel_type_1.RelType.Theme, Target: "theme/theme1.xml" }
329
329
  ];
330
330
  if (this.sharedStrings.count) {
331
331
  relationships.push({
332
332
  Id: `rId${count++}`,
333
- Type: rel_type_js_1.RelType.SharedStrings,
333
+ Type: rel_type_1.RelType.SharedStrings,
334
334
  Target: "sharedStrings.xml"
335
335
  });
336
336
  }
@@ -339,13 +339,13 @@ class WorkbookWriter {
339
339
  worksheet.rId = `rId${count++}`;
340
340
  relationships.push({
341
341
  Id: worksheet.rId,
342
- Type: rel_type_js_1.RelType.Worksheet,
342
+ Type: rel_type_1.RelType.Worksheet,
343
343
  Target: `worksheets/sheet${worksheet.id}.xml`
344
344
  });
345
345
  }
346
346
  });
347
347
  return new Promise(resolve => {
348
- const xform = new relationships_xform_js_1.RelationshipsXform();
348
+ const xform = new relationships_xform_1.RelationshipsXform();
349
349
  const xml = xform.toXml(relationships);
350
350
  this._addFile(xml, "xl/_rels/workbook.xml.rels");
351
351
  resolve();
@@ -360,7 +360,7 @@ class WorkbookWriter {
360
360
  calcProperties: {}
361
361
  };
362
362
  return new Promise(resolve => {
363
- const xform = new workbook_xform_js_1.WorkbookXform();
363
+ const xform = new workbook_xform_1.WorkbookXform();
364
364
  xform.prepare(model);
365
365
  this._addFile(xform.toXml(model), "xl/workbook.xml");
366
366
  resolve();
@@ -2,12 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WorksheetReader = void 0;
4
4
  const events_1 = require("events");
5
- const parse_sax_js_1 = require("../../utils/parse-sax");
6
- const utils_js_1 = require("../../utils/utils");
7
- const col_cache_js_1 = require("../../utils/col-cache");
8
- const range_js_1 = require("../../doc/range");
9
- const row_js_1 = require("../../doc/row");
10
- const column_js_1 = require("../../doc/column");
5
+ const parse_sax_1 = require("../../utils/parse-sax");
6
+ const utils_1 = require("../../utils/utils");
7
+ const col_cache_1 = require("../../utils/col-cache");
8
+ const range_1 = require("../../doc/range");
9
+ const row_1 = require("../../doc/row");
10
+ const column_1 = require("../../doc/column");
11
11
  class WorksheetReader extends events_1.EventEmitter {
12
12
  constructor({ workbook, id, iterator, options }) {
13
13
  super();
@@ -21,7 +21,7 @@ class WorksheetReader extends events_1.EventEmitter {
21
21
  this._columns = null;
22
22
  this._keys = {};
23
23
  // keep a record of dimensions
24
- this._dimensions = new range_js_1.Dimensions();
24
+ this._dimensions = new range_1.Dimensions();
25
25
  }
26
26
  // destroy - not a valid operation for a streaming writer
27
27
  // even though some streamers might be able to, it's a bad idea.
@@ -48,7 +48,7 @@ class WorksheetReader extends events_1.EventEmitter {
48
48
  return col;
49
49
  }
50
50
  // otherwise, assume letter
51
- c = col_cache_js_1.colCache.l2n(c);
51
+ c = col_cache_1.colCache.l2n(c);
52
52
  }
53
53
  if (!this._columns) {
54
54
  this._columns = [];
@@ -56,7 +56,7 @@ class WorksheetReader extends events_1.EventEmitter {
56
56
  if (c > this._columns.length) {
57
57
  let n = this._columns.length + 1;
58
58
  while (n <= c) {
59
- this._columns.push(new column_js_1.Column(this, n++));
59
+ this._columns.push(new column_1.Column(this, n++));
60
60
  }
61
61
  }
62
62
  return this._columns[c - 1];
@@ -133,7 +133,7 @@ class WorksheetReader extends events_1.EventEmitter {
133
133
  let row = null;
134
134
  let c = null;
135
135
  let current = null;
136
- for await (const events of (0, parse_sax_js_1.parseSax)(iterator)) {
136
+ for await (const events of (0, parse_sax_1.parseSax)(iterator)) {
137
137
  const worksheetEvents = [];
138
138
  for (const { eventType, value } of events) {
139
139
  if (eventType === "opentag") {
@@ -160,7 +160,7 @@ class WorksheetReader extends events_1.EventEmitter {
160
160
  case "row":
161
161
  if (inRows) {
162
162
  const r = parseInt(node.attributes.r, 10);
163
- row = new row_js_1.Row(this, r);
163
+ row = new row_1.Row(this, r);
164
164
  if (node.attributes.ht) {
165
165
  row.height = parseFloat(node.attributes.ht);
166
166
  }
@@ -244,7 +244,7 @@ class WorksheetReader extends events_1.EventEmitter {
244
244
  switch (node.name) {
245
245
  case "cols":
246
246
  inCols = false;
247
- this._columns = column_js_1.Column.fromModel(cols);
247
+ this._columns = column_1.Column.fromModel(cols);
248
248
  break;
249
249
  case "sheetData":
250
250
  inRows = false;
@@ -256,7 +256,7 @@ class WorksheetReader extends events_1.EventEmitter {
256
256
  break;
257
257
  case "c":
258
258
  if (row && c) {
259
- const address = col_cache_js_1.colCache.decodeAddress(c.ref);
259
+ const address = col_cache_1.colCache.decodeAddress(c.ref);
260
260
  const cell = row.getCell(address.col);
261
261
  if (c.s) {
262
262
  const style = styles.getStyleModel(c.s);
@@ -270,7 +270,7 @@ class WorksheetReader extends events_1.EventEmitter {
270
270
  };
271
271
  if (c.v) {
272
272
  if (c.t === "str") {
273
- cellValue.result = (0, utils_js_1.xmlDecode)(c.v.text);
273
+ cellValue.result = (0, utils_1.xmlDecode)(c.v.text);
274
274
  }
275
275
  else {
276
276
  cellValue.result = parseFloat(c.v.text);
@@ -295,7 +295,7 @@ class WorksheetReader extends events_1.EventEmitter {
295
295
  }
296
296
  case "inlineStr":
297
297
  case "str":
298
- cell.value = (0, utils_js_1.xmlDecode)(c.v.text);
298
+ cell.value = (0, utils_1.xmlDecode)(c.v.text);
299
299
  break;
300
300
  case "e":
301
301
  cell.value = { error: c.v.text };
@@ -305,8 +305,8 @@ class WorksheetReader extends events_1.EventEmitter {
305
305
  break;
306
306
  default: {
307
307
  const numFmtStr = typeof cell.numFmt === "string" ? cell.numFmt : cell.numFmt?.formatCode;
308
- if (numFmtStr && (0, utils_js_1.isDateFmt)(numFmtStr)) {
309
- cell.value = (0, utils_js_1.excelToDate)(parseFloat(c.v.text), properties?.model?.date1904);
308
+ if (numFmtStr && (0, utils_1.isDateFmt)(numFmtStr)) {
309
+ cell.value = (0, utils_1.excelToDate)(parseFloat(c.v.text), properties?.model?.date1904);
310
310
  }
311
311
  else {
312
312
  cell.value = parseFloat(c.v.text);
@@ -1,60 +1,62 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WorksheetWriter = void 0;
4
- const rel_type_js_1 = require("../../xlsx/rel-type");
5
- const col_cache_js_1 = require("../../utils/col-cache");
6
- const encryptor_js_1 = require("../../utils/encryptor");
7
- const range_js_1 = require("../../doc/range");
8
- const string_buf_js_1 = require("../../utils/string-buf");
9
- const row_js_1 = require("../../doc/row");
10
- const column_js_1 = require("../../doc/column");
11
- const sheet_rels_writer_js_1 = require("./sheet-rels-writer");
12
- const sheet_comments_writer_js_1 = require("./sheet-comments-writer");
13
- const data_validations_js_1 = require("../../doc/data-validations");
14
- const xmlBuffer = new string_buf_js_1.StringBuf();
4
+ const rel_type_1 = require("../../xlsx/rel-type");
5
+ const col_cache_1 = require("../../utils/col-cache");
6
+ const encryptor_1 = require("../../utils/encryptor");
7
+ const range_1 = require("../../doc/range");
8
+ const string_buf_1 = require("../../utils/string-buf");
9
+ const row_1 = require("../../doc/row");
10
+ const column_1 = require("../../doc/column");
11
+ const sheet_rels_writer_1 = require("./sheet-rels-writer");
12
+ const sheet_comments_writer_1 = require("./sheet-comments-writer");
13
+ const data_validations_1 = require("../../doc/data-validations");
14
+ const xmlBuffer = new string_buf_1.StringBuf();
15
15
  // ============================================================================================
16
16
  // Xforms
17
- const list_xform_js_1 = require("../../xlsx/xform/list-xform");
18
- const data_validations_xform_js_1 = require("../../xlsx/xform/sheet/data-validations-xform");
19
- const sheet_properties_xform_js_1 = require("../../xlsx/xform/sheet/sheet-properties-xform");
20
- const sheet_format_properties_xform_js_1 = require("../../xlsx/xform/sheet/sheet-format-properties-xform");
21
- const col_xform_js_1 = require("../../xlsx/xform/sheet/col-xform");
22
- const row_xform_js_1 = require("../../xlsx/xform/sheet/row-xform");
23
- const hyperlink_xform_js_1 = require("../../xlsx/xform/sheet/hyperlink-xform");
24
- const sheet_view_xform_js_1 = require("../../xlsx/xform/sheet/sheet-view-xform");
25
- const sheet_protection_xform_js_1 = require("../../xlsx/xform/sheet/sheet-protection-xform");
26
- const page_margins_xform_js_1 = require("../../xlsx/xform/sheet/page-margins-xform");
27
- const page_setup_xform_js_1 = require("../../xlsx/xform/sheet/page-setup-xform");
28
- const auto_filter_xform_js_1 = require("../../xlsx/xform/sheet/auto-filter-xform");
29
- const picture_xform_js_1 = require("../../xlsx/xform/sheet/picture-xform");
30
- const conditional_formattings_xform_js_1 = require("../../xlsx/xform/sheet/cf/conditional-formattings-xform");
31
- const header_footer_xform_js_1 = require("../../xlsx/xform/sheet/header-footer-xform");
32
- const row_breaks_xform_js_1 = require("../../xlsx/xform/sheet/row-breaks-xform");
17
+ const list_xform_1 = require("../../xlsx/xform/list-xform");
18
+ const data_validations_xform_1 = require("../../xlsx/xform/sheet/data-validations-xform");
19
+ const sheet_properties_xform_1 = require("../../xlsx/xform/sheet/sheet-properties-xform");
20
+ const sheet_format_properties_xform_1 = require("../../xlsx/xform/sheet/sheet-format-properties-xform");
21
+ const col_xform_1 = require("../../xlsx/xform/sheet/col-xform");
22
+ const row_xform_1 = require("../../xlsx/xform/sheet/row-xform");
23
+ const hyperlink_xform_1 = require("../../xlsx/xform/sheet/hyperlink-xform");
24
+ const sheet_view_xform_1 = require("../../xlsx/xform/sheet/sheet-view-xform");
25
+ const sheet_protection_xform_1 = require("../../xlsx/xform/sheet/sheet-protection-xform");
26
+ const page_margins_xform_1 = require("../../xlsx/xform/sheet/page-margins-xform");
27
+ const page_setup_xform_1 = require("../../xlsx/xform/sheet/page-setup-xform");
28
+ const auto_filter_xform_1 = require("../../xlsx/xform/sheet/auto-filter-xform");
29
+ const picture_xform_1 = require("../../xlsx/xform/sheet/picture-xform");
30
+ const conditional_formattings_xform_1 = require("../../xlsx/xform/sheet/cf/conditional-formattings-xform");
31
+ const header_footer_xform_1 = require("../../xlsx/xform/sheet/header-footer-xform");
32
+ const row_breaks_xform_1 = require("../../xlsx/xform/sheet/row-breaks-xform");
33
+ const col_breaks_xform_1 = require("../../xlsx/xform/sheet/col-breaks-xform");
33
34
  // since prepare and render are functional, we can use singletons
34
35
  const xform = {
35
- dataValidations: new data_validations_xform_js_1.DataValidationsXform(),
36
- sheetProperties: new sheet_properties_xform_js_1.SheetPropertiesXform(),
37
- sheetFormatProperties: new sheet_format_properties_xform_js_1.SheetFormatPropertiesXform(),
38
- columns: new list_xform_js_1.ListXform({ tag: "cols", count: false, childXform: new col_xform_js_1.ColXform() }),
39
- row: new row_xform_js_1.RowXform(),
40
- hyperlinks: new list_xform_js_1.ListXform({
36
+ dataValidations: new data_validations_xform_1.DataValidationsXform(),
37
+ sheetProperties: new sheet_properties_xform_1.SheetPropertiesXform(),
38
+ sheetFormatProperties: new sheet_format_properties_xform_1.SheetFormatPropertiesXform(),
39
+ columns: new list_xform_1.ListXform({ tag: "cols", count: false, childXform: new col_xform_1.ColXform() }),
40
+ row: new row_xform_1.RowXform(),
41
+ hyperlinks: new list_xform_1.ListXform({
41
42
  tag: "hyperlinks",
42
43
  count: false,
43
- childXform: new hyperlink_xform_js_1.HyperlinkXform()
44
+ childXform: new hyperlink_xform_1.HyperlinkXform()
44
45
  }),
45
- sheetViews: new list_xform_js_1.ListXform({
46
+ sheetViews: new list_xform_1.ListXform({
46
47
  tag: "sheetViews",
47
48
  count: false,
48
- childXform: new sheet_view_xform_js_1.SheetViewXform()
49
+ childXform: new sheet_view_xform_1.SheetViewXform()
49
50
  }),
50
- sheetProtection: new sheet_protection_xform_js_1.SheetProtectionXform(),
51
- pageMargins: new page_margins_xform_js_1.PageMarginsXform(),
52
- pageSeteup: new page_setup_xform_js_1.PageSetupXform(),
53
- autoFilter: new auto_filter_xform_js_1.AutoFilterXform(),
54
- picture: new picture_xform_js_1.PictureXform(),
55
- conditionalFormattings: new conditional_formattings_xform_js_1.ConditionalFormattingsXform(),
56
- headerFooter: new header_footer_xform_js_1.HeaderFooterXform(),
57
- rowBreaks: new row_breaks_xform_js_1.RowBreaksXform()
51
+ sheetProtection: new sheet_protection_xform_1.SheetProtectionXform(),
52
+ pageMargins: new page_margins_xform_1.PageMarginsXform(),
53
+ pageSeteup: new page_setup_xform_1.PageSetupXform(),
54
+ autoFilter: new auto_filter_xform_1.AutoFilterXform(),
55
+ picture: new picture_xform_1.PictureXform(),
56
+ conditionalFormattings: new conditional_formattings_xform_1.ConditionalFormattingsXform(),
57
+ headerFooter: new header_footer_xform_1.HeaderFooterXform(),
58
+ rowBreaks: new row_breaks_xform_1.RowBreaksXform(),
59
+ colBreaks: new col_breaks_xform_1.ColBreaksXform()
58
60
  };
59
61
  class WorksheetWriter {
60
62
  constructor(options) {
@@ -75,16 +77,16 @@ class WorksheetWriter {
75
77
  this._merges = [];
76
78
  this._merges.add = function () { }; // ignore cell instruction
77
79
  // keep record of all hyperlinks
78
- this._sheetRelsWriter = new sheet_rels_writer_js_1.SheetRelsWriter(options);
79
- this._sheetCommentsWriter = new sheet_comments_writer_js_1.SheetCommentsWriter(this, this._sheetRelsWriter, options);
80
+ this._sheetRelsWriter = new sheet_rels_writer_1.SheetRelsWriter(options);
81
+ this._sheetCommentsWriter = new sheet_comments_writer_1.SheetCommentsWriter(this, this._sheetRelsWriter, options);
80
82
  // keep a record of dimensions
81
- this._dimensions = new range_js_1.Dimensions();
83
+ this._dimensions = new range_1.Dimensions();
82
84
  // first uncommitted row
83
85
  this._rowZero = 1;
84
86
  // committed flag
85
87
  this.committed = false;
86
88
  // for data validations
87
- this.dataValidations = new data_validations_js_1.DataValidations();
89
+ this.dataValidations = new data_validations_1.DataValidations();
88
90
  // for sharing formulae
89
91
  this._formulae = {};
90
92
  this._siFormulae = 0;
@@ -92,6 +94,7 @@ class WorksheetWriter {
92
94
  this.conditionalFormatting = [];
93
95
  // keep a record of all row and column pageBreaks
94
96
  this.rowBreaks = [];
97
+ this.colBreaks = [];
95
98
  // for default row height, outline levels, etc
96
99
  this.properties = Object.assign({}, {
97
100
  defaultRowHeight: 15,
@@ -196,6 +199,7 @@ class WorksheetWriter {
196
199
  this._writeBackground();
197
200
  this._writeHeaderFooter();
198
201
  this._writeRowBreaks();
202
+ this._writeColBreaks();
199
203
  // Legacy Data tag for comments
200
204
  this._writeLegacyData();
201
205
  this._writeCloseWorksheet();
@@ -231,7 +235,7 @@ class WorksheetWriter {
231
235
  let count = 1;
232
236
  const columns = (this._columns = []);
233
237
  value.forEach(defn => {
234
- const column = new column_js_1.Column(this, count++, false);
238
+ const column = new column_1.Column(this, count++, false);
235
239
  columns.push(column);
236
240
  column.defn = defn;
237
241
  });
@@ -258,7 +262,7 @@ class WorksheetWriter {
258
262
  return col;
259
263
  }
260
264
  // otherwise, assume letter
261
- c = col_cache_js_1.colCache.l2n(c);
265
+ c = col_cache_1.colCache.l2n(c);
262
266
  }
263
267
  if (!this._columns) {
264
268
  this._columns = [];
@@ -266,7 +270,7 @@ class WorksheetWriter {
266
270
  if (c > this._columns.length) {
267
271
  let n = this._columns.length + 1;
268
272
  while (n <= c) {
269
- this._columns.push(new column_js_1.Column(this, n++));
273
+ this._columns.push(new column_1.Column(this, n++));
270
274
  }
271
275
  }
272
276
  return this._columns[c - 1];
@@ -335,12 +339,12 @@ class WorksheetWriter {
335
339
  }
336
340
  let row = this._rows[index];
337
341
  if (!row) {
338
- this._rows[index] = row = new row_js_1.Row(this, rowNumber);
342
+ this._rows[index] = row = new row_1.Row(this, rowNumber);
339
343
  }
340
344
  return row;
341
345
  }
342
346
  addRow(value) {
343
- const row = new row_js_1.Row(this, this._nextRow);
347
+ const row = new row_1.Row(this, this._nextRow);
344
348
  this._rows[row.number - this._rowZero] = row;
345
349
  row.values = value;
346
350
  return row;
@@ -349,19 +353,19 @@ class WorksheetWriter {
349
353
  // Cells
350
354
  // returns the cell at [r,c] or address given by r. If not found, return undefined
351
355
  findCell(r, c) {
352
- const address = col_cache_js_1.colCache.getAddress(r, c);
356
+ const address = col_cache_1.colCache.getAddress(r, c);
353
357
  const row = this.findRow(address.row);
354
358
  return row ? row.findCell(address.column) : undefined;
355
359
  }
356
360
  // return the cell at [r,c] or address given by r. If not found, create a new one.
357
361
  getCell(r, c) {
358
- const address = col_cache_js_1.colCache.getAddress(r, c);
362
+ const address = col_cache_1.colCache.getAddress(r, c);
359
363
  const row = this.getRow(address.row);
360
364
  return row.getCellEx(address);
361
365
  }
362
366
  mergeCells(...cells) {
363
367
  // may fail if rows have been comitted
364
- const dimensions = new range_js_1.Dimensions(cells);
368
+ const dimensions = new range_1.Dimensions(cells);
365
369
  // check cells aren't already merged
366
370
  this._merges.forEach(merge => {
367
371
  if (merge.intersects(dimensions)) {
@@ -422,10 +426,10 @@ class WorksheetWriter {
422
426
  }
423
427
  if (password) {
424
428
  this.sheetProtection.algorithmName = "SHA-512";
425
- this.sheetProtection.saltValue = encryptor_js_1.Encryptor.randomBytes(16).toString("base64");
429
+ this.sheetProtection.saltValue = encryptor_1.Encryptor.randomBytes(16).toString("base64");
426
430
  this.sheetProtection.spinCount =
427
431
  options && "spinCount" in options ? options.spinCount : 100000; // allow user specified spinCount
428
- this.sheetProtection.hashValue = encryptor_js_1.Encryptor.convertPasswordToHash(password, "SHA512", this.sheetProtection.saltValue, this.sheetProtection.spinCount);
432
+ this.sheetProtection.hashValue = encryptor_1.Encryptor.convertPasswordToHash(password, "SHA512", this.sheetProtection.saltValue, this.sheetProtection.spinCount);
429
433
  }
430
434
  if (options) {
431
435
  this.sheetProtection = Object.assign(this.sheetProtection, options);
@@ -485,7 +489,7 @@ class WorksheetWriter {
485
489
  this.stream.write(xmlBuffer);
486
490
  }
487
491
  _writeColumns() {
488
- const cols = column_js_1.Column.toModel(this.columns);
492
+ const cols = column_1.Column.toModel(this.columns);
489
493
  if (cols) {
490
494
  xform.columns.prepare(cols, { styles: this._workbook.styles });
491
495
  this.stream.write(xform.columns.toXml(cols));
@@ -546,6 +550,9 @@ class WorksheetWriter {
546
550
  _writeRowBreaks() {
547
551
  this.stream.write(xform.rowBreaks.toXml(this.rowBreaks));
548
552
  }
553
+ _writeColBreaks() {
554
+ this.stream.write(xform.colBreaks.toXml(this.colBreaks));
555
+ }
549
556
  _writeDataValidations() {
550
557
  this.stream.write(xform.dataValidations.toXml(this.dataValidations.model));
551
558
  }
@@ -570,7 +577,7 @@ class WorksheetWriter {
570
577
  const image = this._workbook.getImage(this._background.imageId);
571
578
  const pictureId = this._sheetRelsWriter.addMedia({
572
579
  Target: `../media/${image.name}`,
573
- Type: rel_type_js_1.RelType.Image
580
+ Type: rel_type_1.RelType.Image
574
581
  });
575
582
  this._background = {
576
583
  ...this._background,
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ /**
3
+ * Browser-compatible Buffer utilities
4
+ * Provides base64 encoding/decoding and a Buffer-like wrapper for Uint8Array
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.BrowserBuffer = void 0;
8
+ exports.uint8ArrayToBase64 = uint8ArrayToBase64;
9
+ exports.base64ToUint8Array = base64ToUint8Array;
10
+ exports.stringToUtf16Le = stringToUtf16Le;
11
+ exports.concatUint8Arrays = concatUint8Arrays;
12
+ /**
13
+ * Convert Uint8Array to base64 string
14
+ */
15
+ function uint8ArrayToBase64(bytes) {
16
+ let binary = "";
17
+ for (let i = 0; i < bytes.length; i++) {
18
+ binary += String.fromCharCode(bytes[i]);
19
+ }
20
+ return btoa(binary);
21
+ }
22
+ /**
23
+ * Convert base64 string to Uint8Array
24
+ */
25
+ function base64ToUint8Array(base64) {
26
+ const binaryString = atob(base64);
27
+ const bytes = new Uint8Array(binaryString.length);
28
+ for (let i = 0; i < binaryString.length; i++) {
29
+ bytes[i] = binaryString.charCodeAt(i);
30
+ }
31
+ return bytes;
32
+ }
33
+ /**
34
+ * Buffer-like wrapper for Uint8Array with toString("base64") support
35
+ * This provides Node.js Buffer-like API for browser environments
36
+ */
37
+ class BrowserBuffer extends Uint8Array {
38
+ toString(encoding) {
39
+ if (encoding === "base64") {
40
+ return uint8ArrayToBase64(this);
41
+ }
42
+ return new TextDecoder().decode(this);
43
+ }
44
+ static from(data) {
45
+ const buffer = new BrowserBuffer(data.length);
46
+ buffer.set(data);
47
+ return buffer;
48
+ }
49
+ }
50
+ exports.BrowserBuffer = BrowserBuffer;
51
+ /**
52
+ * Convert string to UTF-16LE Uint8Array (used for Excel password hashing)
53
+ */
54
+ function stringToUtf16Le(str) {
55
+ const bytes = new Uint8Array(str.length * 2);
56
+ for (let i = 0; i < str.length; i++) {
57
+ const code = str.charCodeAt(i);
58
+ bytes[i * 2] = code & 0xff;
59
+ bytes[i * 2 + 1] = (code >> 8) & 0xff;
60
+ }
61
+ return bytes;
62
+ }
63
+ /**
64
+ * Concatenate multiple Uint8Arrays into one
65
+ */
66
+ function concatUint8Arrays(...arrays) {
67
+ const totalLength = arrays.reduce((acc, arr) => acc + arr.length, 0);
68
+ const result = new Uint8Array(totalLength);
69
+ let offset = 0;
70
+ for (const arr of arrays) {
71
+ result.set(arr, offset);
72
+ offset += arr.length;
73
+ }
74
+ return result;
75
+ }
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.cellFormat = void 0;
11
11
  exports.getFormat = getFormat;
12
12
  exports.format = format;
13
- const utils_js_1 = require("./utils");
13
+ const utils_1 = require("./utils");
14
14
  // =============================================================================
15
15
  // Built-in Format Table (Excel numFmtId to format string mapping)
16
16
  // =============================================================================
@@ -228,7 +228,7 @@ function formatDate(serial, fmt) {
228
228
  const minutes = Math.floor((timeOfDay % 3600) / 60);
229
229
  const seconds = timeOfDay % 60;
230
230
  // For date components, use excelToDate but only for date parts
231
- const date = (0, utils_js_1.excelToDate)(serial, false);
231
+ const date = (0, utils_1.excelToDate)(serial, false);
232
232
  const year = date.getUTCFullYear();
233
233
  const month = date.getUTCMonth(); // 0-indexed
234
234
  const day = date.getUTCDate();