@cj-tech-master/excelts 3.0.1 → 3.1.0-canary.20260102041828.82ed571

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 (1224) hide show
  1. package/LICENSE +2 -1
  2. package/README.md +100 -22
  3. package/README_zh.md +100 -22
  4. package/THIRD_PARTY_NOTICES.md +112 -0
  5. package/dist/LICENSE +2 -1
  6. package/dist/browser/excelts.esm.js +18802 -12770
  7. package/dist/browser/excelts.esm.js.map +1 -1
  8. package/dist/browser/excelts.esm.min.js +39 -25
  9. package/dist/browser/excelts.iife.js +18791 -12754
  10. package/dist/browser/excelts.iife.js.map +1 -1
  11. package/dist/browser/excelts.iife.min.js +39 -25
  12. package/dist/cjs/index.js +19 -21
  13. package/dist/cjs/modules/archive/byte-queue.js +129 -0
  14. package/dist/cjs/modules/archive/compress.base.js +186 -0
  15. package/dist/cjs/modules/archive/compress.browser.js +98 -0
  16. package/dist/cjs/modules/archive/compress.js +127 -0
  17. package/dist/cjs/modules/archive/crc32.base.js +56 -0
  18. package/dist/cjs/modules/archive/crc32.browser.js +39 -0
  19. package/dist/cjs/modules/archive/crc32.js +128 -0
  20. package/dist/cjs/modules/archive/defaults.js +6 -0
  21. package/dist/cjs/modules/archive/deflate-fallback.js +569 -0
  22. package/dist/cjs/modules/archive/extract.js +114 -0
  23. package/dist/cjs/modules/archive/index.base.js +28 -0
  24. package/dist/cjs/modules/archive/index.browser.js +47 -0
  25. package/dist/cjs/modules/archive/index.js +45 -0
  26. package/dist/cjs/modules/archive/parse.base.js +632 -0
  27. package/dist/cjs/modules/archive/parse.browser.js +570 -0
  28. package/dist/cjs/modules/archive/parse.js +103 -0
  29. package/dist/cjs/modules/archive/streaming-compress.base.js +12 -0
  30. package/dist/cjs/modules/archive/streaming-compress.browser.js +301 -0
  31. package/dist/cjs/modules/archive/streaming-compress.js +73 -0
  32. package/dist/cjs/modules/archive/streaming-zip.js +411 -0
  33. package/dist/cjs/modules/archive/utils/binary.js +75 -0
  34. package/dist/cjs/modules/archive/utils/bytes.js +106 -0
  35. package/dist/cjs/modules/archive/utils/parse-buffer.js +59 -0
  36. package/dist/cjs/modules/archive/utils/text.js +39 -0
  37. package/dist/cjs/modules/archive/utils/timestamps.js +56 -0
  38. package/dist/cjs/modules/archive/utils/zip-extra-fields.js +75 -0
  39. package/dist/cjs/modules/archive/utils/zip-extra.js +74 -0
  40. package/dist/cjs/modules/archive/zip-builder.js +297 -0
  41. package/dist/cjs/modules/archive/zip-constants.js +26 -0
  42. package/dist/cjs/modules/archive/zip-entry-info.js +7 -0
  43. package/dist/cjs/modules/archive/zip-entry-metadata.js +29 -0
  44. package/dist/cjs/modules/archive/zip-parser.js +336 -0
  45. package/dist/cjs/modules/archive/zip-records.js +90 -0
  46. package/dist/cjs/modules/csv/csv-core.js +730 -0
  47. package/dist/cjs/modules/csv/csv-number.js +24 -0
  48. package/dist/cjs/modules/csv/csv-stream.js +711 -0
  49. package/dist/cjs/modules/csv/csv.browser.js +276 -0
  50. package/dist/cjs/modules/csv/csv.js +37 -0
  51. package/dist/cjs/modules/excel/anchor.js +100 -0
  52. package/dist/cjs/modules/excel/cell.js +949 -0
  53. package/dist/cjs/modules/excel/column.js +361 -0
  54. package/dist/cjs/modules/excel/data-validations.js +46 -0
  55. package/dist/cjs/modules/excel/defined-names.js +217 -0
  56. package/dist/cjs/modules/excel/image.js +63 -0
  57. package/dist/cjs/modules/excel/note.js +64 -0
  58. package/dist/cjs/modules/excel/pivot-table.js +239 -0
  59. package/dist/cjs/modules/excel/range.js +283 -0
  60. package/dist/cjs/modules/excel/row.js +444 -0
  61. package/dist/cjs/modules/excel/stream/hyperlink-reader.js +87 -0
  62. package/dist/cjs/modules/excel/stream/sheet-comments-writer.js +104 -0
  63. package/dist/cjs/modules/excel/stream/sheet-rels-writer.js +94 -0
  64. package/dist/cjs/modules/excel/stream/workbook-reader.browser.js +447 -0
  65. package/dist/cjs/modules/excel/stream/workbook-reader.js +57 -0
  66. package/dist/cjs/modules/excel/stream/workbook-writer.browser.js +360 -0
  67. package/dist/cjs/modules/excel/stream/workbook-writer.js +58 -0
  68. package/dist/cjs/modules/excel/stream/worksheet-reader.js +370 -0
  69. package/dist/cjs/modules/excel/stream/worksheet-writer.js +616 -0
  70. package/dist/cjs/modules/excel/table.js +408 -0
  71. package/dist/cjs/modules/excel/utils/cell-format.js +819 -0
  72. package/dist/cjs/modules/excel/utils/cell-matrix.js +183 -0
  73. package/dist/cjs/modules/excel/utils/encryptor.browser.js +49 -0
  74. package/dist/cjs/modules/excel/utils/encryptor.js +41 -0
  75. package/dist/cjs/modules/excel/utils/ooxml-paths.js +260 -0
  76. package/dist/cjs/modules/excel/utils/parse-sax.js +1210 -0
  77. package/dist/cjs/modules/excel/utils/shared-formula.js +38 -0
  78. package/dist/cjs/modules/excel/utils/sheet-utils.js +693 -0
  79. package/dist/cjs/modules/excel/utils/stream-buf.js +456 -0
  80. package/dist/cjs/modules/excel/utils/string-buf.js +78 -0
  81. package/dist/cjs/modules/excel/utils/under-dash.js +175 -0
  82. package/dist/cjs/modules/excel/utils/xml-stream.js +182 -0
  83. package/dist/cjs/modules/excel/workbook.js +317 -0
  84. package/dist/cjs/modules/excel/worksheet.js +927 -0
  85. package/dist/cjs/modules/excel/xlsx/xform/base-xform.js +138 -0
  86. package/dist/cjs/modules/excel/xlsx/xform/book/defined-name-xform.js +127 -0
  87. package/dist/cjs/modules/excel/xlsx/xform/book/sheet-xform.js +33 -0
  88. package/dist/cjs/modules/excel/xlsx/xform/book/workbook-calc-properties-xform.js +24 -0
  89. package/dist/cjs/modules/excel/xlsx/xform/book/workbook-pivot-cache-xform.js +27 -0
  90. package/dist/cjs/modules/excel/xlsx/xform/book/workbook-properties-xform.js +27 -0
  91. package/dist/cjs/modules/excel/xlsx/xform/book/workbook-view-xform.js +49 -0
  92. package/dist/cjs/modules/excel/xlsx/xform/book/workbook-xform.js +237 -0
  93. package/dist/cjs/modules/excel/xlsx/xform/comment/comment-xform.js +79 -0
  94. package/dist/cjs/modules/excel/xlsx/xform/comment/comments-xform.js +75 -0
  95. package/dist/cjs/modules/excel/xlsx/xform/comment/style/vml-position-xform.js +37 -0
  96. package/dist/cjs/modules/excel/xlsx/xform/comment/style/vml-protection-xform.js +33 -0
  97. package/dist/cjs/modules/excel/xlsx/xform/comment/vml-anchor-xform.js +58 -0
  98. package/dist/cjs/modules/excel/xlsx/xform/comment/vml-client-data-xform.js +85 -0
  99. package/dist/cjs/modules/excel/xlsx/xform/comment/vml-notes-xform.js +99 -0
  100. package/dist/cjs/modules/excel/xlsx/xform/comment/vml-shape-xform.js +86 -0
  101. package/dist/cjs/modules/excel/xlsx/xform/comment/vml-textbox-xform.js +63 -0
  102. package/dist/cjs/modules/excel/xlsx/xform/composite-xform.js +51 -0
  103. package/dist/cjs/modules/excel/xlsx/xform/core/app-heading-pairs-xform.js +27 -0
  104. package/dist/cjs/modules/excel/xlsx/xform/core/app-titles-of-parts-xform.js +24 -0
  105. package/dist/cjs/modules/excel/xlsx/xform/core/app-xform.js +86 -0
  106. package/dist/cjs/modules/excel/xlsx/xform/core/content-types-xform.js +125 -0
  107. package/dist/cjs/modules/excel/xlsx/xform/core/core-xform.js +127 -0
  108. package/dist/cjs/modules/excel/xlsx/xform/core/relationship-xform.js +23 -0
  109. package/dist/cjs/modules/excel/xlsx/xform/core/relationships-xform.js +65 -0
  110. package/dist/cjs/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.js +47 -0
  111. package/dist/cjs/modules/excel/xlsx/xform/drawing/blip-fill-xform.js +60 -0
  112. package/dist/cjs/modules/excel/xlsx/xform/drawing/blip-xform.js +43 -0
  113. package/dist/cjs/modules/excel/xlsx/xform/drawing/c-nv-pic-pr-xform.js +35 -0
  114. package/dist/cjs/modules/excel/xlsx/xform/drawing/c-nv-pr-xform.js +62 -0
  115. package/dist/cjs/modules/excel/xlsx/xform/drawing/cell-position-xform.js +71 -0
  116. package/dist/cjs/modules/excel/xlsx/xform/drawing/drawing-xform.js +99 -0
  117. package/dist/cjs/modules/excel/xlsx/xform/drawing/ext-lst-xform.js +40 -0
  118. package/dist/cjs/modules/excel/xlsx/xform/drawing/ext-xform.js +37 -0
  119. package/dist/cjs/modules/excel/xlsx/xform/drawing/hlink-click-xform.js +42 -0
  120. package/dist/cjs/modules/excel/xlsx/xform/drawing/nv-pic-pr-xform.js +59 -0
  121. package/dist/cjs/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.js +55 -0
  122. package/dist/cjs/modules/excel/xlsx/xform/drawing/pic-xform.js +67 -0
  123. package/dist/cjs/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.js +54 -0
  124. package/dist/cjs/modules/excel/xlsx/xform/list-xform.js +92 -0
  125. package/dist/cjs/modules/excel/xlsx/xform/pivot-table/cache-field-xform.js +131 -0
  126. package/dist/cjs/modules/excel/xlsx/xform/pivot-table/cache-field.js +81 -0
  127. package/dist/cjs/modules/excel/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +182 -0
  128. package/dist/cjs/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.js +237 -0
  129. package/dist/cjs/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.js +627 -0
  130. package/dist/cjs/modules/excel/xlsx/xform/sheet/auto-filter-xform.js +37 -0
  131. package/dist/cjs/modules/excel/xlsx/xform/sheet/cell-xform.js +463 -0
  132. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf/cf-rule-xform.js +262 -0
  133. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf/cfvo-xform.js +25 -0
  134. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf/color-scale-xform.js +38 -0
  135. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf/conditional-formatting-xform.js +40 -0
  136. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf/conditional-formattings-xform.js +77 -0
  137. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf/databar-xform.js +42 -0
  138. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf/ext-lst-ref-xform.js +70 -0
  139. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf/formula-xform.js +22 -0
  140. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf/icon-set-xform.js +40 -0
  141. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js +25 -0
  142. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +83 -0
  143. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js +38 -0
  144. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js +51 -0
  145. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js +43 -0
  146. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf-ext/databar-ext-xform.js +72 -0
  147. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf-ext/f-ext-xform.js +22 -0
  148. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js +63 -0
  149. package/dist/cjs/modules/excel/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js +22 -0
  150. package/dist/cjs/modules/excel/xlsx/xform/sheet/col-breaks-xform.js +38 -0
  151. package/dist/cjs/modules/excel/xlsx/xform/sheet/col-xform.js +78 -0
  152. package/dist/cjs/modules/excel/xlsx/xform/sheet/data-validations-xform.js +272 -0
  153. package/dist/cjs/modules/excel/xlsx/xform/sheet/dimension-xform.js +26 -0
  154. package/dist/cjs/modules/excel/xlsx/xform/sheet/drawing-xform.js +30 -0
  155. package/dist/cjs/modules/excel/xlsx/xform/sheet/ext-lst-xform.js +69 -0
  156. package/dist/cjs/modules/excel/xlsx/xform/sheet/header-footer-xform.js +127 -0
  157. package/dist/cjs/modules/excel/xlsx/xform/sheet/hyperlink-xform.js +50 -0
  158. package/dist/cjs/modules/excel/xlsx/xform/sheet/merge-cell-xform.js +24 -0
  159. package/dist/cjs/modules/excel/xlsx/xform/sheet/merges.js +53 -0
  160. package/dist/cjs/modules/excel/xlsx/xform/sheet/outline-properties-xform.js +39 -0
  161. package/dist/cjs/modules/excel/xlsx/xform/sheet/page-breaks-xform.js +36 -0
  162. package/dist/cjs/modules/excel/xlsx/xform/sheet/page-margins-xform.js +45 -0
  163. package/dist/cjs/modules/excel/xlsx/xform/sheet/page-setup-properties-xform.js +32 -0
  164. package/dist/cjs/modules/excel/xlsx/xform/sheet/page-setup-xform.js +99 -0
  165. package/dist/cjs/modules/excel/xlsx/xform/sheet/picture-xform.js +30 -0
  166. package/dist/cjs/modules/excel/xlsx/xform/sheet/print-options-xform.js +44 -0
  167. package/dist/cjs/modules/excel/xlsx/xform/sheet/row-breaks-xform.js +32 -0
  168. package/dist/cjs/modules/excel/xlsx/xform/sheet/row-xform.js +155 -0
  169. package/dist/cjs/modules/excel/xlsx/xform/sheet/sheet-format-properties-xform.js +52 -0
  170. package/dist/cjs/modules/excel/xlsx/xform/sheet/sheet-properties-xform.js +85 -0
  171. package/dist/cjs/modules/excel/xlsx/xform/sheet/sheet-protection-xform.js +83 -0
  172. package/dist/cjs/modules/excel/xlsx/xform/sheet/sheet-view-xform.js +196 -0
  173. package/dist/cjs/modules/excel/xlsx/xform/sheet/table-part-xform.js +30 -0
  174. package/dist/cjs/modules/excel/xlsx/xform/sheet/worksheet-xform.js +521 -0
  175. package/dist/cjs/modules/excel/xlsx/xform/simple/boolean-xform.js +27 -0
  176. package/dist/cjs/modules/excel/xlsx/xform/simple/date-xform.js +68 -0
  177. package/dist/cjs/modules/excel/xlsx/xform/simple/float-xform.js +50 -0
  178. package/dist/cjs/modules/excel/xlsx/xform/simple/integer-xform.js +55 -0
  179. package/dist/cjs/modules/excel/xlsx/xform/simple/string-xform.js +50 -0
  180. package/dist/cjs/modules/excel/xlsx/xform/static-xform.js +58 -0
  181. package/dist/cjs/modules/excel/xlsx/xform/strings/phonetic-text-xform.js +89 -0
  182. package/dist/cjs/modules/excel/xlsx/xform/strings/rich-text-xform.js +80 -0
  183. package/dist/cjs/modules/excel/xlsx/xform/strings/shared-string-xform.js +93 -0
  184. package/dist/cjs/modules/excel/xlsx/xform/strings/shared-strings-xform.js +112 -0
  185. package/dist/cjs/modules/excel/xlsx/xform/strings/text-xform.js +39 -0
  186. package/dist/cjs/modules/excel/xlsx/xform/style/alignment-xform.js +155 -0
  187. package/dist/cjs/modules/excel/xlsx/xform/style/border-xform.js +191 -0
  188. package/dist/cjs/modules/excel/xlsx/xform/style/color-xform.js +64 -0
  189. package/dist/cjs/modules/excel/xlsx/xform/style/dxf-xform.js +95 -0
  190. package/dist/cjs/modules/excel/xlsx/xform/style/fill-xform.js +315 -0
  191. package/dist/cjs/modules/excel/xlsx/xform/style/font-xform.js +103 -0
  192. package/dist/cjs/modules/excel/xlsx/xform/style/numfmt-xform.js +53 -0
  193. package/dist/cjs/modules/excel/xlsx/xform/style/protection-xform.js +52 -0
  194. package/dist/cjs/modules/excel/xlsx/xform/style/style-xform.js +111 -0
  195. package/dist/cjs/modules/excel/xlsx/xform/style/styles-xform.js +487 -0
  196. package/dist/cjs/modules/excel/xlsx/xform/style/underline-xform.js +41 -0
  197. package/dist/cjs/modules/excel/xlsx/xform/table/auto-filter-xform.js +73 -0
  198. package/dist/cjs/modules/excel/xlsx/xform/table/custom-filter-xform.js +34 -0
  199. package/dist/cjs/modules/excel/xlsx/xform/table/filter-column-xform.js +90 -0
  200. package/dist/cjs/modules/excel/xlsx/xform/table/filter-xform.js +32 -0
  201. package/dist/cjs/modules/excel/xlsx/xform/table/table-column-xform.js +44 -0
  202. package/dist/cjs/modules/excel/xlsx/xform/table/table-style-info-xform.js +47 -0
  203. package/dist/cjs/modules/excel/xlsx/xform/table/table-xform.js +129 -0
  204. package/dist/cjs/modules/excel/xlsx/xlsx.browser.js +1155 -0
  205. package/dist/cjs/modules/excel/xlsx/xlsx.js +245 -0
  206. package/dist/cjs/modules/stream/base-transform.js +164 -0
  207. package/dist/cjs/modules/stream/buffered-stream.js +283 -0
  208. package/dist/cjs/modules/stream/chunked-builder.js +170 -0
  209. package/dist/cjs/modules/stream/event-emitter.js +243 -0
  210. package/dist/cjs/modules/stream/index.browser.js +97 -0
  211. package/dist/cjs/modules/stream/index.js +124 -0
  212. package/dist/cjs/modules/stream/pull-stream.js +208 -0
  213. package/dist/cjs/modules/stream/shared.js +168 -0
  214. package/dist/cjs/modules/stream/streams.browser.js +3318 -0
  215. package/dist/cjs/modules/stream/streams.js +988 -0
  216. package/dist/cjs/modules/stream/types.js +8 -0
  217. package/dist/cjs/modules/stream/utils.js +96 -0
  218. package/dist/cjs/utils/browser.js +55 -0
  219. package/dist/cjs/utils/env.js +22 -0
  220. package/dist/cjs/utils/utils.base.js +139 -2
  221. package/dist/cjs/utils/utils.browser.js +6 -59
  222. package/dist/cjs/utils/utils.js +13 -89
  223. package/dist/cjs/utils/uuid.js +58 -0
  224. package/dist/esm/index.browser.js +26 -17
  225. package/dist/esm/index.js +18 -19
  226. package/dist/esm/modules/archive/byte-queue.js +125 -0
  227. package/dist/esm/modules/archive/compress.base.js +173 -0
  228. package/dist/esm/modules/archive/compress.browser.js +93 -0
  229. package/dist/esm/modules/archive/compress.js +86 -0
  230. package/dist/esm/modules/archive/crc32.base.js +51 -0
  231. package/dist/esm/modules/archive/crc32.browser.js +32 -0
  232. package/dist/esm/modules/archive/crc32.js +97 -0
  233. package/dist/esm/modules/archive/defaults.js +3 -0
  234. package/dist/esm/modules/archive/deflate-fallback.js +564 -0
  235. package/dist/esm/modules/archive/extract.js +106 -0
  236. package/dist/esm/modules/archive/index.base.js +13 -0
  237. package/dist/esm/modules/archive/index.browser.js +17 -0
  238. package/dist/esm/modules/archive/index.js +15 -0
  239. package/dist/esm/modules/archive/parse.base.js +610 -0
  240. package/dist/esm/modules/archive/parse.browser.js +564 -0
  241. package/dist/esm/modules/archive/parse.js +94 -0
  242. package/dist/esm/modules/archive/streaming-compress.base.js +9 -0
  243. package/dist/esm/modules/archive/streaming-compress.browser.js +296 -0
  244. package/dist/esm/modules/archive/streaming-compress.js +68 -0
  245. package/dist/esm/modules/archive/streaming-zip.js +407 -0
  246. package/dist/esm/modules/archive/utils/binary.js +69 -0
  247. package/dist/esm/modules/archive/utils/bytes.js +101 -0
  248. package/dist/esm/modules/archive/utils/parse-buffer.js +55 -0
  249. package/dist/esm/modules/archive/utils/text.js +33 -0
  250. package/dist/esm/modules/archive/utils/timestamps.js +48 -0
  251. package/dist/esm/modules/archive/utils/zip-extra-fields.js +72 -0
  252. package/dist/esm/modules/archive/utils/zip-extra.js +68 -0
  253. package/dist/esm/modules/archive/zip-builder.js +292 -0
  254. package/dist/esm/modules/archive/zip-constants.js +23 -0
  255. package/dist/esm/modules/archive/zip-entry-info.js +6 -0
  256. package/dist/esm/modules/archive/zip-entry-metadata.js +24 -0
  257. package/dist/esm/modules/archive/zip-parser.js +332 -0
  258. package/dist/esm/modules/archive/zip-records.js +84 -0
  259. package/dist/esm/modules/csv/csv-core.js +723 -0
  260. package/dist/esm/modules/csv/csv-number.js +20 -0
  261. package/dist/esm/modules/csv/csv-stream.js +703 -0
  262. package/dist/esm/modules/csv/csv.browser.js +265 -0
  263. package/dist/esm/modules/csv/csv.js +29 -0
  264. package/dist/esm/modules/excel/anchor.js +97 -0
  265. package/dist/esm/modules/excel/cell.js +946 -0
  266. package/dist/esm/modules/excel/column.js +358 -0
  267. package/dist/esm/modules/excel/data-validations.js +43 -0
  268. package/dist/esm/modules/excel/defined-names.js +214 -0
  269. package/dist/esm/modules/excel/image.js +60 -0
  270. package/dist/esm/modules/excel/note.js +61 -0
  271. package/dist/esm/modules/excel/pivot-table.js +237 -0
  272. package/dist/esm/modules/excel/range.js +280 -0
  273. package/dist/esm/modules/excel/row.js +441 -0
  274. package/dist/esm/modules/excel/stream/hyperlink-reader.js +84 -0
  275. package/dist/esm/modules/excel/stream/sheet-comments-writer.js +101 -0
  276. package/dist/esm/modules/excel/stream/sheet-rels-writer.js +91 -0
  277. package/dist/esm/modules/excel/stream/workbook-reader.browser.js +443 -0
  278. package/dist/esm/modules/excel/stream/workbook-reader.js +50 -0
  279. package/dist/esm/modules/excel/stream/workbook-writer.browser.js +356 -0
  280. package/dist/esm/modules/excel/stream/workbook-writer.js +52 -0
  281. package/dist/esm/modules/excel/stream/worksheet-reader.js +367 -0
  282. package/dist/esm/modules/excel/stream/worksheet-writer.js +613 -0
  283. package/dist/esm/modules/excel/table.js +405 -0
  284. package/dist/esm/modules/excel/utils/cell-format.js +814 -0
  285. package/dist/esm/modules/excel/utils/cell-matrix.js +180 -0
  286. package/dist/esm/modules/excel/utils/encryptor.browser.js +46 -0
  287. package/dist/esm/modules/excel/utils/encryptor.js +35 -0
  288. package/dist/esm/modules/excel/utils/ooxml-paths.js +209 -0
  289. package/dist/esm/modules/excel/utils/parse-sax.js +1206 -0
  290. package/dist/esm/modules/excel/utils/shared-formula.js +36 -0
  291. package/dist/esm/modules/excel/utils/sheet-utils.js +674 -0
  292. package/dist/esm/modules/excel/utils/stream-buf.js +453 -0
  293. package/dist/esm/modules/excel/utils/string-buf.js +75 -0
  294. package/dist/esm/modules/excel/utils/under-dash.js +166 -0
  295. package/dist/esm/modules/excel/utils/xml-stream.js +179 -0
  296. package/dist/esm/modules/excel/workbook.js +314 -0
  297. package/dist/esm/modules/excel/worksheet.js +924 -0
  298. package/dist/esm/modules/excel/xlsx/xform/base-xform.js +135 -0
  299. package/dist/esm/modules/excel/xlsx/xform/book/defined-name-xform.js +124 -0
  300. package/dist/esm/modules/excel/xlsx/xform/book/sheet-xform.js +30 -0
  301. package/dist/esm/modules/excel/xlsx/xform/book/workbook-calc-properties-xform.js +21 -0
  302. package/dist/esm/modules/excel/xlsx/xform/book/workbook-pivot-cache-xform.js +24 -0
  303. package/dist/esm/modules/excel/xlsx/xform/book/workbook-properties-xform.js +24 -0
  304. package/dist/esm/modules/excel/xlsx/xform/book/workbook-view-xform.js +46 -0
  305. package/dist/esm/modules/excel/xlsx/xform/book/workbook-xform.js +234 -0
  306. package/dist/esm/modules/excel/xlsx/xform/comment/comment-xform.js +76 -0
  307. package/dist/esm/modules/excel/xlsx/xform/comment/comments-xform.js +72 -0
  308. package/dist/esm/modules/excel/xlsx/xform/comment/style/vml-position-xform.js +34 -0
  309. package/dist/esm/modules/excel/xlsx/xform/comment/style/vml-protection-xform.js +30 -0
  310. package/dist/esm/modules/excel/xlsx/xform/comment/vml-anchor-xform.js +55 -0
  311. package/dist/esm/modules/excel/xlsx/xform/comment/vml-client-data-xform.js +82 -0
  312. package/dist/esm/modules/excel/xlsx/xform/comment/vml-notes-xform.js +96 -0
  313. package/dist/esm/modules/excel/xlsx/xform/comment/vml-shape-xform.js +83 -0
  314. package/dist/esm/modules/excel/xlsx/xform/comment/vml-textbox-xform.js +60 -0
  315. package/dist/esm/modules/excel/xlsx/xform/composite-xform.js +48 -0
  316. package/dist/esm/modules/excel/xlsx/xform/core/app-heading-pairs-xform.js +24 -0
  317. package/dist/esm/modules/excel/xlsx/xform/core/app-titles-of-parts-xform.js +21 -0
  318. package/dist/esm/modules/excel/xlsx/xform/core/app-xform.js +83 -0
  319. package/dist/esm/modules/excel/xlsx/xform/core/content-types-xform.js +122 -0
  320. package/dist/esm/modules/excel/xlsx/xform/core/core-xform.js +124 -0
  321. package/dist/esm/modules/excel/xlsx/xform/core/relationship-xform.js +20 -0
  322. package/dist/esm/modules/excel/xlsx/xform/core/relationships-xform.js +62 -0
  323. package/dist/esm/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.js +44 -0
  324. package/dist/esm/modules/excel/xlsx/xform/drawing/blip-fill-xform.js +57 -0
  325. package/dist/esm/modules/excel/xlsx/xform/drawing/blip-xform.js +40 -0
  326. package/dist/esm/modules/excel/xlsx/xform/drawing/c-nv-pic-pr-xform.js +32 -0
  327. package/dist/esm/modules/excel/xlsx/xform/drawing/c-nv-pr-xform.js +59 -0
  328. package/dist/esm/modules/excel/xlsx/xform/drawing/cell-position-xform.js +68 -0
  329. package/dist/esm/modules/excel/xlsx/xform/drawing/drawing-xform.js +96 -0
  330. package/dist/esm/modules/excel/xlsx/xform/drawing/ext-lst-xform.js +37 -0
  331. package/dist/esm/modules/excel/xlsx/xform/drawing/ext-xform.js +34 -0
  332. package/dist/esm/modules/excel/xlsx/xform/drawing/hlink-click-xform.js +39 -0
  333. package/dist/esm/modules/excel/xlsx/xform/drawing/nv-pic-pr-xform.js +56 -0
  334. package/dist/esm/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.js +52 -0
  335. package/dist/esm/modules/excel/xlsx/xform/drawing/pic-xform.js +64 -0
  336. package/dist/esm/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.js +51 -0
  337. package/dist/esm/modules/excel/xlsx/xform/list-xform.js +89 -0
  338. package/dist/esm/modules/excel/xlsx/xform/pivot-table/cache-field-xform.js +128 -0
  339. package/dist/esm/modules/excel/xlsx/xform/pivot-table/cache-field.js +78 -0
  340. package/dist/esm/modules/excel/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +179 -0
  341. package/dist/esm/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.js +234 -0
  342. package/dist/esm/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.js +624 -0
  343. package/dist/esm/modules/excel/xlsx/xform/sheet/auto-filter-xform.js +34 -0
  344. package/dist/esm/modules/excel/xlsx/xform/sheet/cell-xform.js +460 -0
  345. package/dist/esm/modules/excel/xlsx/xform/sheet/cf/cf-rule-xform.js +259 -0
  346. package/dist/esm/modules/excel/xlsx/xform/sheet/cf/cfvo-xform.js +22 -0
  347. package/dist/esm/modules/excel/xlsx/xform/sheet/cf/color-scale-xform.js +35 -0
  348. package/dist/esm/modules/excel/xlsx/xform/sheet/cf/conditional-formatting-xform.js +37 -0
  349. package/dist/esm/modules/excel/xlsx/xform/sheet/cf/conditional-formattings-xform.js +74 -0
  350. package/dist/esm/modules/excel/xlsx/xform/sheet/cf/databar-xform.js +39 -0
  351. package/dist/esm/modules/excel/xlsx/xform/sheet/cf/ext-lst-ref-xform.js +67 -0
  352. package/dist/esm/modules/excel/xlsx/xform/sheet/cf/formula-xform.js +19 -0
  353. package/dist/esm/modules/excel/xlsx/xform/sheet/cf/icon-set-xform.js +37 -0
  354. package/dist/esm/modules/excel/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js +22 -0
  355. package/dist/esm/modules/excel/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +80 -0
  356. package/dist/esm/modules/excel/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js +35 -0
  357. package/dist/esm/modules/excel/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js +48 -0
  358. package/dist/esm/modules/excel/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js +40 -0
  359. package/dist/esm/modules/excel/xlsx/xform/sheet/cf-ext/databar-ext-xform.js +69 -0
  360. package/dist/esm/modules/excel/xlsx/xform/sheet/cf-ext/f-ext-xform.js +19 -0
  361. package/dist/esm/modules/excel/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js +60 -0
  362. package/dist/esm/modules/excel/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js +19 -0
  363. package/dist/esm/modules/excel/xlsx/xform/sheet/col-breaks-xform.js +35 -0
  364. package/dist/esm/modules/excel/xlsx/xform/sheet/col-xform.js +75 -0
  365. package/dist/esm/modules/excel/xlsx/xform/sheet/data-validations-xform.js +269 -0
  366. package/dist/esm/modules/excel/xlsx/xform/sheet/dimension-xform.js +23 -0
  367. package/dist/esm/modules/excel/xlsx/xform/sheet/drawing-xform.js +27 -0
  368. package/dist/esm/modules/excel/xlsx/xform/sheet/ext-lst-xform.js +66 -0
  369. package/dist/esm/modules/excel/xlsx/xform/sheet/header-footer-xform.js +124 -0
  370. package/dist/esm/modules/excel/xlsx/xform/sheet/hyperlink-xform.js +47 -0
  371. package/dist/esm/modules/excel/xlsx/xform/sheet/merge-cell-xform.js +21 -0
  372. package/dist/esm/modules/excel/xlsx/xform/sheet/merges.js +50 -0
  373. package/dist/esm/modules/excel/xlsx/xform/sheet/outline-properties-xform.js +36 -0
  374. package/dist/esm/modules/excel/xlsx/xform/sheet/page-breaks-xform.js +33 -0
  375. package/dist/esm/modules/excel/xlsx/xform/sheet/page-margins-xform.js +42 -0
  376. package/dist/esm/modules/excel/xlsx/xform/sheet/page-setup-properties-xform.js +29 -0
  377. package/dist/esm/modules/excel/xlsx/xform/sheet/page-setup-xform.js +96 -0
  378. package/dist/esm/modules/excel/xlsx/xform/sheet/picture-xform.js +27 -0
  379. package/dist/esm/modules/excel/xlsx/xform/sheet/print-options-xform.js +41 -0
  380. package/dist/esm/modules/excel/xlsx/xform/sheet/row-breaks-xform.js +29 -0
  381. package/dist/esm/modules/excel/xlsx/xform/sheet/row-xform.js +152 -0
  382. package/dist/esm/modules/excel/xlsx/xform/sheet/sheet-format-properties-xform.js +49 -0
  383. package/dist/esm/modules/excel/xlsx/xform/sheet/sheet-properties-xform.js +82 -0
  384. package/dist/esm/modules/excel/xlsx/xform/sheet/sheet-protection-xform.js +80 -0
  385. package/dist/esm/modules/excel/xlsx/xform/sheet/sheet-view-xform.js +193 -0
  386. package/dist/esm/modules/excel/xlsx/xform/sheet/table-part-xform.js +27 -0
  387. package/dist/esm/modules/excel/xlsx/xform/sheet/worksheet-xform.js +518 -0
  388. package/dist/esm/modules/excel/xlsx/xform/simple/boolean-xform.js +24 -0
  389. package/dist/esm/modules/excel/xlsx/xform/simple/date-xform.js +65 -0
  390. package/dist/esm/modules/excel/xlsx/xform/simple/float-xform.js +47 -0
  391. package/dist/esm/modules/excel/xlsx/xform/simple/integer-xform.js +52 -0
  392. package/dist/esm/modules/excel/xlsx/xform/simple/string-xform.js +47 -0
  393. package/dist/esm/modules/excel/xlsx/xform/static-xform.js +55 -0
  394. package/dist/esm/modules/excel/xlsx/xform/strings/phonetic-text-xform.js +86 -0
  395. package/dist/esm/modules/excel/xlsx/xform/strings/rich-text-xform.js +77 -0
  396. package/dist/esm/modules/excel/xlsx/xform/strings/shared-string-xform.js +90 -0
  397. package/dist/esm/modules/excel/xlsx/xform/strings/shared-strings-xform.js +109 -0
  398. package/dist/esm/modules/excel/xlsx/xform/strings/text-xform.js +36 -0
  399. package/dist/esm/modules/excel/xlsx/xform/style/alignment-xform.js +152 -0
  400. package/dist/esm/modules/excel/xlsx/xform/style/border-xform.js +188 -0
  401. package/dist/esm/modules/excel/xlsx/xform/style/color-xform.js +61 -0
  402. package/dist/esm/modules/excel/xlsx/xform/style/dxf-xform.js +92 -0
  403. package/dist/esm/modules/excel/xlsx/xform/style/fill-xform.js +312 -0
  404. package/dist/esm/modules/excel/xlsx/xform/style/font-xform.js +100 -0
  405. package/dist/esm/modules/excel/xlsx/xform/style/numfmt-xform.js +50 -0
  406. package/dist/esm/modules/excel/xlsx/xform/style/protection-xform.js +49 -0
  407. package/dist/esm/modules/excel/xlsx/xform/style/style-xform.js +108 -0
  408. package/dist/esm/modules/excel/xlsx/xform/style/styles-xform.js +484 -0
  409. package/dist/esm/modules/excel/xlsx/xform/style/underline-xform.js +38 -0
  410. package/dist/esm/modules/excel/xlsx/xform/table/auto-filter-xform.js +70 -0
  411. package/dist/esm/modules/excel/xlsx/xform/table/custom-filter-xform.js +31 -0
  412. package/dist/esm/modules/excel/xlsx/xform/table/filter-column-xform.js +87 -0
  413. package/dist/esm/modules/excel/xlsx/xform/table/filter-xform.js +29 -0
  414. package/dist/esm/modules/excel/xlsx/xform/table/table-column-xform.js +41 -0
  415. package/dist/esm/modules/excel/xlsx/xform/table/table-style-info-xform.js +44 -0
  416. package/dist/esm/modules/excel/xlsx/xform/table/table-xform.js +126 -0
  417. package/dist/esm/modules/excel/xlsx/xlsx.browser.js +1152 -0
  418. package/dist/esm/modules/excel/xlsx/xlsx.js +239 -0
  419. package/dist/esm/modules/stream/base-transform.js +160 -0
  420. package/dist/esm/modules/stream/buffered-stream.js +277 -0
  421. package/dist/esm/modules/stream/chunked-builder.js +165 -0
  422. package/dist/esm/modules/stream/event-emitter.js +239 -0
  423. package/dist/esm/modules/stream/index.browser.js +25 -0
  424. package/dist/esm/modules/stream/index.js +52 -0
  425. package/dist/esm/modules/stream/pull-stream.js +204 -0
  426. package/dist/esm/modules/stream/shared.js +156 -0
  427. package/dist/esm/modules/stream/streams.browser.js +3267 -0
  428. package/dist/esm/modules/stream/streams.js +940 -0
  429. package/dist/esm/modules/stream/types.js +7 -0
  430. package/dist/esm/modules/stream/utils.js +85 -0
  431. package/dist/esm/utils/browser.js +49 -0
  432. package/dist/esm/utils/env.js +18 -0
  433. package/dist/esm/utils/utils.base.js +135 -2
  434. package/dist/esm/utils/utils.browser.js +1 -57
  435. package/dist/esm/utils/utils.js +8 -87
  436. package/dist/esm/utils/uuid.js +55 -0
  437. package/dist/types/index.browser.d.ts +21 -15
  438. package/dist/types/index.d.ts +23 -24
  439. package/dist/types/modules/archive/byte-queue.d.ts +18 -0
  440. package/dist/types/modules/archive/compress.base.d.ts +98 -0
  441. package/dist/types/modules/archive/compress.browser.d.ts +57 -0
  442. package/dist/types/modules/archive/compress.d.ts +44 -0
  443. package/dist/types/modules/archive/crc32.base.d.ts +25 -0
  444. package/dist/types/modules/archive/crc32.browser.d.ts +30 -0
  445. package/dist/types/modules/archive/crc32.d.ts +59 -0
  446. package/dist/types/modules/archive/defaults.d.ts +4 -0
  447. package/dist/types/modules/archive/extract.d.ts +94 -0
  448. package/dist/types/modules/archive/index.base.d.ts +11 -0
  449. package/dist/types/modules/archive/index.browser.d.ts +11 -0
  450. package/dist/types/modules/archive/index.d.ts +11 -0
  451. package/dist/types/modules/archive/parse.base.d.ts +198 -0
  452. package/dist/types/modules/archive/parse.browser.d.ts +22 -0
  453. package/dist/types/modules/archive/parse.d.ts +16 -0
  454. package/dist/types/modules/archive/streaming-compress.base.d.ts +36 -0
  455. package/dist/types/modules/archive/streaming-compress.browser.d.ts +26 -0
  456. package/dist/types/modules/archive/streaming-compress.d.ts +22 -0
  457. package/dist/types/modules/archive/streaming-zip.d.ts +120 -0
  458. package/dist/types/modules/archive/utils/binary.d.ts +24 -0
  459. package/dist/types/modules/archive/utils/bytes.d.ts +7 -0
  460. package/dist/types/modules/archive/utils/parse-buffer.d.ts +18 -0
  461. package/dist/types/modules/archive/utils/text.d.ts +20 -0
  462. package/dist/types/modules/archive/utils/timestamps.d.ts +28 -0
  463. package/dist/types/modules/archive/utils/zip-extra-fields.d.ts +19 -0
  464. package/dist/types/modules/archive/utils/zip-extra.d.ts +18 -0
  465. package/dist/types/modules/archive/zip-builder.d.ts +117 -0
  466. package/dist/types/modules/archive/zip-constants.d.ts +18 -0
  467. package/dist/types/modules/archive/zip-entry-info.d.ts +29 -0
  468. package/dist/types/modules/archive/zip-entry-metadata.d.ts +23 -0
  469. package/dist/types/modules/archive/zip-parser.d.ts +62 -0
  470. package/dist/types/modules/archive/zip-records.d.ts +43 -0
  471. package/dist/types/modules/csv/csv-core.d.ts +215 -0
  472. package/dist/types/modules/csv/csv-number.d.ts +3 -0
  473. package/dist/types/modules/csv/csv-stream.d.ts +121 -0
  474. package/dist/types/modules/csv/csv.browser.d.ts +60 -0
  475. package/dist/types/modules/csv/csv.d.ts +14 -0
  476. package/dist/types/modules/excel/anchor.d.ts +33 -0
  477. package/dist/types/modules/excel/cell.d.ts +138 -0
  478. package/dist/types/modules/excel/column.d.ts +122 -0
  479. package/dist/types/modules/excel/defined-names.d.ts +37 -0
  480. package/dist/types/modules/excel/image.d.ts +64 -0
  481. package/dist/types/modules/excel/pivot-table.d.ts +152 -0
  482. package/dist/types/modules/excel/range.d.ts +62 -0
  483. package/dist/types/modules/excel/row.d.ts +127 -0
  484. package/dist/types/modules/excel/stream/hyperlink-reader.d.ts +33 -0
  485. package/dist/types/modules/excel/stream/workbook-reader.browser.d.ts +169 -0
  486. package/dist/types/modules/excel/stream/workbook-reader.d.ts +24 -0
  487. package/dist/types/modules/excel/stream/workbook-writer.browser.d.ts +147 -0
  488. package/dist/types/modules/excel/stream/workbook-writer.d.ts +31 -0
  489. package/dist/types/modules/excel/stream/worksheet-reader.d.ts +61 -0
  490. package/dist/types/modules/excel/stream/worksheet-writer.d.ts +140 -0
  491. package/dist/types/modules/excel/table.d.ts +81 -0
  492. package/dist/types/modules/excel/utils/col-cache.d.ts +36 -0
  493. package/dist/types/modules/excel/utils/encryptor.browser.d.ts +19 -0
  494. package/dist/types/modules/excel/utils/encryptor.d.ts +9 -0
  495. package/dist/types/modules/excel/utils/iterate-stream.d.ts +14 -0
  496. package/dist/types/modules/excel/utils/ooxml-paths.d.ts +64 -0
  497. package/dist/types/modules/excel/utils/sheet-utils.d.ts +190 -0
  498. package/dist/types/modules/excel/utils/stream-buf.d.ts +126 -0
  499. package/dist/types/modules/excel/utils/string-buf.d.ts +29 -0
  500. package/dist/types/modules/excel/workbook.d.ts +195 -0
  501. package/dist/types/modules/excel/worksheet.d.ts +333 -0
  502. package/dist/types/modules/excel/xlsx/xform/base-xform.d.ts +33 -0
  503. package/dist/types/modules/excel/xlsx/xform/book/defined-name-xform.d.ts +17 -0
  504. package/dist/types/modules/excel/xlsx/xform/book/sheet-xform.d.ts +14 -0
  505. package/dist/types/modules/excel/xlsx/xform/book/workbook-calc-properties-xform.d.ts +11 -0
  506. package/dist/types/modules/excel/xlsx/xform/book/workbook-pivot-cache-xform.d.ts +12 -0
  507. package/dist/types/modules/excel/xlsx/xform/book/workbook-properties-xform.d.ts +11 -0
  508. package/dist/types/modules/excel/xlsx/xform/book/workbook-view-xform.d.ts +17 -0
  509. package/dist/types/modules/excel/xlsx/xform/book/workbook-xform.d.ts +23 -0
  510. package/dist/types/modules/excel/xlsx/xform/comment/comment-xform.d.ts +28 -0
  511. package/dist/types/modules/excel/xlsx/xform/comment/comments-xform.d.ts +21 -0
  512. package/dist/types/modules/excel/xlsx/xform/comment/style/vml-position-xform.d.ts +16 -0
  513. package/dist/types/modules/excel/xlsx/xform/comment/style/vml-protection-xform.d.ts +14 -0
  514. package/dist/types/modules/excel/xlsx/xform/comment/vml-anchor-xform.d.ts +27 -0
  515. package/dist/types/modules/excel/xlsx/xform/comment/vml-client-data-xform.d.ts +35 -0
  516. package/dist/types/modules/excel/xlsx/xform/comment/vml-notes-xform.d.ts +24 -0
  517. package/dist/types/modules/excel/xlsx/xform/comment/vml-shape-xform.d.ts +25 -0
  518. package/dist/types/modules/excel/xlsx/xform/comment/vml-textbox-xform.d.ts +23 -0
  519. package/dist/types/modules/excel/xlsx/xform/composite-xform.d.ts +11 -0
  520. package/dist/types/modules/excel/xlsx/xform/core/app-heading-pairs-xform.d.ts +8 -0
  521. package/dist/types/modules/excel/xlsx/xform/core/app-titles-of-parts-xform.d.ts +8 -0
  522. package/dist/types/modules/excel/xlsx/xform/core/app-xform.d.ts +26 -0
  523. package/dist/types/modules/excel/xlsx/xform/core/content-types-xform.d.ts +11 -0
  524. package/dist/types/modules/excel/xlsx/xform/core/core-xform.d.ts +42 -0
  525. package/dist/types/modules/excel/xlsx/xform/core/relationship-xform.d.ts +14 -0
  526. package/dist/types/modules/excel/xlsx/xform/core/relationships-xform.d.ts +14 -0
  527. package/dist/types/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.d.ts +13 -0
  528. package/dist/types/modules/excel/xlsx/xform/drawing/blip-fill-xform.d.ts +16 -0
  529. package/dist/types/modules/excel/xlsx/xform/drawing/blip-xform.d.ts +14 -0
  530. package/dist/types/modules/excel/xlsx/xform/drawing/c-nv-pic-pr-xform.d.ts +9 -0
  531. package/dist/types/modules/excel/xlsx/xform/drawing/c-nv-pr-xform.d.ts +18 -0
  532. package/dist/types/modules/excel/xlsx/xform/drawing/cell-position-xform.d.ts +24 -0
  533. package/dist/types/modules/excel/xlsx/xform/drawing/drawing-xform.d.ts +24 -0
  534. package/dist/types/modules/excel/xlsx/xform/drawing/ext-lst-xform.d.ts +9 -0
  535. package/dist/types/modules/excel/xlsx/xform/drawing/ext-xform.d.ts +20 -0
  536. package/dist/types/modules/excel/xlsx/xform/drawing/hlink-click-xform.d.ts +11 -0
  537. package/dist/types/modules/excel/xlsx/xform/drawing/nv-pic-pr-xform.d.ts +15 -0
  538. package/dist/types/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.d.ts +20 -0
  539. package/dist/types/modules/excel/xlsx/xform/drawing/pic-xform.d.ts +22 -0
  540. package/dist/types/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.d.ts +20 -0
  541. package/dist/types/modules/excel/xlsx/xform/list-xform.d.ts +32 -0
  542. package/dist/types/modules/excel/xlsx/xform/pivot-table/cache-field-xform.d.ts +42 -0
  543. package/dist/types/modules/excel/xlsx/xform/pivot-table/pivot-cache-definition-xform.d.ts +60 -0
  544. package/dist/types/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.d.ts +73 -0
  545. package/dist/types/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.d.ts +119 -0
  546. package/dist/types/modules/excel/xlsx/xform/sheet/auto-filter-xform.d.ts +8 -0
  547. package/dist/types/modules/excel/xlsx/xform/sheet/cell-xform.d.ts +17 -0
  548. package/dist/types/modules/excel/xlsx/xform/sheet/cf/cf-rule-xform.d.ts +41 -0
  549. package/dist/types/modules/excel/xlsx/xform/sheet/cf/cfvo-xform.d.ts +8 -0
  550. package/dist/types/modules/excel/xlsx/xform/sheet/cf/color-scale-xform.d.ts +13 -0
  551. package/dist/types/modules/excel/xlsx/xform/sheet/cf/conditional-formatting-xform.d.ts +9 -0
  552. package/dist/types/modules/excel/xlsx/xform/sheet/cf/conditional-formattings-xform.d.ts +16 -0
  553. package/dist/types/modules/excel/xlsx/xform/sheet/cf/databar-xform.d.ts +13 -0
  554. package/dist/types/modules/excel/xlsx/xform/sheet/cf/ext-lst-ref-xform.d.ts +9 -0
  555. package/dist/types/modules/excel/xlsx/xform/sheet/cf/formula-xform.d.ts +9 -0
  556. package/dist/types/modules/excel/xlsx/xform/sheet/cf/icon-set-xform.d.ts +11 -0
  557. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.d.ts +10 -0
  558. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.d.ts +23 -0
  559. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.d.ts +13 -0
  560. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.d.ts +16 -0
  561. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.d.ts +13 -0
  562. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/databar-ext-xform.d.ts +29 -0
  563. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/f-ext-xform.d.ts +9 -0
  564. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.d.ts +20 -0
  565. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/sqref-ext-xform.d.ts +9 -0
  566. package/dist/types/modules/excel/xlsx/xform/sheet/col-breaks-xform.d.ts +16 -0
  567. package/dist/types/modules/excel/xlsx/xform/sheet/col-xform.d.ts +22 -0
  568. package/dist/types/modules/excel/xlsx/xform/sheet/data-validations-xform.d.ts +12 -0
  569. package/dist/types/modules/excel/xlsx/xform/sheet/dimension-xform.d.ts +10 -0
  570. package/dist/types/modules/excel/xlsx/xform/sheet/drawing-xform.d.ts +12 -0
  571. package/dist/types/modules/excel/xlsx/xform/sheet/ext-lst-xform.d.ts +16 -0
  572. package/dist/types/modules/excel/xlsx/xform/sheet/header-footer-xform.d.ts +20 -0
  573. package/dist/types/modules/excel/xlsx/xform/sheet/hyperlink-xform.d.ts +16 -0
  574. package/dist/types/modules/excel/xlsx/xform/sheet/merge-cell-xform.d.ts +9 -0
  575. package/dist/types/modules/excel/xlsx/xform/sheet/outline-properties-xform.d.ts +13 -0
  576. package/dist/types/modules/excel/xlsx/xform/sheet/page-breaks-xform.d.ts +14 -0
  577. package/dist/types/modules/excel/xlsx/xform/sheet/page-margins-xform.d.ts +17 -0
  578. package/dist/types/modules/excel/xlsx/xform/sheet/page-setup-properties-xform.d.ts +12 -0
  579. package/dist/types/modules/excel/xlsx/xform/sheet/page-setup-xform.d.ts +27 -0
  580. package/dist/types/modules/excel/xlsx/xform/sheet/picture-xform.d.ts +12 -0
  581. package/dist/types/modules/excel/xlsx/xform/sheet/print-options-xform.d.ts +15 -0
  582. package/dist/types/modules/excel/xlsx/xform/sheet/row-breaks-xform.d.ts +10 -0
  583. package/dist/types/modules/excel/xlsx/xform/sheet/row-xform.d.ts +37 -0
  584. package/dist/types/modules/excel/xlsx/xform/sheet/sheet-format-properties-xform.d.ts +16 -0
  585. package/dist/types/modules/excel/xlsx/xform/sheet/sheet-properties-xform.d.ts +19 -0
  586. package/dist/types/modules/excel/xlsx/xform/sheet/sheet-protection-xform.d.ts +31 -0
  587. package/dist/types/modules/excel/xlsx/xform/sheet/sheet-view-xform.d.ts +32 -0
  588. package/dist/types/modules/excel/xlsx/xform/sheet/table-part-xform.d.ts +12 -0
  589. package/dist/types/modules/excel/xlsx/xform/sheet/worksheet-xform.d.ts +21 -0
  590. package/dist/types/modules/excel/xlsx/xform/simple/boolean-xform.d.ts +15 -0
  591. package/dist/types/modules/excel/xlsx/xform/simple/date-xform.d.ts +22 -0
  592. package/dist/types/modules/excel/xlsx/xform/simple/float-xform.d.ts +18 -0
  593. package/dist/types/modules/excel/xlsx/xform/simple/integer-xform.d.ts +20 -0
  594. package/dist/types/modules/excel/xlsx/xform/simple/string-xform.d.ts +18 -0
  595. package/dist/types/modules/excel/xlsx/xform/static-xform.d.ts +17 -0
  596. package/dist/types/modules/excel/xlsx/xform/strings/phonetic-text-xform.d.ts +20 -0
  597. package/dist/types/modules/excel/xlsx/xform/strings/rich-text-xform.d.ts +25 -0
  598. package/dist/types/modules/excel/xlsx/xform/strings/shared-string-xform.d.ts +17 -0
  599. package/dist/types/modules/excel/xlsx/xform/strings/shared-strings-xform.d.ts +27 -0
  600. package/dist/types/modules/excel/xlsx/xform/strings/text-xform.d.ts +10 -0
  601. package/dist/types/modules/excel/xlsx/xform/style/alignment-xform.d.ts +18 -0
  602. package/dist/types/modules/excel/xlsx/xform/style/border-xform.d.ts +49 -0
  603. package/dist/types/modules/excel/xlsx/xform/style/color-xform.d.ts +17 -0
  604. package/dist/types/modules/excel/xlsx/xform/style/dxf-xform.d.ts +23 -0
  605. package/dist/types/modules/excel/xlsx/xform/style/fill-xform.d.ts +85 -0
  606. package/dist/types/modules/excel/xlsx/xform/style/font-xform.d.ts +35 -0
  607. package/dist/types/modules/excel/xlsx/xform/style/numfmt-xform.d.ts +18 -0
  608. package/dist/types/modules/excel/xlsx/xform/style/protection-xform.d.ts +13 -0
  609. package/dist/types/modules/excel/xlsx/xform/style/style-xform.d.ts +30 -0
  610. package/dist/types/modules/excel/xlsx/xform/style/styles-xform.d.ts +46 -0
  611. package/dist/types/modules/excel/xlsx/xform/style/underline-xform.d.ts +14 -0
  612. package/dist/types/modules/excel/xlsx/xform/table/auto-filter-xform.d.ts +21 -0
  613. package/dist/types/modules/excel/xlsx/xform/table/custom-filter-xform.d.ts +15 -0
  614. package/dist/types/modules/excel/xlsx/xform/table/filter-column-xform.d.ts +24 -0
  615. package/dist/types/modules/excel/xlsx/xform/table/filter-xform.d.ts +14 -0
  616. package/dist/types/modules/excel/xlsx/xform/table/table-column-xform.d.ts +21 -0
  617. package/dist/types/modules/excel/xlsx/xform/table/table-style-info-xform.d.ts +18 -0
  618. package/dist/types/modules/excel/xlsx/xform/table/table-xform.d.ts +33 -0
  619. package/dist/types/modules/excel/xlsx/xlsx.browser.d.ts +208 -0
  620. package/dist/types/modules/excel/xlsx/xlsx.d.ts +24 -0
  621. package/dist/types/modules/stream/base-transform.d.ts +68 -0
  622. package/dist/types/modules/stream/buffered-stream.d.ts +94 -0
  623. package/dist/types/modules/stream/chunked-builder.d.ts +97 -0
  624. package/dist/types/modules/stream/event-emitter.d.ts +30 -0
  625. package/dist/types/modules/stream/index.browser.d.ts +22 -0
  626. package/dist/types/modules/stream/index.d.ts +49 -0
  627. package/dist/types/modules/stream/pull-stream.d.ts +67 -0
  628. package/dist/types/modules/stream/shared.d.ts +54 -0
  629. package/dist/types/modules/stream/streams.browser.d.ts +936 -0
  630. package/dist/types/modules/stream/streams.d.ts +282 -0
  631. package/dist/types/modules/stream/types.d.ts +238 -0
  632. package/dist/types/modules/stream/utils.d.ts +24 -0
  633. package/dist/types/utils/browser.d.ts +9 -0
  634. package/dist/types/utils/env.d.ts +14 -0
  635. package/dist/types/utils/utils.base.d.ts +21 -1
  636. package/dist/types/utils/utils.browser.d.ts +1 -24
  637. package/dist/types/utils/utils.d.ts +1 -24
  638. package/dist/types/utils/uuid.d.ts +11 -0
  639. package/package.json +16 -22
  640. package/dist/cjs/csv/csv-core.js +0 -701
  641. package/dist/cjs/csv/csv-stream.js +0 -646
  642. package/dist/cjs/csv/csv.base.js +0 -137
  643. package/dist/cjs/csv/csv.browser.js +0 -68
  644. package/dist/cjs/csv/csv.js +0 -249
  645. package/dist/cjs/doc/anchor.js +0 -100
  646. package/dist/cjs/doc/cell.js +0 -949
  647. package/dist/cjs/doc/column.js +0 -354
  648. package/dist/cjs/doc/data-validations.js +0 -46
  649. package/dist/cjs/doc/defined-names.js +0 -217
  650. package/dist/cjs/doc/image.js +0 -63
  651. package/dist/cjs/doc/modelcontainer.js +0 -16
  652. package/dist/cjs/doc/note.js +0 -64
  653. package/dist/cjs/doc/pivot-table.js +0 -239
  654. package/dist/cjs/doc/range.js +0 -283
  655. package/dist/cjs/doc/row.js +0 -421
  656. package/dist/cjs/doc/table.js +0 -408
  657. package/dist/cjs/doc/workbook.base.js +0 -211
  658. package/dist/cjs/doc/workbook.browser.js +0 -62
  659. package/dist/cjs/doc/workbook.js +0 -96
  660. package/dist/cjs/doc/worksheet.js +0 -931
  661. package/dist/cjs/local.js +0 -1
  662. package/dist/cjs/stream/xlsx/hyperlink-reader.js +0 -82
  663. package/dist/cjs/stream/xlsx/sheet-comments-writer.js +0 -103
  664. package/dist/cjs/stream/xlsx/sheet-rels-writer.js +0 -93
  665. package/dist/cjs/stream/xlsx/workbook-reader.js +0 -359
  666. package/dist/cjs/stream/xlsx/workbook-writer.js +0 -387
  667. package/dist/cjs/stream/xlsx/worksheet-reader.js +0 -351
  668. package/dist/cjs/stream/xlsx/worksheet-writer.js +0 -605
  669. package/dist/cjs/utils/browser-buffer.js +0 -75
  670. package/dist/cjs/utils/cell-format.js +0 -819
  671. package/dist/cjs/utils/cell-matrix.js +0 -183
  672. package/dist/cjs/utils/encryptor.browser.js +0 -240
  673. package/dist/cjs/utils/encryptor.js +0 -55
  674. package/dist/cjs/utils/parse-sax.js +0 -1209
  675. package/dist/cjs/utils/shared-formula.js +0 -38
  676. package/dist/cjs/utils/sheet-utils.js +0 -727
  677. package/dist/cjs/utils/stream-buf.browser.js +0 -355
  678. package/dist/cjs/utils/stream-buf.js +0 -347
  679. package/dist/cjs/utils/string-buf.js +0 -68
  680. package/dist/cjs/utils/under-dash.js +0 -180
  681. package/dist/cjs/utils/unzip/buffer-stream.js +0 -27
  682. package/dist/cjs/utils/unzip/extract.js +0 -114
  683. package/dist/cjs/utils/unzip/index.js +0 -45
  684. package/dist/cjs/utils/unzip/noop-stream.js +0 -20
  685. package/dist/cjs/utils/unzip/parse-buffer.js +0 -60
  686. package/dist/cjs/utils/unzip/parse-datetime.js +0 -23
  687. package/dist/cjs/utils/unzip/parse-extra-field.js +0 -52
  688. package/dist/cjs/utils/unzip/parse.js +0 -340
  689. package/dist/cjs/utils/unzip/pull-stream.js +0 -145
  690. package/dist/cjs/utils/unzip/zip-parser.js +0 -466
  691. package/dist/cjs/utils/xml-stream.js +0 -171
  692. package/dist/cjs/utils/zip/compress.base.js +0 -88
  693. package/dist/cjs/utils/zip/compress.browser.js +0 -127
  694. package/dist/cjs/utils/zip/compress.js +0 -81
  695. package/dist/cjs/utils/zip/crc32.browser.js +0 -88
  696. package/dist/cjs/utils/zip/crc32.js +0 -154
  697. package/dist/cjs/utils/zip/deflate-fallback.js +0 -575
  698. package/dist/cjs/utils/zip/index.js +0 -70
  699. package/dist/cjs/utils/zip/streaming-zip.js +0 -264
  700. package/dist/cjs/utils/zip/zip-builder.js +0 -378
  701. package/dist/cjs/utils/zip-stream.browser.js +0 -135
  702. package/dist/cjs/utils/zip-stream.js +0 -114
  703. package/dist/cjs/xlsx/xform/base-xform.js +0 -126
  704. package/dist/cjs/xlsx/xform/book/defined-name-xform.js +0 -127
  705. package/dist/cjs/xlsx/xform/book/sheet-xform.js +0 -33
  706. package/dist/cjs/xlsx/xform/book/workbook-calc-properties-xform.js +0 -24
  707. package/dist/cjs/xlsx/xform/book/workbook-pivot-cache-xform.js +0 -27
  708. package/dist/cjs/xlsx/xform/book/workbook-properties-xform.js +0 -27
  709. package/dist/cjs/xlsx/xform/book/workbook-view-xform.js +0 -49
  710. package/dist/cjs/xlsx/xform/book/workbook-xform.js +0 -237
  711. package/dist/cjs/xlsx/xform/comment/comment-xform.js +0 -79
  712. package/dist/cjs/xlsx/xform/comment/comments-xform.js +0 -75
  713. package/dist/cjs/xlsx/xform/comment/style/vml-position-xform.js +0 -37
  714. package/dist/cjs/xlsx/xform/comment/style/vml-protection-xform.js +0 -33
  715. package/dist/cjs/xlsx/xform/comment/vml-anchor-xform.js +0 -58
  716. package/dist/cjs/xlsx/xform/comment/vml-client-data-xform.js +0 -85
  717. package/dist/cjs/xlsx/xform/comment/vml-notes-xform.js +0 -99
  718. package/dist/cjs/xlsx/xform/comment/vml-shape-xform.js +0 -86
  719. package/dist/cjs/xlsx/xform/comment/vml-textbox-xform.js +0 -63
  720. package/dist/cjs/xlsx/xform/composite-xform.js +0 -51
  721. package/dist/cjs/xlsx/xform/core/app-heading-pairs-xform.js +0 -27
  722. package/dist/cjs/xlsx/xform/core/app-titles-of-parts-xform.js +0 -24
  723. package/dist/cjs/xlsx/xform/core/app-xform.js +0 -86
  724. package/dist/cjs/xlsx/xform/core/content-types-xform.js +0 -131
  725. package/dist/cjs/xlsx/xform/core/core-xform.js +0 -127
  726. package/dist/cjs/xlsx/xform/core/relationship-xform.js +0 -23
  727. package/dist/cjs/xlsx/xform/core/relationships-xform.js +0 -65
  728. package/dist/cjs/xlsx/xform/drawing/base-cell-anchor-xform.js +0 -47
  729. package/dist/cjs/xlsx/xform/drawing/blip-fill-xform.js +0 -60
  730. package/dist/cjs/xlsx/xform/drawing/blip-xform.js +0 -43
  731. package/dist/cjs/xlsx/xform/drawing/c-nv-pic-pr-xform.js +0 -35
  732. package/dist/cjs/xlsx/xform/drawing/c-nv-pr-xform.js +0 -62
  733. package/dist/cjs/xlsx/xform/drawing/cell-position-xform.js +0 -71
  734. package/dist/cjs/xlsx/xform/drawing/drawing-xform.js +0 -99
  735. package/dist/cjs/xlsx/xform/drawing/ext-lst-xform.js +0 -40
  736. package/dist/cjs/xlsx/xform/drawing/ext-xform.js +0 -37
  737. package/dist/cjs/xlsx/xform/drawing/hlink-click-xform.js +0 -42
  738. package/dist/cjs/xlsx/xform/drawing/nv-pic-pr-xform.js +0 -59
  739. package/dist/cjs/xlsx/xform/drawing/one-cell-anchor-xform.js +0 -55
  740. package/dist/cjs/xlsx/xform/drawing/pic-xform.js +0 -67
  741. package/dist/cjs/xlsx/xform/drawing/two-cell-anchor-xform.js +0 -54
  742. package/dist/cjs/xlsx/xform/list-xform.js +0 -92
  743. package/dist/cjs/xlsx/xform/pivot-table/cache-field-xform.js +0 -131
  744. package/dist/cjs/xlsx/xform/pivot-table/cache-field.js +0 -81
  745. package/dist/cjs/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +0 -182
  746. package/dist/cjs/xlsx/xform/pivot-table/pivot-cache-records-xform.js +0 -237
  747. package/dist/cjs/xlsx/xform/pivot-table/pivot-table-xform.js +0 -627
  748. package/dist/cjs/xlsx/xform/sheet/auto-filter-xform.js +0 -37
  749. package/dist/cjs/xlsx/xform/sheet/cell-xform.js +0 -463
  750. package/dist/cjs/xlsx/xform/sheet/cf/cf-rule-xform.js +0 -262
  751. package/dist/cjs/xlsx/xform/sheet/cf/cfvo-xform.js +0 -25
  752. package/dist/cjs/xlsx/xform/sheet/cf/color-scale-xform.js +0 -38
  753. package/dist/cjs/xlsx/xform/sheet/cf/conditional-formatting-xform.js +0 -40
  754. package/dist/cjs/xlsx/xform/sheet/cf/conditional-formattings-xform.js +0 -77
  755. package/dist/cjs/xlsx/xform/sheet/cf/databar-xform.js +0 -42
  756. package/dist/cjs/xlsx/xform/sheet/cf/ext-lst-ref-xform.js +0 -70
  757. package/dist/cjs/xlsx/xform/sheet/cf/formula-xform.js +0 -22
  758. package/dist/cjs/xlsx/xform/sheet/cf/icon-set-xform.js +0 -40
  759. package/dist/cjs/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js +0 -25
  760. package/dist/cjs/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +0 -82
  761. package/dist/cjs/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js +0 -38
  762. package/dist/cjs/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js +0 -51
  763. package/dist/cjs/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js +0 -43
  764. package/dist/cjs/xlsx/xform/sheet/cf-ext/databar-ext-xform.js +0 -72
  765. package/dist/cjs/xlsx/xform/sheet/cf-ext/f-ext-xform.js +0 -22
  766. package/dist/cjs/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js +0 -63
  767. package/dist/cjs/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js +0 -22
  768. package/dist/cjs/xlsx/xform/sheet/col-breaks-xform.js +0 -38
  769. package/dist/cjs/xlsx/xform/sheet/col-xform.js +0 -78
  770. package/dist/cjs/xlsx/xform/sheet/data-validations-xform.js +0 -285
  771. package/dist/cjs/xlsx/xform/sheet/dimension-xform.js +0 -26
  772. package/dist/cjs/xlsx/xform/sheet/drawing-xform.js +0 -30
  773. package/dist/cjs/xlsx/xform/sheet/ext-lst-xform.js +0 -69
  774. package/dist/cjs/xlsx/xform/sheet/header-footer-xform.js +0 -127
  775. package/dist/cjs/xlsx/xform/sheet/hyperlink-xform.js +0 -50
  776. package/dist/cjs/xlsx/xform/sheet/merge-cell-xform.js +0 -24
  777. package/dist/cjs/xlsx/xform/sheet/merges.js +0 -53
  778. package/dist/cjs/xlsx/xform/sheet/outline-properties-xform.js +0 -39
  779. package/dist/cjs/xlsx/xform/sheet/page-breaks-xform.js +0 -36
  780. package/dist/cjs/xlsx/xform/sheet/page-margins-xform.js +0 -45
  781. package/dist/cjs/xlsx/xform/sheet/page-setup-properties-xform.js +0 -32
  782. package/dist/cjs/xlsx/xform/sheet/page-setup-xform.js +0 -99
  783. package/dist/cjs/xlsx/xform/sheet/picture-xform.js +0 -30
  784. package/dist/cjs/xlsx/xform/sheet/print-options-xform.js +0 -44
  785. package/dist/cjs/xlsx/xform/sheet/row-breaks-xform.js +0 -32
  786. package/dist/cjs/xlsx/xform/sheet/row-xform.js +0 -155
  787. package/dist/cjs/xlsx/xform/sheet/sheet-format-properties-xform.js +0 -52
  788. package/dist/cjs/xlsx/xform/sheet/sheet-properties-xform.js +0 -85
  789. package/dist/cjs/xlsx/xform/sheet/sheet-protection-xform.js +0 -83
  790. package/dist/cjs/xlsx/xform/sheet/sheet-view-xform.js +0 -196
  791. package/dist/cjs/xlsx/xform/sheet/table-part-xform.js +0 -30
  792. package/dist/cjs/xlsx/xform/sheet/worksheet-xform.js +0 -520
  793. package/dist/cjs/xlsx/xform/simple/boolean-xform.js +0 -27
  794. package/dist/cjs/xlsx/xform/simple/date-xform.js +0 -68
  795. package/dist/cjs/xlsx/xform/simple/float-xform.js +0 -50
  796. package/dist/cjs/xlsx/xform/simple/integer-xform.js +0 -55
  797. package/dist/cjs/xlsx/xform/simple/string-xform.js +0 -50
  798. package/dist/cjs/xlsx/xform/static-xform.js +0 -58
  799. package/dist/cjs/xlsx/xform/strings/phonetic-text-xform.js +0 -89
  800. package/dist/cjs/xlsx/xform/strings/rich-text-xform.js +0 -80
  801. package/dist/cjs/xlsx/xform/strings/shared-string-xform.js +0 -93
  802. package/dist/cjs/xlsx/xform/strings/shared-strings-xform.js +0 -112
  803. package/dist/cjs/xlsx/xform/strings/text-xform.js +0 -39
  804. package/dist/cjs/xlsx/xform/style/alignment-xform.js +0 -155
  805. package/dist/cjs/xlsx/xform/style/border-xform.js +0 -191
  806. package/dist/cjs/xlsx/xform/style/color-xform.js +0 -64
  807. package/dist/cjs/xlsx/xform/style/dxf-xform.js +0 -95
  808. package/dist/cjs/xlsx/xform/style/fill-xform.js +0 -315
  809. package/dist/cjs/xlsx/xform/style/font-xform.js +0 -103
  810. package/dist/cjs/xlsx/xform/style/numfmt-xform.js +0 -53
  811. package/dist/cjs/xlsx/xform/style/protection-xform.js +0 -52
  812. package/dist/cjs/xlsx/xform/style/style-xform.js +0 -111
  813. package/dist/cjs/xlsx/xform/style/styles-xform.js +0 -487
  814. package/dist/cjs/xlsx/xform/style/underline-xform.js +0 -41
  815. package/dist/cjs/xlsx/xform/table/auto-filter-xform.js +0 -73
  816. package/dist/cjs/xlsx/xform/table/custom-filter-xform.js +0 -34
  817. package/dist/cjs/xlsx/xform/table/filter-column-xform.js +0 -91
  818. package/dist/cjs/xlsx/xform/table/filter-xform.js +0 -32
  819. package/dist/cjs/xlsx/xform/table/table-column-xform.js +0 -44
  820. package/dist/cjs/xlsx/xform/table/table-style-info-xform.js +0 -47
  821. package/dist/cjs/xlsx/xform/table/table-xform.js +0 -129
  822. package/dist/cjs/xlsx/xlsx.base.js +0 -742
  823. package/dist/cjs/xlsx/xlsx.browser.js +0 -162
  824. package/dist/cjs/xlsx/xlsx.js +0 -220
  825. package/dist/esm/csv/csv-core.js +0 -694
  826. package/dist/esm/csv/csv-stream.js +0 -638
  827. package/dist/esm/csv/csv.base.js +0 -127
  828. package/dist/esm/csv/csv.browser.js +0 -65
  829. package/dist/esm/csv/csv.js +0 -209
  830. package/dist/esm/doc/anchor.js +0 -97
  831. package/dist/esm/doc/cell.js +0 -946
  832. package/dist/esm/doc/column.js +0 -351
  833. package/dist/esm/doc/data-validations.js +0 -43
  834. package/dist/esm/doc/defined-names.js +0 -214
  835. package/dist/esm/doc/image.js +0 -60
  836. package/dist/esm/doc/modelcontainer.js +0 -13
  837. package/dist/esm/doc/note.js +0 -61
  838. package/dist/esm/doc/pivot-table.js +0 -237
  839. package/dist/esm/doc/range.js +0 -280
  840. package/dist/esm/doc/row.js +0 -418
  841. package/dist/esm/doc/table.js +0 -405
  842. package/dist/esm/doc/workbook.base.js +0 -207
  843. package/dist/esm/doc/workbook.browser.js +0 -59
  844. package/dist/esm/doc/workbook.js +0 -93
  845. package/dist/esm/doc/worksheet.js +0 -928
  846. package/dist/esm/local.js +0 -1
  847. package/dist/esm/stream/xlsx/hyperlink-reader.js +0 -79
  848. package/dist/esm/stream/xlsx/sheet-comments-writer.js +0 -100
  849. package/dist/esm/stream/xlsx/sheet-rels-writer.js +0 -90
  850. package/dist/esm/stream/xlsx/workbook-reader.js +0 -352
  851. package/dist/esm/stream/xlsx/workbook-writer.js +0 -381
  852. package/dist/esm/stream/xlsx/worksheet-reader.js +0 -348
  853. package/dist/esm/stream/xlsx/worksheet-writer.js +0 -602
  854. package/dist/esm/utils/browser-buffer.js +0 -67
  855. package/dist/esm/utils/cell-format.js +0 -814
  856. package/dist/esm/utils/cell-matrix.js +0 -180
  857. package/dist/esm/utils/encryptor.browser.js +0 -237
  858. package/dist/esm/utils/encryptor.js +0 -49
  859. package/dist/esm/utils/parse-sax.js +0 -1205
  860. package/dist/esm/utils/shared-formula.js +0 -36
  861. package/dist/esm/utils/sheet-utils.js +0 -707
  862. package/dist/esm/utils/stream-buf.browser.js +0 -352
  863. package/dist/esm/utils/stream-buf.js +0 -344
  864. package/dist/esm/utils/string-buf.js +0 -65
  865. package/dist/esm/utils/under-dash.js +0 -171
  866. package/dist/esm/utils/unzip/buffer-stream.js +0 -24
  867. package/dist/esm/utils/unzip/extract.js +0 -106
  868. package/dist/esm/utils/unzip/index.js +0 -29
  869. package/dist/esm/utils/unzip/noop-stream.js +0 -16
  870. package/dist/esm/utils/unzip/parse-buffer.js +0 -57
  871. package/dist/esm/utils/unzip/parse-datetime.js +0 -20
  872. package/dist/esm/utils/unzip/parse-extra-field.js +0 -49
  873. package/dist/esm/utils/unzip/parse.js +0 -332
  874. package/dist/esm/utils/unzip/pull-stream.js +0 -141
  875. package/dist/esm/utils/unzip/zip-parser.js +0 -459
  876. package/dist/esm/utils/xml-stream.js +0 -168
  877. package/dist/esm/utils/zip/compress.base.js +0 -83
  878. package/dist/esm/utils/zip/compress.browser.js +0 -121
  879. package/dist/esm/utils/zip/compress.js +0 -72
  880. package/dist/esm/utils/zip/crc32.browser.js +0 -82
  881. package/dist/esm/utils/zip/crc32.js +0 -116
  882. package/dist/esm/utils/zip/deflate-fallback.js +0 -570
  883. package/dist/esm/utils/zip/index.js +0 -55
  884. package/dist/esm/utils/zip/streaming-zip.js +0 -259
  885. package/dist/esm/utils/zip/zip-builder.js +0 -372
  886. package/dist/esm/utils/zip-stream.browser.js +0 -132
  887. package/dist/esm/utils/zip-stream.js +0 -109
  888. package/dist/esm/xlsx/xform/base-xform.js +0 -123
  889. package/dist/esm/xlsx/xform/book/defined-name-xform.js +0 -124
  890. package/dist/esm/xlsx/xform/book/sheet-xform.js +0 -30
  891. package/dist/esm/xlsx/xform/book/workbook-calc-properties-xform.js +0 -21
  892. package/dist/esm/xlsx/xform/book/workbook-pivot-cache-xform.js +0 -24
  893. package/dist/esm/xlsx/xform/book/workbook-properties-xform.js +0 -24
  894. package/dist/esm/xlsx/xform/book/workbook-view-xform.js +0 -46
  895. package/dist/esm/xlsx/xform/book/workbook-xform.js +0 -234
  896. package/dist/esm/xlsx/xform/comment/comment-xform.js +0 -76
  897. package/dist/esm/xlsx/xform/comment/comments-xform.js +0 -72
  898. package/dist/esm/xlsx/xform/comment/style/vml-position-xform.js +0 -34
  899. package/dist/esm/xlsx/xform/comment/style/vml-protection-xform.js +0 -30
  900. package/dist/esm/xlsx/xform/comment/vml-anchor-xform.js +0 -55
  901. package/dist/esm/xlsx/xform/comment/vml-client-data-xform.js +0 -82
  902. package/dist/esm/xlsx/xform/comment/vml-notes-xform.js +0 -96
  903. package/dist/esm/xlsx/xform/comment/vml-shape-xform.js +0 -83
  904. package/dist/esm/xlsx/xform/comment/vml-textbox-xform.js +0 -60
  905. package/dist/esm/xlsx/xform/composite-xform.js +0 -48
  906. package/dist/esm/xlsx/xform/core/app-heading-pairs-xform.js +0 -24
  907. package/dist/esm/xlsx/xform/core/app-titles-of-parts-xform.js +0 -21
  908. package/dist/esm/xlsx/xform/core/app-xform.js +0 -83
  909. package/dist/esm/xlsx/xform/core/content-types-xform.js +0 -128
  910. package/dist/esm/xlsx/xform/core/core-xform.js +0 -124
  911. package/dist/esm/xlsx/xform/core/relationship-xform.js +0 -20
  912. package/dist/esm/xlsx/xform/core/relationships-xform.js +0 -62
  913. package/dist/esm/xlsx/xform/drawing/base-cell-anchor-xform.js +0 -44
  914. package/dist/esm/xlsx/xform/drawing/blip-fill-xform.js +0 -57
  915. package/dist/esm/xlsx/xform/drawing/blip-xform.js +0 -40
  916. package/dist/esm/xlsx/xform/drawing/c-nv-pic-pr-xform.js +0 -32
  917. package/dist/esm/xlsx/xform/drawing/c-nv-pr-xform.js +0 -59
  918. package/dist/esm/xlsx/xform/drawing/cell-position-xform.js +0 -68
  919. package/dist/esm/xlsx/xform/drawing/drawing-xform.js +0 -96
  920. package/dist/esm/xlsx/xform/drawing/ext-lst-xform.js +0 -37
  921. package/dist/esm/xlsx/xform/drawing/ext-xform.js +0 -34
  922. package/dist/esm/xlsx/xform/drawing/hlink-click-xform.js +0 -39
  923. package/dist/esm/xlsx/xform/drawing/nv-pic-pr-xform.js +0 -56
  924. package/dist/esm/xlsx/xform/drawing/one-cell-anchor-xform.js +0 -52
  925. package/dist/esm/xlsx/xform/drawing/pic-xform.js +0 -64
  926. package/dist/esm/xlsx/xform/drawing/two-cell-anchor-xform.js +0 -51
  927. package/dist/esm/xlsx/xform/list-xform.js +0 -89
  928. package/dist/esm/xlsx/xform/pivot-table/cache-field-xform.js +0 -128
  929. package/dist/esm/xlsx/xform/pivot-table/cache-field.js +0 -78
  930. package/dist/esm/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +0 -179
  931. package/dist/esm/xlsx/xform/pivot-table/pivot-cache-records-xform.js +0 -234
  932. package/dist/esm/xlsx/xform/pivot-table/pivot-table-xform.js +0 -624
  933. package/dist/esm/xlsx/xform/sheet/auto-filter-xform.js +0 -34
  934. package/dist/esm/xlsx/xform/sheet/cell-xform.js +0 -460
  935. package/dist/esm/xlsx/xform/sheet/cf/cf-rule-xform.js +0 -259
  936. package/dist/esm/xlsx/xform/sheet/cf/cfvo-xform.js +0 -22
  937. package/dist/esm/xlsx/xform/sheet/cf/color-scale-xform.js +0 -35
  938. package/dist/esm/xlsx/xform/sheet/cf/conditional-formatting-xform.js +0 -37
  939. package/dist/esm/xlsx/xform/sheet/cf/conditional-formattings-xform.js +0 -74
  940. package/dist/esm/xlsx/xform/sheet/cf/databar-xform.js +0 -39
  941. package/dist/esm/xlsx/xform/sheet/cf/ext-lst-ref-xform.js +0 -67
  942. package/dist/esm/xlsx/xform/sheet/cf/formula-xform.js +0 -19
  943. package/dist/esm/xlsx/xform/sheet/cf/icon-set-xform.js +0 -37
  944. package/dist/esm/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js +0 -22
  945. package/dist/esm/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +0 -79
  946. package/dist/esm/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js +0 -35
  947. package/dist/esm/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js +0 -48
  948. package/dist/esm/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js +0 -40
  949. package/dist/esm/xlsx/xform/sheet/cf-ext/databar-ext-xform.js +0 -69
  950. package/dist/esm/xlsx/xform/sheet/cf-ext/f-ext-xform.js +0 -19
  951. package/dist/esm/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js +0 -60
  952. package/dist/esm/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js +0 -19
  953. package/dist/esm/xlsx/xform/sheet/col-breaks-xform.js +0 -35
  954. package/dist/esm/xlsx/xform/sheet/col-xform.js +0 -75
  955. package/dist/esm/xlsx/xform/sheet/data-validations-xform.js +0 -282
  956. package/dist/esm/xlsx/xform/sheet/dimension-xform.js +0 -23
  957. package/dist/esm/xlsx/xform/sheet/drawing-xform.js +0 -27
  958. package/dist/esm/xlsx/xform/sheet/ext-lst-xform.js +0 -66
  959. package/dist/esm/xlsx/xform/sheet/header-footer-xform.js +0 -124
  960. package/dist/esm/xlsx/xform/sheet/hyperlink-xform.js +0 -47
  961. package/dist/esm/xlsx/xform/sheet/merge-cell-xform.js +0 -21
  962. package/dist/esm/xlsx/xform/sheet/merges.js +0 -50
  963. package/dist/esm/xlsx/xform/sheet/outline-properties-xform.js +0 -36
  964. package/dist/esm/xlsx/xform/sheet/page-breaks-xform.js +0 -33
  965. package/dist/esm/xlsx/xform/sheet/page-margins-xform.js +0 -42
  966. package/dist/esm/xlsx/xform/sheet/page-setup-properties-xform.js +0 -29
  967. package/dist/esm/xlsx/xform/sheet/page-setup-xform.js +0 -96
  968. package/dist/esm/xlsx/xform/sheet/picture-xform.js +0 -27
  969. package/dist/esm/xlsx/xform/sheet/print-options-xform.js +0 -41
  970. package/dist/esm/xlsx/xform/sheet/row-breaks-xform.js +0 -29
  971. package/dist/esm/xlsx/xform/sheet/row-xform.js +0 -152
  972. package/dist/esm/xlsx/xform/sheet/sheet-format-properties-xform.js +0 -49
  973. package/dist/esm/xlsx/xform/sheet/sheet-properties-xform.js +0 -82
  974. package/dist/esm/xlsx/xform/sheet/sheet-protection-xform.js +0 -80
  975. package/dist/esm/xlsx/xform/sheet/sheet-view-xform.js +0 -193
  976. package/dist/esm/xlsx/xform/sheet/table-part-xform.js +0 -27
  977. package/dist/esm/xlsx/xform/sheet/worksheet-xform.js +0 -517
  978. package/dist/esm/xlsx/xform/simple/boolean-xform.js +0 -24
  979. package/dist/esm/xlsx/xform/simple/date-xform.js +0 -65
  980. package/dist/esm/xlsx/xform/simple/float-xform.js +0 -47
  981. package/dist/esm/xlsx/xform/simple/integer-xform.js +0 -52
  982. package/dist/esm/xlsx/xform/simple/string-xform.js +0 -47
  983. package/dist/esm/xlsx/xform/static-xform.js +0 -55
  984. package/dist/esm/xlsx/xform/strings/phonetic-text-xform.js +0 -86
  985. package/dist/esm/xlsx/xform/strings/rich-text-xform.js +0 -77
  986. package/dist/esm/xlsx/xform/strings/shared-string-xform.js +0 -90
  987. package/dist/esm/xlsx/xform/strings/shared-strings-xform.js +0 -109
  988. package/dist/esm/xlsx/xform/strings/text-xform.js +0 -36
  989. package/dist/esm/xlsx/xform/style/alignment-xform.js +0 -152
  990. package/dist/esm/xlsx/xform/style/border-xform.js +0 -188
  991. package/dist/esm/xlsx/xform/style/color-xform.js +0 -61
  992. package/dist/esm/xlsx/xform/style/dxf-xform.js +0 -92
  993. package/dist/esm/xlsx/xform/style/fill-xform.js +0 -312
  994. package/dist/esm/xlsx/xform/style/font-xform.js +0 -100
  995. package/dist/esm/xlsx/xform/style/numfmt-xform.js +0 -50
  996. package/dist/esm/xlsx/xform/style/protection-xform.js +0 -49
  997. package/dist/esm/xlsx/xform/style/style-xform.js +0 -108
  998. package/dist/esm/xlsx/xform/style/styles-xform.js +0 -484
  999. package/dist/esm/xlsx/xform/style/underline-xform.js +0 -38
  1000. package/dist/esm/xlsx/xform/table/auto-filter-xform.js +0 -70
  1001. package/dist/esm/xlsx/xform/table/custom-filter-xform.js +0 -31
  1002. package/dist/esm/xlsx/xform/table/filter-column-xform.js +0 -88
  1003. package/dist/esm/xlsx/xform/table/filter-xform.js +0 -29
  1004. package/dist/esm/xlsx/xform/table/table-column-xform.js +0 -41
  1005. package/dist/esm/xlsx/xform/table/table-style-info-xform.js +0 -44
  1006. package/dist/esm/xlsx/xform/table/table-xform.js +0 -126
  1007. package/dist/esm/xlsx/xlsx.base.js +0 -739
  1008. package/dist/esm/xlsx/xlsx.browser.js +0 -159
  1009. package/dist/esm/xlsx/xlsx.js +0 -214
  1010. package/dist/types/csv/csv-core.d.ts +0 -201
  1011. package/dist/types/csv/csv-stream.d.ts +0 -114
  1012. package/dist/types/csv/csv.base.d.ts +0 -62
  1013. package/dist/types/csv/csv.browser.d.ts +0 -33
  1014. package/dist/types/csv/csv.d.ts +0 -105
  1015. package/dist/types/doc/anchor.d.ts +0 -33
  1016. package/dist/types/doc/cell.d.ts +0 -139
  1017. package/dist/types/doc/column.d.ts +0 -121
  1018. package/dist/types/doc/defined-names.d.ts +0 -37
  1019. package/dist/types/doc/image.d.ts +0 -64
  1020. package/dist/types/doc/modelcontainer.d.ts +0 -8
  1021. package/dist/types/doc/pivot-table.d.ts +0 -152
  1022. package/dist/types/doc/range.d.ts +0 -62
  1023. package/dist/types/doc/row.d.ts +0 -114
  1024. package/dist/types/doc/table.d.ts +0 -81
  1025. package/dist/types/doc/workbook.base.d.ts +0 -111
  1026. package/dist/types/doc/workbook.browser.d.ts +0 -38
  1027. package/dist/types/doc/workbook.d.ts +0 -79
  1028. package/dist/types/doc/worksheet.d.ts +0 -333
  1029. package/dist/types/local.d.ts +0 -0
  1030. package/dist/types/stream/xlsx/hyperlink-reader.d.ts +0 -27
  1031. package/dist/types/stream/xlsx/workbook-reader.d.ts +0 -139
  1032. package/dist/types/stream/xlsx/workbook-writer.d.ts +0 -139
  1033. package/dist/types/stream/xlsx/worksheet-reader.d.ts +0 -55
  1034. package/dist/types/stream/xlsx/worksheet-writer.d.ts +0 -139
  1035. package/dist/types/utils/browser-buffer.d.ts +0 -28
  1036. package/dist/types/utils/col-cache.d.ts +0 -36
  1037. package/dist/types/utils/encryptor.browser.d.ts +0 -28
  1038. package/dist/types/utils/encryptor.d.ts +0 -23
  1039. package/dist/types/utils/iterate-stream.d.ts +0 -10
  1040. package/dist/types/utils/sheet-utils.d.ts +0 -209
  1041. package/dist/types/utils/stream-buf.browser.d.ts +0 -41
  1042. package/dist/types/utils/stream-buf.d.ts +0 -2
  1043. package/dist/types/utils/string-buf.d.ts +0 -20
  1044. package/dist/types/utils/unzip/buffer-stream.d.ts +0 -9
  1045. package/dist/types/utils/unzip/extract.d.ts +0 -94
  1046. package/dist/types/utils/unzip/index.d.ts +0 -27
  1047. package/dist/types/utils/unzip/noop-stream.d.ts +0 -13
  1048. package/dist/types/utils/unzip/parse-buffer.d.ts +0 -24
  1049. package/dist/types/utils/unzip/parse-datetime.d.ts +0 -12
  1050. package/dist/types/utils/unzip/parse-extra-field.d.ts +0 -18
  1051. package/dist/types/utils/unzip/parse.d.ts +0 -70
  1052. package/dist/types/utils/unzip/pull-stream.d.ts +0 -24
  1053. package/dist/types/utils/unzip/zip-parser.d.ts +0 -97
  1054. package/dist/types/utils/zip/compress.base.d.ts +0 -45
  1055. package/dist/types/utils/zip/compress.browser.d.ts +0 -63
  1056. package/dist/types/utils/zip/compress.d.ts +0 -51
  1057. package/dist/types/utils/zip/crc32.browser.d.ts +0 -52
  1058. package/dist/types/utils/zip/crc32.d.ts +0 -55
  1059. package/dist/types/utils/zip/index.d.ts +0 -52
  1060. package/dist/types/utils/zip/streaming-zip.d.ts +0 -96
  1061. package/dist/types/utils/zip/zip-builder.d.ts +0 -110
  1062. package/dist/types/utils/zip-stream.browser.d.ts +0 -39
  1063. package/dist/types/utils/zip-stream.d.ts +0 -33
  1064. package/dist/types/xlsx/xform/base-xform.d.ts +0 -33
  1065. package/dist/types/xlsx/xform/book/defined-name-xform.d.ts +0 -17
  1066. package/dist/types/xlsx/xform/book/sheet-xform.d.ts +0 -14
  1067. package/dist/types/xlsx/xform/book/workbook-calc-properties-xform.d.ts +0 -11
  1068. package/dist/types/xlsx/xform/book/workbook-pivot-cache-xform.d.ts +0 -12
  1069. package/dist/types/xlsx/xform/book/workbook-properties-xform.d.ts +0 -11
  1070. package/dist/types/xlsx/xform/book/workbook-view-xform.d.ts +0 -17
  1071. package/dist/types/xlsx/xform/book/workbook-xform.d.ts +0 -23
  1072. package/dist/types/xlsx/xform/comment/comment-xform.d.ts +0 -28
  1073. package/dist/types/xlsx/xform/comment/comments-xform.d.ts +0 -21
  1074. package/dist/types/xlsx/xform/comment/style/vml-position-xform.d.ts +0 -16
  1075. package/dist/types/xlsx/xform/comment/style/vml-protection-xform.d.ts +0 -14
  1076. package/dist/types/xlsx/xform/comment/vml-anchor-xform.d.ts +0 -27
  1077. package/dist/types/xlsx/xform/comment/vml-client-data-xform.d.ts +0 -35
  1078. package/dist/types/xlsx/xform/comment/vml-notes-xform.d.ts +0 -24
  1079. package/dist/types/xlsx/xform/comment/vml-shape-xform.d.ts +0 -25
  1080. package/dist/types/xlsx/xform/comment/vml-textbox-xform.d.ts +0 -23
  1081. package/dist/types/xlsx/xform/composite-xform.d.ts +0 -11
  1082. package/dist/types/xlsx/xform/core/app-heading-pairs-xform.d.ts +0 -8
  1083. package/dist/types/xlsx/xform/core/app-titles-of-parts-xform.d.ts +0 -8
  1084. package/dist/types/xlsx/xform/core/app-xform.d.ts +0 -26
  1085. package/dist/types/xlsx/xform/core/content-types-xform.d.ts +0 -11
  1086. package/dist/types/xlsx/xform/core/core-xform.d.ts +0 -42
  1087. package/dist/types/xlsx/xform/core/relationship-xform.d.ts +0 -14
  1088. package/dist/types/xlsx/xform/core/relationships-xform.d.ts +0 -14
  1089. package/dist/types/xlsx/xform/drawing/base-cell-anchor-xform.d.ts +0 -13
  1090. package/dist/types/xlsx/xform/drawing/blip-fill-xform.d.ts +0 -16
  1091. package/dist/types/xlsx/xform/drawing/blip-xform.d.ts +0 -14
  1092. package/dist/types/xlsx/xform/drawing/c-nv-pic-pr-xform.d.ts +0 -9
  1093. package/dist/types/xlsx/xform/drawing/c-nv-pr-xform.d.ts +0 -18
  1094. package/dist/types/xlsx/xform/drawing/cell-position-xform.d.ts +0 -24
  1095. package/dist/types/xlsx/xform/drawing/drawing-xform.d.ts +0 -24
  1096. package/dist/types/xlsx/xform/drawing/ext-lst-xform.d.ts +0 -9
  1097. package/dist/types/xlsx/xform/drawing/ext-xform.d.ts +0 -20
  1098. package/dist/types/xlsx/xform/drawing/hlink-click-xform.d.ts +0 -11
  1099. package/dist/types/xlsx/xform/drawing/nv-pic-pr-xform.d.ts +0 -15
  1100. package/dist/types/xlsx/xform/drawing/one-cell-anchor-xform.d.ts +0 -20
  1101. package/dist/types/xlsx/xform/drawing/pic-xform.d.ts +0 -22
  1102. package/dist/types/xlsx/xform/drawing/two-cell-anchor-xform.d.ts +0 -20
  1103. package/dist/types/xlsx/xform/list-xform.d.ts +0 -32
  1104. package/dist/types/xlsx/xform/pivot-table/cache-field-xform.d.ts +0 -42
  1105. package/dist/types/xlsx/xform/pivot-table/pivot-cache-definition-xform.d.ts +0 -60
  1106. package/dist/types/xlsx/xform/pivot-table/pivot-cache-records-xform.d.ts +0 -73
  1107. package/dist/types/xlsx/xform/pivot-table/pivot-table-xform.d.ts +0 -119
  1108. package/dist/types/xlsx/xform/sheet/auto-filter-xform.d.ts +0 -8
  1109. package/dist/types/xlsx/xform/sheet/cell-xform.d.ts +0 -17
  1110. package/dist/types/xlsx/xform/sheet/cf/cf-rule-xform.d.ts +0 -41
  1111. package/dist/types/xlsx/xform/sheet/cf/cfvo-xform.d.ts +0 -8
  1112. package/dist/types/xlsx/xform/sheet/cf/color-scale-xform.d.ts +0 -13
  1113. package/dist/types/xlsx/xform/sheet/cf/conditional-formatting-xform.d.ts +0 -9
  1114. package/dist/types/xlsx/xform/sheet/cf/conditional-formattings-xform.d.ts +0 -16
  1115. package/dist/types/xlsx/xform/sheet/cf/databar-xform.d.ts +0 -13
  1116. package/dist/types/xlsx/xform/sheet/cf/ext-lst-ref-xform.d.ts +0 -9
  1117. package/dist/types/xlsx/xform/sheet/cf/formula-xform.d.ts +0 -9
  1118. package/dist/types/xlsx/xform/sheet/cf/icon-set-xform.d.ts +0 -11
  1119. package/dist/types/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.d.ts +0 -10
  1120. package/dist/types/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.d.ts +0 -23
  1121. package/dist/types/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.d.ts +0 -13
  1122. package/dist/types/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.d.ts +0 -16
  1123. package/dist/types/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.d.ts +0 -13
  1124. package/dist/types/xlsx/xform/sheet/cf-ext/databar-ext-xform.d.ts +0 -29
  1125. package/dist/types/xlsx/xform/sheet/cf-ext/f-ext-xform.d.ts +0 -9
  1126. package/dist/types/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.d.ts +0 -20
  1127. package/dist/types/xlsx/xform/sheet/cf-ext/sqref-ext-xform.d.ts +0 -9
  1128. package/dist/types/xlsx/xform/sheet/col-breaks-xform.d.ts +0 -16
  1129. package/dist/types/xlsx/xform/sheet/col-xform.d.ts +0 -22
  1130. package/dist/types/xlsx/xform/sheet/data-validations-xform.d.ts +0 -12
  1131. package/dist/types/xlsx/xform/sheet/dimension-xform.d.ts +0 -10
  1132. package/dist/types/xlsx/xform/sheet/drawing-xform.d.ts +0 -12
  1133. package/dist/types/xlsx/xform/sheet/ext-lst-xform.d.ts +0 -16
  1134. package/dist/types/xlsx/xform/sheet/header-footer-xform.d.ts +0 -20
  1135. package/dist/types/xlsx/xform/sheet/hyperlink-xform.d.ts +0 -16
  1136. package/dist/types/xlsx/xform/sheet/merge-cell-xform.d.ts +0 -9
  1137. package/dist/types/xlsx/xform/sheet/outline-properties-xform.d.ts +0 -13
  1138. package/dist/types/xlsx/xform/sheet/page-breaks-xform.d.ts +0 -14
  1139. package/dist/types/xlsx/xform/sheet/page-margins-xform.d.ts +0 -17
  1140. package/dist/types/xlsx/xform/sheet/page-setup-properties-xform.d.ts +0 -12
  1141. package/dist/types/xlsx/xform/sheet/page-setup-xform.d.ts +0 -27
  1142. package/dist/types/xlsx/xform/sheet/picture-xform.d.ts +0 -12
  1143. package/dist/types/xlsx/xform/sheet/print-options-xform.d.ts +0 -15
  1144. package/dist/types/xlsx/xform/sheet/row-breaks-xform.d.ts +0 -10
  1145. package/dist/types/xlsx/xform/sheet/row-xform.d.ts +0 -37
  1146. package/dist/types/xlsx/xform/sheet/sheet-format-properties-xform.d.ts +0 -16
  1147. package/dist/types/xlsx/xform/sheet/sheet-properties-xform.d.ts +0 -19
  1148. package/dist/types/xlsx/xform/sheet/sheet-protection-xform.d.ts +0 -31
  1149. package/dist/types/xlsx/xform/sheet/sheet-view-xform.d.ts +0 -32
  1150. package/dist/types/xlsx/xform/sheet/table-part-xform.d.ts +0 -12
  1151. package/dist/types/xlsx/xform/sheet/worksheet-xform.d.ts +0 -21
  1152. package/dist/types/xlsx/xform/simple/boolean-xform.d.ts +0 -15
  1153. package/dist/types/xlsx/xform/simple/date-xform.d.ts +0 -22
  1154. package/dist/types/xlsx/xform/simple/float-xform.d.ts +0 -18
  1155. package/dist/types/xlsx/xform/simple/integer-xform.d.ts +0 -20
  1156. package/dist/types/xlsx/xform/simple/string-xform.d.ts +0 -18
  1157. package/dist/types/xlsx/xform/static-xform.d.ts +0 -17
  1158. package/dist/types/xlsx/xform/strings/phonetic-text-xform.d.ts +0 -20
  1159. package/dist/types/xlsx/xform/strings/rich-text-xform.d.ts +0 -25
  1160. package/dist/types/xlsx/xform/strings/shared-string-xform.d.ts +0 -17
  1161. package/dist/types/xlsx/xform/strings/shared-strings-xform.d.ts +0 -27
  1162. package/dist/types/xlsx/xform/strings/text-xform.d.ts +0 -10
  1163. package/dist/types/xlsx/xform/style/alignment-xform.d.ts +0 -18
  1164. package/dist/types/xlsx/xform/style/border-xform.d.ts +0 -49
  1165. package/dist/types/xlsx/xform/style/color-xform.d.ts +0 -17
  1166. package/dist/types/xlsx/xform/style/dxf-xform.d.ts +0 -23
  1167. package/dist/types/xlsx/xform/style/fill-xform.d.ts +0 -85
  1168. package/dist/types/xlsx/xform/style/font-xform.d.ts +0 -35
  1169. package/dist/types/xlsx/xform/style/numfmt-xform.d.ts +0 -18
  1170. package/dist/types/xlsx/xform/style/protection-xform.d.ts +0 -13
  1171. package/dist/types/xlsx/xform/style/style-xform.d.ts +0 -30
  1172. package/dist/types/xlsx/xform/style/styles-xform.d.ts +0 -46
  1173. package/dist/types/xlsx/xform/style/underline-xform.d.ts +0 -14
  1174. package/dist/types/xlsx/xform/table/auto-filter-xform.d.ts +0 -21
  1175. package/dist/types/xlsx/xform/table/custom-filter-xform.d.ts +0 -15
  1176. package/dist/types/xlsx/xform/table/filter-column-xform.d.ts +0 -24
  1177. package/dist/types/xlsx/xform/table/filter-xform.d.ts +0 -14
  1178. package/dist/types/xlsx/xform/table/table-column-xform.d.ts +0 -21
  1179. package/dist/types/xlsx/xform/table/table-style-info-xform.d.ts +0 -18
  1180. package/dist/types/xlsx/xform/table/table-xform.d.ts +0 -33
  1181. package/dist/types/xlsx/xlsx.base.d.ts +0 -134
  1182. package/dist/types/xlsx/xlsx.browser.d.ts +0 -31
  1183. package/dist/types/xlsx/xlsx.d.ts +0 -26
  1184. /package/dist/cjs/{doc → modules/excel}/enums.js +0 -0
  1185. /package/dist/cjs/{types.js → modules/excel/types.js} +0 -0
  1186. /package/dist/cjs/{utils → modules/excel/utils}/col-cache.js +0 -0
  1187. /package/dist/cjs/{utils → modules/excel/utils}/copy-style.js +0 -0
  1188. /package/dist/cjs/{utils → modules/excel/utils}/iterate-stream.js +0 -0
  1189. /package/dist/cjs/{utils → modules/excel/utils}/shared-strings.js +0 -0
  1190. /package/dist/cjs/{xlsx → modules/excel/xlsx}/defaultnumformats.js +0 -0
  1191. /package/dist/cjs/{xlsx → modules/excel/xlsx}/rel-type.js +0 -0
  1192. /package/dist/cjs/{xlsx → modules/excel/xlsx}/xform/drawing/sp-pr.js +0 -0
  1193. /package/dist/cjs/{xlsx → modules/excel/xlsx}/xml/theme1.js +0 -0
  1194. /package/dist/esm/{doc → modules/excel}/enums.js +0 -0
  1195. /package/dist/esm/{types.js → modules/excel/types.js} +0 -0
  1196. /package/dist/esm/{utils → modules/excel/utils}/col-cache.js +0 -0
  1197. /package/dist/esm/{utils → modules/excel/utils}/copy-style.js +0 -0
  1198. /package/dist/esm/{utils → modules/excel/utils}/iterate-stream.js +0 -0
  1199. /package/dist/esm/{utils → modules/excel/utils}/shared-strings.js +0 -0
  1200. /package/dist/esm/{xlsx → modules/excel/xlsx}/defaultnumformats.js +0 -0
  1201. /package/dist/esm/{xlsx → modules/excel/xlsx}/rel-type.js +0 -0
  1202. /package/dist/esm/{xlsx → modules/excel/xlsx}/xform/drawing/sp-pr.js +0 -0
  1203. /package/dist/esm/{xlsx → modules/excel/xlsx}/xml/theme1.js +0 -0
  1204. /package/dist/types/{utils/zip → modules/archive}/deflate-fallback.d.ts +0 -0
  1205. /package/dist/types/{doc → modules/excel}/data-validations.d.ts +0 -0
  1206. /package/dist/types/{doc → modules/excel}/enums.d.ts +0 -0
  1207. /package/dist/types/{doc → modules/excel}/note.d.ts +0 -0
  1208. /package/dist/types/{stream/xlsx → modules/excel/stream}/sheet-comments-writer.d.ts +0 -0
  1209. /package/dist/types/{stream/xlsx → modules/excel/stream}/sheet-rels-writer.d.ts +0 -0
  1210. /package/dist/types/{types.d.ts → modules/excel/types.d.ts} +0 -0
  1211. /package/dist/types/{utils → modules/excel/utils}/cell-format.d.ts +0 -0
  1212. /package/dist/types/{utils → modules/excel/utils}/cell-matrix.d.ts +0 -0
  1213. /package/dist/types/{utils → modules/excel/utils}/copy-style.d.ts +0 -0
  1214. /package/dist/types/{utils → modules/excel/utils}/parse-sax.d.ts +0 -0
  1215. /package/dist/types/{utils → modules/excel/utils}/shared-formula.d.ts +0 -0
  1216. /package/dist/types/{utils → modules/excel/utils}/shared-strings.d.ts +0 -0
  1217. /package/dist/types/{utils → modules/excel/utils}/under-dash.d.ts +0 -0
  1218. /package/dist/types/{utils → modules/excel/utils}/xml-stream.d.ts +0 -0
  1219. /package/dist/types/{xlsx → modules/excel/xlsx}/defaultnumformats.d.ts +0 -0
  1220. /package/dist/types/{xlsx → modules/excel/xlsx}/rel-type.d.ts +0 -0
  1221. /package/dist/types/{xlsx → modules/excel/xlsx}/xform/drawing/sp-pr.d.ts +0 -0
  1222. /package/dist/types/{xlsx → modules/excel/xlsx}/xform/pivot-table/cache-field.d.ts +0 -0
  1223. /package/dist/types/{xlsx → modules/excel/xlsx}/xform/sheet/merges.d.ts +0 -0
  1224. /package/dist/types/{xlsx → modules/excel/xlsx}/xml/theme1.d.ts +0 -0
@@ -0,0 +1,1152 @@
1
+ /**
2
+ * XLSX - Abstract base class for XLSX operations
3
+ *
4
+ * Contains all platform-agnostic logic shared between Node.js and Browser versions:
5
+ * - reconcile: Reconcile model after parsing
6
+ * - _process*Entry: Process individual ZIP entries
7
+ * - add*: Add content to ZIP during writing
8
+ * - prepareModel: Prepare model for writing
9
+ * - loadFromFiles: Load from pre-extracted ZIP data
10
+ */
11
+ import { XmlStream } from "@excel/utils/xml-stream";
12
+ import { StylesXform } from "@excel/xlsx/xform/style/styles-xform";
13
+ import { CoreXform } from "@excel/xlsx/xform/core/core-xform";
14
+ import { SharedStringsXform } from "@excel/xlsx/xform/strings/shared-strings-xform";
15
+ import { RelationshipsXform } from "@excel/xlsx/xform/core/relationships-xform";
16
+ import { ContentTypesXform } from "@excel/xlsx/xform/core/content-types-xform";
17
+ import { AppXform } from "@excel/xlsx/xform/core/app-xform";
18
+ import { WorkbookXform } from "@excel/xlsx/xform/book/workbook-xform";
19
+ import { WorkSheetXform } from "@excel/xlsx/xform/sheet/worksheet-xform";
20
+ import { DrawingXform } from "@excel/xlsx/xform/drawing/drawing-xform";
21
+ import { TableXform } from "@excel/xlsx/xform/table/table-xform";
22
+ import { PivotCacheRecordsXform } from "@excel/xlsx/xform/pivot-table/pivot-cache-records-xform";
23
+ import { PivotCacheDefinitionXform } from "@excel/xlsx/xform/pivot-table/pivot-cache-definition-xform";
24
+ import { PivotTableXform } from "@excel/xlsx/xform/pivot-table/pivot-table-xform";
25
+ import { CommentsXform } from "@excel/xlsx/xform/comment/comments-xform";
26
+ import { VmlNotesXform } from "@excel/xlsx/xform/comment/vml-notes-xform";
27
+ import { theme1Xml } from "@excel/xlsx/xml/theme1";
28
+ import { RelType } from "@excel/xlsx/rel-type";
29
+ import { StreamBuf } from "@excel/utils/stream-buf";
30
+ import { bufferToString, base64ToUint8Array } from "@utils/utils";
31
+ import { StreamingZip, ZipDeflateFile } from "@archive/streaming-zip";
32
+ import { ZipParser } from "@archive";
33
+ import { PassThrough, concatUint8Arrays } from "@stream";
34
+ import { commentsPath, commentsRelTargetFromWorksheetName, drawingPath, drawingRelsPath, OOXML_REL_TARGETS, pivotTableRelTargetFromWorksheetName, pivotCacheDefinitionRelTargetFromWorkbook, getCommentsIndexFromPath, getDrawingNameFromPath, getDrawingNameFromRelsPath, getMediaFilenameFromPath, mediaPath, getPivotCacheDefinitionNameFromPath, getPivotCacheDefinitionNameFromRelsPath, getPivotCacheRecordsNameFromPath, getPivotTableNameFromPath, getPivotTableNameFromRelsPath, pivotCacheDefinitionPath, pivotCacheDefinitionRelsPath, pivotCacheDefinitionRelTargetFromPivotTable, pivotCacheRecordsPath, pivotCacheRecordsRelTarget, pivotTablePath, pivotTableRelsPath, getTableNameFromPath, tablePath, tableRelTargetFromWorksheetName, themePath, getThemeNameFromPath, getVmlDrawingNameFromPath, getWorksheetNoFromWorksheetPath, getWorksheetNoFromWorksheetRelsPath, isBinaryEntryPath, normalizeZipPath, OOXML_PATHS, vmlDrawingRelTargetFromWorksheetName, vmlDrawingPath, worksheetPath, worksheetRelsPath } from "@excel/utils/ooxml-paths";
35
+ class StreamingZipWriterAdapter {
36
+ constructor(options) {
37
+ this.events = new Map();
38
+ this.pipedStream = null;
39
+ this.finalized = false;
40
+ this.level = options?.level ?? 6;
41
+ this.modTime = options?.modTime;
42
+ this.timestamps = options?.timestamps;
43
+ this.zip = new StreamingZip((err, data, final) => {
44
+ if (err) {
45
+ this._emit("error", err);
46
+ return;
47
+ }
48
+ if (data && data.length > 0) {
49
+ this._emit("data", data);
50
+ if (this.pipedStream) {
51
+ this.pipedStream.write(data);
52
+ }
53
+ }
54
+ if (final) {
55
+ if (this.pipedStream) {
56
+ this.pipedStream.end();
57
+ }
58
+ this._emit("finish");
59
+ }
60
+ });
61
+ }
62
+ _emit(event, ...args) {
63
+ const callbacks = this.events.get(event);
64
+ if (!callbacks) {
65
+ return;
66
+ }
67
+ for (const cb of callbacks) {
68
+ cb(...args);
69
+ }
70
+ }
71
+ on(event, callback) {
72
+ const callbacks = this.events.get(event) || new Set();
73
+ callbacks.add(callback);
74
+ this.events.set(event, callbacks);
75
+ return this;
76
+ }
77
+ once(event, callback) {
78
+ const wrapped = (...args) => {
79
+ this.off(event, wrapped);
80
+ callback(...args);
81
+ };
82
+ return this.on(event, wrapped);
83
+ }
84
+ off(event, callback) {
85
+ const callbacks = this.events.get(event);
86
+ if (!callbacks) {
87
+ return this;
88
+ }
89
+ callbacks.delete(callback);
90
+ if (callbacks.size === 0) {
91
+ this.events.delete(event);
92
+ }
93
+ return this;
94
+ }
95
+ pipe(stream) {
96
+ this.pipedStream = stream;
97
+ }
98
+ append(data, options) {
99
+ if (this.finalized) {
100
+ throw new Error("Cannot append after finalize");
101
+ }
102
+ let buffer;
103
+ if (options.base64) {
104
+ buffer = base64ToUint8Array(typeof data === "string" ? data : String(data));
105
+ }
106
+ else if (typeof data === "string") {
107
+ buffer = StreamingZipWriterAdapter.textEncoder.encode(data);
108
+ }
109
+ else if (data instanceof Uint8Array) {
110
+ buffer = data;
111
+ }
112
+ else if (ArrayBuffer.isView(data)) {
113
+ buffer = new Uint8Array(data.buffer, data.byteOffset, data.byteLength);
114
+ }
115
+ else if (data instanceof ArrayBuffer) {
116
+ buffer = new Uint8Array(data);
117
+ }
118
+ else {
119
+ buffer = data;
120
+ }
121
+ const file = new ZipDeflateFile(options.name, {
122
+ level: this.level,
123
+ modTime: this.modTime,
124
+ timestamps: this.timestamps
125
+ });
126
+ this.zip.add(file);
127
+ const pushResult = file.push(buffer, true);
128
+ if (pushResult && typeof pushResult.catch === "function") {
129
+ pushResult.catch((err) => this._emit("error", err));
130
+ }
131
+ }
132
+ finalize() {
133
+ if (this.finalized) {
134
+ return;
135
+ }
136
+ this.finalized = true;
137
+ this.zip.end();
138
+ }
139
+ }
140
+ StreamingZipWriterAdapter.textEncoder = new TextEncoder();
141
+ /**
142
+ * XLSX class - handles Excel file operations
143
+ * Works in both Node.js and Browser environments
144
+ */
145
+ class XLSX {
146
+ constructor(workbook) {
147
+ this.workbook = workbook;
148
+ }
149
+ // ===========================================================================
150
+ // Stream creation - cross-platform implementation using modules/stream
151
+ // ===========================================================================
152
+ /**
153
+ * Create a stream from binary data (for media/themes)
154
+ */
155
+ createBinaryStream(data) {
156
+ const stream = new PassThrough();
157
+ stream.end(data);
158
+ return stream;
159
+ }
160
+ /**
161
+ * Create a stream from string content (for XML parsing)
162
+ */
163
+ createTextStream(content) {
164
+ const stream = new PassThrough();
165
+ stream.end(content);
166
+ return stream;
167
+ }
168
+ // ===========================================================================
169
+ // Shared implementations - used by all platforms
170
+ // ===========================================================================
171
+ /**
172
+ * Create a StreamBuf instance for buffering data
173
+ */
174
+ createStreamBuf() {
175
+ return new StreamBuf();
176
+ }
177
+ /**
178
+ * Convert buffer/Uint8Array to string
179
+ */
180
+ bufferToString(data) {
181
+ return bufferToString(data);
182
+ }
183
+ /**
184
+ * Create a ZIP writer adapter.
185
+ * Can be overridden by subclasses for platform-specific implementations.
186
+ */
187
+ createZipWriter(options) {
188
+ return new StreamingZipWriterAdapter(options);
189
+ }
190
+ /**
191
+ * Write all workbook content to a ZIP writer
192
+ * Shared by both Node.js write() and browser writeBuffer()
193
+ */
194
+ async writeToZip(zip, options) {
195
+ const { model } = this.workbook;
196
+ this.prepareModel(model, options);
197
+ await this.addContentTypes(zip, model);
198
+ await this.addOfficeRels(zip, model);
199
+ await this.addWorkbookRels(zip, model);
200
+ await this.addWorksheets(zip, model);
201
+ await this.addSharedStrings(zip, model);
202
+ this.addDrawings(zip, model);
203
+ this.addTables(zip, model);
204
+ this.addPivotTables(zip, model);
205
+ await Promise.all([this.addThemes(zip, model), this.addStyles(zip, model)]);
206
+ await this.addMedia(zip, model);
207
+ await Promise.all([this.addApp(zip, model), this.addCore(zip, model)]);
208
+ await this.addWorkbook(zip, model);
209
+ }
210
+ // ===========================================================================
211
+ // Stream/Buffer operations - shared by all platforms
212
+ // ===========================================================================
213
+ /**
214
+ * Read workbook from a stream
215
+ */
216
+ async read(stream, options) {
217
+ // Collect all stream data into a single buffer
218
+ const chunks = [];
219
+ await new Promise((resolve, reject) => {
220
+ const onData = (chunk) => {
221
+ chunks.push(chunk);
222
+ };
223
+ const onEnd = () => {
224
+ stream.off("data", onData);
225
+ stream.off("end", onEnd);
226
+ stream.off("error", onError);
227
+ resolve();
228
+ };
229
+ const onError = (err) => {
230
+ stream.off("data", onData);
231
+ stream.off("end", onEnd);
232
+ stream.off("error", onError);
233
+ reject(err);
234
+ };
235
+ stream.on("data", onData);
236
+ stream.on("end", onEnd);
237
+ stream.on("error", onError);
238
+ });
239
+ return this.loadBuffer(concatUint8Arrays(chunks), options);
240
+ }
241
+ /**
242
+ * Write workbook to a stream
243
+ */
244
+ async write(stream, options) {
245
+ var _a;
246
+ options = options || {};
247
+ options.zip = options.zip || {};
248
+ (_a = options.zip).modTime ?? (_a.modTime = this.workbook.modified ?? this.workbook.created);
249
+ const zip = this.createZipWriter(options.zip);
250
+ zip.pipe(stream);
251
+ await this.writeToZip(zip, options);
252
+ return this._finalize(zip);
253
+ }
254
+ /**
255
+ * Load workbook from buffer/ArrayBuffer/Uint8Array
256
+ */
257
+ async load(data, options) {
258
+ let buffer;
259
+ // Validate input
260
+ const isBuffer = typeof Buffer !== "undefined" ? Buffer.isBuffer(data) : false;
261
+ if (!data ||
262
+ (typeof data === "object" &&
263
+ !isBuffer &&
264
+ !(data instanceof Uint8Array) &&
265
+ !(data instanceof ArrayBuffer))) {
266
+ throw new Error("Can't read the data of 'the loaded zip file'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?");
267
+ }
268
+ // Handle base64 input
269
+ if (options && options.base64) {
270
+ buffer = base64ToUint8Array(data.toString());
271
+ }
272
+ else if (data instanceof ArrayBuffer) {
273
+ buffer = new Uint8Array(data);
274
+ }
275
+ else if (data instanceof Uint8Array) {
276
+ buffer = data;
277
+ }
278
+ else {
279
+ // Node.js Buffer or other array-like
280
+ buffer = new Uint8Array(data);
281
+ }
282
+ return this.loadBuffer(buffer, options);
283
+ }
284
+ /**
285
+ * Internal: Load from Uint8Array buffer
286
+ */
287
+ async loadBuffer(buffer, options) {
288
+ const parser = new ZipParser(buffer);
289
+ const filesMap = await parser.extractAll();
290
+ // Convert Map to Record for loadFromFiles
291
+ const allFiles = {};
292
+ for (const [path, content] of filesMap) {
293
+ allFiles[path] = content;
294
+ }
295
+ return this.loadFromFiles(allFiles, options);
296
+ }
297
+ /**
298
+ * Internal: Load workbook from an async stream of ZIP entries.
299
+ *
300
+ * This is the foundation for TRUE streaming reads on platforms that have a
301
+ * streaming ZIP parser (e.g. Node.js `modules/archive` Parse).
302
+ */
303
+ async loadFromZipEntries(entries, options) {
304
+ const model = {
305
+ worksheets: [],
306
+ worksheetHash: {},
307
+ worksheetRels: [],
308
+ themes: {},
309
+ media: [],
310
+ mediaIndex: {},
311
+ drawings: {},
312
+ drawingRels: {},
313
+ comments: {},
314
+ tables: {},
315
+ vmlDrawings: {},
316
+ pivotTables: {},
317
+ pivotTableRels: {},
318
+ pivotCacheDefinitions: {},
319
+ pivotCacheDefinitionRels: {},
320
+ pivotCacheRecords: {}
321
+ };
322
+ for await (const entry of entries) {
323
+ let drained = false;
324
+ const drainEntry = async () => {
325
+ if (drained) {
326
+ return;
327
+ }
328
+ drained = true;
329
+ await entry.drain();
330
+ };
331
+ if (entry.type === "Directory") {
332
+ await drainEntry();
333
+ continue;
334
+ }
335
+ const entryName = normalizeZipPath(entry.name);
336
+ const stream = entry.stream;
337
+ try {
338
+ const sheetNo = getWorksheetNoFromWorksheetPath(entryName);
339
+ if (sheetNo !== undefined) {
340
+ await this._processWorksheetEntry(stream, model, sheetNo, options, entryName);
341
+ continue;
342
+ }
343
+ switch (entryName) {
344
+ case OOXML_PATHS.rootRels:
345
+ model.globalRels = await this.parseRels(stream);
346
+ break;
347
+ case OOXML_PATHS.xlWorkbook: {
348
+ const workbook = await this.parseWorkbook(stream);
349
+ model.sheets = workbook.sheets;
350
+ model.definedNames = workbook.definedNames;
351
+ model.views = workbook.views;
352
+ model.properties = workbook.properties;
353
+ model.calcProperties = workbook.calcProperties;
354
+ model.pivotCaches = workbook.pivotCaches;
355
+ break;
356
+ }
357
+ case OOXML_PATHS.xlSharedStrings:
358
+ model.sharedStrings = new SharedStringsXform();
359
+ await model.sharedStrings.parseStream(stream);
360
+ break;
361
+ case OOXML_PATHS.xlWorkbookRels:
362
+ model.workbookRels = await this.parseRels(stream);
363
+ break;
364
+ case OOXML_PATHS.docPropsApp: {
365
+ const appXform = new AppXform();
366
+ const appProperties = await appXform.parseStream(stream);
367
+ model.company = appProperties.company;
368
+ model.manager = appProperties.manager;
369
+ break;
370
+ }
371
+ case OOXML_PATHS.docPropsCore: {
372
+ const coreXform = new CoreXform();
373
+ const coreProperties = await coreXform.parseStream(stream);
374
+ Object.assign(model, coreProperties);
375
+ break;
376
+ }
377
+ case OOXML_PATHS.xlStyles:
378
+ model.styles = new StylesXform();
379
+ await model.styles.parseStream(stream);
380
+ break;
381
+ default: {
382
+ const handled = await this._processDefaultEntry(stream, model, entryName);
383
+ if (!handled) {
384
+ // Important for true streaming parsers: always consume unknown entries
385
+ await drainEntry();
386
+ }
387
+ break;
388
+ }
389
+ }
390
+ }
391
+ finally {
392
+ // Make sure we don't leave the entry stream partially consumed.
393
+ // This is critical for true streaming parsers which may otherwise abort
394
+ // the underlying entry stream (showing up as AbortError/ABORT_ERR).
395
+ try {
396
+ await drainEntry();
397
+ }
398
+ catch {
399
+ // ignore drain errors; the primary parse error (if any) is more useful
400
+ }
401
+ }
402
+ }
403
+ this.reconcile(model, options);
404
+ this.workbook.model = model;
405
+ return this.workbook;
406
+ }
407
+ /**
408
+ * Write workbook to buffer
409
+ */
410
+ async writeBuffer(options) {
411
+ var _a;
412
+ options = options || {};
413
+ options.zip = options.zip || {};
414
+ (_a = options.zip).modTime ?? (_a.modTime = this.workbook.modified ?? this.workbook.created);
415
+ const zip = this.createZipWriter(options.zip);
416
+ const stream = this.createStreamBuf();
417
+ zip.pipe(stream);
418
+ await this.writeToZip(zip, options);
419
+ await this._finalize(zip);
420
+ return stream.read() || new Uint8Array(0);
421
+ }
422
+ // ===========================================================================
423
+ // Media handling - base implementation (buffer/base64 only)
424
+ // ===========================================================================
425
+ /**
426
+ * Add media files to ZIP
427
+ * Supports buffer, base64, and filename (if readFileAsync is provided)
428
+ */
429
+ async addMedia(zip, model) {
430
+ await Promise.all(model.media.map(async (medium) => {
431
+ if (medium.type !== "image") {
432
+ throw new Error("Unsupported media");
433
+ }
434
+ // Preserve legacy behavior: `${undefined}` becomes "undefined" in template strings
435
+ const mediaName = medium.name ?? "undefined";
436
+ const filename = mediaPath(`${mediaName}.${medium.extension}`);
437
+ if (medium.filename) {
438
+ if (this.readFileAsync) {
439
+ const data = await this.readFileAsync(medium.filename);
440
+ return zip.append(data, { name: filename });
441
+ }
442
+ throw new Error("Loading images from filename is not supported in this environment");
443
+ }
444
+ if (medium.buffer) {
445
+ return zip.append(medium.buffer, { name: filename });
446
+ }
447
+ if (medium.base64) {
448
+ const content = medium.base64.substring(medium.base64.indexOf(",") + 1);
449
+ return zip.append(content, { name: filename, base64: true });
450
+ }
451
+ throw new Error("Unsupported media");
452
+ }));
453
+ }
454
+ // ===========================================================================
455
+ // Parse helpers - shared by all platforms
456
+ // ===========================================================================
457
+ parseRels(stream) {
458
+ const xform = new RelationshipsXform();
459
+ return xform.parseStream(stream);
460
+ }
461
+ parseWorkbook(stream) {
462
+ const xform = new WorkbookXform();
463
+ return xform.parseStream(stream);
464
+ }
465
+ parseSharedStrings(stream) {
466
+ const xform = new SharedStringsXform();
467
+ return xform.parseStream(stream);
468
+ }
469
+ // ===========================================================================
470
+ // Reconcile - shared by all platforms
471
+ // ===========================================================================
472
+ reconcile(model, options) {
473
+ const workbookXform = new WorkbookXform();
474
+ const worksheetXform = new WorkSheetXform(options);
475
+ const drawingXform = new DrawingXform();
476
+ const tableXform = new TableXform();
477
+ workbookXform.reconcile(model);
478
+ // reconcile drawings with their rels
479
+ const drawingOptions = {
480
+ media: model.media,
481
+ mediaIndex: model.mediaIndex
482
+ };
483
+ Object.keys(model.drawings).forEach(name => {
484
+ const drawing = model.drawings[name];
485
+ const drawingRel = model.drawingRels[name];
486
+ if (drawingRel) {
487
+ drawingOptions.rels = drawingRel.reduce((o, rel) => {
488
+ o[rel.Id] = rel;
489
+ return o;
490
+ }, {});
491
+ (drawing.anchors || []).forEach((anchor) => {
492
+ const hyperlinks = anchor.picture && anchor.picture.hyperlinks;
493
+ if (hyperlinks && drawingOptions.rels[hyperlinks.rId]) {
494
+ hyperlinks.hyperlink = drawingOptions.rels[hyperlinks.rId].Target;
495
+ delete hyperlinks.rId;
496
+ }
497
+ });
498
+ drawingXform.reconcile(drawing, drawingOptions);
499
+ }
500
+ });
501
+ // reconcile tables with the default styles
502
+ const tableOptions = {
503
+ styles: model.styles
504
+ };
505
+ Object.values(model.tables).forEach((table) => {
506
+ tableXform.reconcile(table, tableOptions);
507
+ });
508
+ // Reconcile pivot tables
509
+ this._reconcilePivotTables(model);
510
+ const sheetOptions = {
511
+ styles: model.styles,
512
+ sharedStrings: model.sharedStrings,
513
+ media: model.media,
514
+ mediaIndex: model.mediaIndex,
515
+ date1904: model.properties && model.properties.date1904,
516
+ drawings: model.drawings,
517
+ comments: model.comments,
518
+ tables: model.tables,
519
+ vmlDrawings: model.vmlDrawings,
520
+ pivotTables: model.pivotTablesIndexed
521
+ };
522
+ model.worksheets.forEach((worksheet) => {
523
+ worksheet.relationships = model.worksheetRels[worksheet.sheetNo];
524
+ worksheetXform.reconcile(worksheet, sheetOptions);
525
+ });
526
+ // delete unnecessary parts
527
+ delete model.worksheetHash;
528
+ delete model.worksheetRels;
529
+ delete model.globalRels;
530
+ delete model.sharedStrings;
531
+ delete model.workbookRels;
532
+ delete model.sheetDefs;
533
+ delete model.styles;
534
+ delete model.mediaIndex;
535
+ delete model.drawings;
536
+ delete model.drawingRels;
537
+ delete model.vmlDrawings;
538
+ delete model.pivotTableRels;
539
+ delete model.pivotCacheDefinitionRels;
540
+ }
541
+ /**
542
+ * Reconcile pivot tables by linking them to worksheets and their cache data.
543
+ */
544
+ _reconcilePivotTables(model) {
545
+ const rawPivotTables = model.pivotTables || {};
546
+ if (typeof rawPivotTables !== "object" || Object.keys(rawPivotTables).length === 0) {
547
+ model.pivotTables = [];
548
+ model.pivotTablesIndexed = {};
549
+ return;
550
+ }
551
+ const definitionToCacheId = this._buildDefinitionToCacheIdMap(model);
552
+ const cacheMap = new Map();
553
+ Object.entries(model.pivotCacheDefinitions || {}).forEach(([name, definition]) => {
554
+ const cacheId = definitionToCacheId.get(name);
555
+ if (cacheId !== undefined) {
556
+ const recordsName = name.replace("Definition", "Records");
557
+ cacheMap.set(cacheId, {
558
+ definition,
559
+ records: model.pivotCacheRecords?.[recordsName],
560
+ definitionName: name
561
+ });
562
+ }
563
+ });
564
+ const loadedPivotTables = [];
565
+ const pivotTablesIndexed = {};
566
+ Object.entries(rawPivotTables).forEach(([pivotName, pivotTable]) => {
567
+ const pt = pivotTable;
568
+ const tableNumber = this._extractTableNumber(pivotName);
569
+ const cacheData = cacheMap.get(pt.cacheId);
570
+ const completePivotTable = {
571
+ ...pt,
572
+ tableNumber,
573
+ cacheDefinition: cacheData?.definition,
574
+ cacheRecords: cacheData?.records,
575
+ cacheFields: cacheData?.definition?.cacheFields || [],
576
+ rows: pt.rowFields.filter(f => f >= 0),
577
+ columns: pt.colFields.filter(f => f >= 0 && f !== -2),
578
+ values: pt.dataFields.map(df => df.fld),
579
+ metric: this._determineMetric(pt.dataFields),
580
+ applyWidthHeightFormats: pt.applyWidthHeightFormats || "0"
581
+ };
582
+ loadedPivotTables.push(completePivotTable);
583
+ pivotTablesIndexed[pivotTableRelTargetFromWorksheetName(pivotName)] = completePivotTable;
584
+ });
585
+ loadedPivotTables.sort((a, b) => a.tableNumber - b.tableNumber);
586
+ model.pivotTables = loadedPivotTables;
587
+ model.pivotTablesIndexed = pivotTablesIndexed;
588
+ model.loadedPivotTables = loadedPivotTables;
589
+ }
590
+ _extractTableNumber(name) {
591
+ const match = name.match(/pivotTable(\d+)/);
592
+ return match ? parseInt(match[1], 10) : 1;
593
+ }
594
+ _buildCacheIdMap(model) {
595
+ const rIdToCacheId = new Map();
596
+ const pivotCaches = model.pivotCaches || [];
597
+ for (const cache of pivotCaches) {
598
+ if (cache.cacheId && cache.rId) {
599
+ rIdToCacheId.set(cache.rId, parseInt(cache.cacheId, 10));
600
+ }
601
+ }
602
+ return rIdToCacheId;
603
+ }
604
+ _buildDefinitionToCacheIdMap(model) {
605
+ const definitionToCacheId = new Map();
606
+ const rIdToCacheId = this._buildCacheIdMap(model);
607
+ const workbookRels = model.workbookRels || [];
608
+ for (const rel of workbookRels) {
609
+ if (rel.Type === XLSX.RelType.PivotCacheDefinition && rel.Target) {
610
+ const match = rel.Target.match(/pivotCacheDefinition(\d+)\.xml/);
611
+ if (match) {
612
+ const defName = `pivotCacheDefinition${match[1]}`;
613
+ const cacheId = rIdToCacheId.get(rel.Id);
614
+ if (cacheId !== undefined) {
615
+ definitionToCacheId.set(defName, cacheId);
616
+ }
617
+ }
618
+ }
619
+ }
620
+ return definitionToCacheId;
621
+ }
622
+ _determineMetric(dataFields) {
623
+ if (dataFields.length > 0 && dataFields[0].subtotal === "count") {
624
+ return "count";
625
+ }
626
+ return "sum";
627
+ }
628
+ // ===========================================================================
629
+ // Process Entry methods - shared by all platforms
630
+ // ===========================================================================
631
+ async _processWorksheetEntry(stream, model, sheetNo, options, path) {
632
+ const xform = new WorkSheetXform(options);
633
+ const worksheet = await xform.parseStream(stream);
634
+ if (!worksheet) {
635
+ throw new Error(`Failed to parse worksheet ${path}`);
636
+ }
637
+ worksheet.sheetNo = sheetNo;
638
+ model.worksheetHash[path] = worksheet;
639
+ model.worksheets.push(worksheet);
640
+ }
641
+ async _processCommentEntry(stream, model, name) {
642
+ const xform = new CommentsXform();
643
+ const comments = await xform.parseStream(stream);
644
+ model.comments[commentsRelTargetFromWorksheetName(name)] = comments;
645
+ }
646
+ async _processTableEntry(stream, model, name) {
647
+ const xform = new TableXform();
648
+ const table = await xform.parseStream(stream);
649
+ model.tables[tableRelTargetFromWorksheetName(name)] = table;
650
+ }
651
+ async _processWorksheetRelsEntry(stream, model, sheetNo) {
652
+ const xform = new RelationshipsXform();
653
+ const relationships = await xform.parseStream(stream);
654
+ model.worksheetRels[sheetNo] = relationships;
655
+ }
656
+ async _processMediaEntry(stream, model, filename) {
657
+ const lastDot = filename.lastIndexOf(".");
658
+ if (lastDot >= 1) {
659
+ const extension = filename.substr(lastDot + 1);
660
+ const name = filename.substr(0, lastDot);
661
+ await new Promise((resolve, reject) => {
662
+ const streamBuf = this.createStreamBuf();
663
+ const cleanup = () => {
664
+ stream.off("error", onError);
665
+ streamBuf.off("error", onError);
666
+ streamBuf.off("finish", onFinish);
667
+ };
668
+ const onFinish = () => {
669
+ cleanup();
670
+ model.mediaIndex[filename] = model.media.length;
671
+ model.mediaIndex[name] = model.media.length;
672
+ const medium = {
673
+ type: "image",
674
+ name,
675
+ extension,
676
+ buffer: streamBuf.read()
677
+ };
678
+ model.media.push(medium);
679
+ resolve();
680
+ };
681
+ const onError = (error) => {
682
+ cleanup();
683
+ reject(error);
684
+ };
685
+ streamBuf.once("finish", onFinish);
686
+ stream.on("error", onError);
687
+ streamBuf.on("error", onError);
688
+ stream.pipe(streamBuf);
689
+ });
690
+ }
691
+ }
692
+ async _processDrawingEntry(entry, model, name) {
693
+ const xform = new DrawingXform();
694
+ const drawing = await xform.parseStream(entry);
695
+ model.drawings[name] = drawing;
696
+ }
697
+ async _processDrawingRelsEntry(entry, model, name) {
698
+ const xform = new RelationshipsXform();
699
+ const relationships = await xform.parseStream(entry);
700
+ model.drawingRels[name] = relationships;
701
+ }
702
+ async _processVmlDrawingEntry(entry, model, name) {
703
+ const xform = new VmlNotesXform();
704
+ const vmlDrawing = await xform.parseStream(entry);
705
+ model.vmlDrawings[vmlDrawingRelTargetFromWorksheetName(name)] = vmlDrawing;
706
+ }
707
+ async _processThemeEntry(stream, model, name) {
708
+ await new Promise((resolve, reject) => {
709
+ const streamBuf = this.createStreamBuf();
710
+ const cleanup = () => {
711
+ stream.off("error", onError);
712
+ streamBuf.off("error", onError);
713
+ streamBuf.off("finish", onFinish);
714
+ };
715
+ const onFinish = () => {
716
+ cleanup();
717
+ const data = streamBuf.read();
718
+ model.themes[name] = data
719
+ ? typeof data === "string"
720
+ ? data
721
+ : this.bufferToString(data)
722
+ : "";
723
+ resolve();
724
+ };
725
+ const onError = (err) => {
726
+ cleanup();
727
+ reject(err);
728
+ };
729
+ streamBuf.once("finish", onFinish);
730
+ stream.on("error", onError);
731
+ streamBuf.on("error", onError);
732
+ stream.pipe(streamBuf);
733
+ });
734
+ }
735
+ async _processPivotTableEntry(stream, model, name) {
736
+ const xform = new PivotTableXform();
737
+ const pivotTable = await xform.parseStream(stream);
738
+ if (pivotTable) {
739
+ model.pivotTables[name] = pivotTable;
740
+ }
741
+ }
742
+ async _processPivotTableRelsEntry(stream, model, name) {
743
+ const xform = new RelationshipsXform();
744
+ const relationships = await xform.parseStream(stream);
745
+ model.pivotTableRels[name] = relationships;
746
+ }
747
+ async _processPivotCacheDefinitionEntry(stream, model, name) {
748
+ const xform = new PivotCacheDefinitionXform();
749
+ const cacheDefinition = await xform.parseStream(stream);
750
+ if (cacheDefinition) {
751
+ model.pivotCacheDefinitions[name] = cacheDefinition;
752
+ }
753
+ }
754
+ async _processPivotCacheDefinitionRelsEntry(stream, model, name) {
755
+ const xform = new RelationshipsXform();
756
+ const relationships = await xform.parseStream(stream);
757
+ model.pivotCacheDefinitionRels[name] = relationships;
758
+ }
759
+ async _processPivotCacheRecordsEntry(stream, model, name) {
760
+ const xform = new PivotCacheRecordsXform();
761
+ const cacheRecords = await xform.parseStream(stream);
762
+ if (cacheRecords) {
763
+ model.pivotCacheRecords[name] = cacheRecords;
764
+ }
765
+ }
766
+ // ===========================================================================
767
+ // loadFromFiles - shared logic for loading from pre-extracted ZIP data
768
+ // ===========================================================================
769
+ async loadFromFiles(zipData, options) {
770
+ const model = {
771
+ worksheets: [],
772
+ worksheetHash: {},
773
+ worksheetRels: [],
774
+ themes: {},
775
+ media: [],
776
+ mediaIndex: {},
777
+ drawings: {},
778
+ drawingRels: {},
779
+ comments: {},
780
+ tables: {},
781
+ vmlDrawings: {},
782
+ pivotTables: {},
783
+ pivotTableRels: {},
784
+ pivotCacheDefinitions: {},
785
+ pivotCacheDefinitionRels: {},
786
+ pivotCacheRecords: {}
787
+ };
788
+ const entries = Object.keys(zipData).map(name => ({
789
+ name,
790
+ dir: name.endsWith("/"),
791
+ data: zipData[name]
792
+ }));
793
+ for (const entry of entries) {
794
+ if (!entry.dir) {
795
+ const entryName = normalizeZipPath(entry.name);
796
+ // Create appropriate stream based on entry type
797
+ const isBinaryEntry = isBinaryEntryPath(entryName);
798
+ const stream = isBinaryEntry
799
+ ? this.createBinaryStream(entry.data)
800
+ : this.createTextStream(this.bufferToString(entry.data));
801
+ const sheetNo = getWorksheetNoFromWorksheetPath(entryName);
802
+ if (sheetNo !== undefined) {
803
+ await this._processWorksheetEntry(stream, model, sheetNo, options, entryName);
804
+ }
805
+ else {
806
+ switch (entryName) {
807
+ case OOXML_PATHS.rootRels:
808
+ model.globalRels = await this.parseRels(stream);
809
+ break;
810
+ case OOXML_PATHS.xlWorkbook: {
811
+ const workbook = await this.parseWorkbook(stream);
812
+ model.sheets = workbook.sheets;
813
+ model.definedNames = workbook.definedNames;
814
+ model.views = workbook.views;
815
+ model.properties = workbook.properties;
816
+ model.calcProperties = workbook.calcProperties;
817
+ model.pivotCaches = workbook.pivotCaches;
818
+ break;
819
+ }
820
+ case OOXML_PATHS.xlSharedStrings:
821
+ model.sharedStrings = new SharedStringsXform();
822
+ await model.sharedStrings.parseStream(stream);
823
+ break;
824
+ case OOXML_PATHS.xlWorkbookRels:
825
+ model.workbookRels = await this.parseRels(stream);
826
+ break;
827
+ case OOXML_PATHS.docPropsApp: {
828
+ const appXform = new AppXform();
829
+ const appProperties = await appXform.parseStream(stream);
830
+ model.company = appProperties.company;
831
+ model.manager = appProperties.manager;
832
+ break;
833
+ }
834
+ case OOXML_PATHS.docPropsCore: {
835
+ const coreXform = new CoreXform();
836
+ const coreProperties = await coreXform.parseStream(stream);
837
+ Object.assign(model, coreProperties);
838
+ break;
839
+ }
840
+ case OOXML_PATHS.xlStyles:
841
+ model.styles = new StylesXform();
842
+ await model.styles.parseStream(stream);
843
+ break;
844
+ default:
845
+ await this._processDefaultEntry(stream, model, entryName);
846
+ }
847
+ }
848
+ }
849
+ }
850
+ this.reconcile(model, options);
851
+ this.workbook.model = model;
852
+ return this.workbook;
853
+ }
854
+ /**
855
+ * Process default entries (drawings, comments, tables, etc.)
856
+ */
857
+ async _processDefaultEntry(stream, model, entryName) {
858
+ const worksheetRelsSheetNo = getWorksheetNoFromWorksheetRelsPath(entryName);
859
+ if (worksheetRelsSheetNo !== undefined) {
860
+ const sheetNo = worksheetRelsSheetNo;
861
+ await this._processWorksheetRelsEntry(stream, model, sheetNo);
862
+ return true;
863
+ }
864
+ const mediaFilename = getMediaFilenameFromPath(entryName);
865
+ if (mediaFilename) {
866
+ await this._processMediaEntry(stream, model, mediaFilename);
867
+ return true;
868
+ }
869
+ const drawingName = getDrawingNameFromPath(entryName);
870
+ if (drawingName) {
871
+ await this._processDrawingEntry(stream, model, drawingName);
872
+ return true;
873
+ }
874
+ const drawingRelsName = getDrawingNameFromRelsPath(entryName);
875
+ if (drawingRelsName) {
876
+ await this._processDrawingRelsEntry(stream, model, drawingRelsName);
877
+ return true;
878
+ }
879
+ const vmlDrawingName = getVmlDrawingNameFromPath(entryName);
880
+ if (vmlDrawingName) {
881
+ await this._processVmlDrawingEntry(stream, model, vmlDrawingName);
882
+ return true;
883
+ }
884
+ const commentsIndex = getCommentsIndexFromPath(entryName);
885
+ if (commentsIndex) {
886
+ await this._processCommentEntry(stream, model, `comments${commentsIndex}`);
887
+ return true;
888
+ }
889
+ const tableName = getTableNameFromPath(entryName);
890
+ if (tableName) {
891
+ await this._processTableEntry(stream, model, tableName);
892
+ return true;
893
+ }
894
+ const themeName = getThemeNameFromPath(entryName);
895
+ if (themeName) {
896
+ await this._processThemeEntry(stream, model, themeName);
897
+ return true;
898
+ }
899
+ // Pivot table files
900
+ const pivotTableName = getPivotTableNameFromPath(entryName);
901
+ if (pivotTableName) {
902
+ await this._processPivotTableEntry(stream, model, pivotTableName);
903
+ return true;
904
+ }
905
+ const pivotTableRelsName = getPivotTableNameFromRelsPath(entryName);
906
+ if (pivotTableRelsName) {
907
+ await this._processPivotTableRelsEntry(stream, model, pivotTableRelsName);
908
+ return true;
909
+ }
910
+ // Pivot cache files
911
+ const pivotCacheDefinitionName = getPivotCacheDefinitionNameFromPath(entryName);
912
+ if (pivotCacheDefinitionName) {
913
+ await this._processPivotCacheDefinitionEntry(stream, model, pivotCacheDefinitionName);
914
+ return true;
915
+ }
916
+ const pivotCacheDefinitionRelsName = getPivotCacheDefinitionNameFromRelsPath(entryName);
917
+ if (pivotCacheDefinitionRelsName) {
918
+ await this._processPivotCacheDefinitionRelsEntry(stream, model, pivotCacheDefinitionRelsName);
919
+ return true;
920
+ }
921
+ const pivotCacheRecordsName = getPivotCacheRecordsNameFromPath(entryName);
922
+ if (pivotCacheRecordsName) {
923
+ await this._processPivotCacheRecordsEntry(stream, model, pivotCacheRecordsName);
924
+ return true;
925
+ }
926
+ return false;
927
+ }
928
+ // ===========================================================================
929
+ // Write methods - shared by all platforms
930
+ // ===========================================================================
931
+ async addContentTypes(zip, model) {
932
+ const xform = new ContentTypesXform();
933
+ const xml = xform.toXml(model);
934
+ zip.append(xml, { name: OOXML_PATHS.contentTypes });
935
+ }
936
+ async addApp(zip, model) {
937
+ const xform = new AppXform();
938
+ const xml = xform.toXml(model);
939
+ zip.append(xml, { name: OOXML_PATHS.docPropsApp });
940
+ }
941
+ async addCore(zip, model) {
942
+ const xform = new CoreXform();
943
+ zip.append(xform.toXml(model), { name: OOXML_PATHS.docPropsCore });
944
+ }
945
+ async addThemes(zip, model) {
946
+ const themes = model.themes || { theme1: theme1Xml };
947
+ Object.keys(themes).forEach(name => {
948
+ const xml = themes[name];
949
+ zip.append(xml, { name: themePath(name) });
950
+ });
951
+ }
952
+ async addOfficeRels(zip, _model) {
953
+ const xform = new RelationshipsXform();
954
+ const xml = xform.toXml([
955
+ { Id: "rId1", Type: XLSX.RelType.OfficeDocument, Target: OOXML_PATHS.xlWorkbook },
956
+ { Id: "rId2", Type: XLSX.RelType.CoreProperties, Target: OOXML_PATHS.docPropsCore },
957
+ { Id: "rId3", Type: XLSX.RelType.ExtenderProperties, Target: OOXML_PATHS.docPropsApp }
958
+ ]);
959
+ zip.append(xml, { name: OOXML_PATHS.rootRels });
960
+ }
961
+ async addWorkbookRels(zip, model) {
962
+ let count = 1;
963
+ const relationships = [
964
+ { Id: `rId${count++}`, Type: XLSX.RelType.Styles, Target: OOXML_REL_TARGETS.workbookStyles },
965
+ { Id: `rId${count++}`, Type: XLSX.RelType.Theme, Target: OOXML_REL_TARGETS.workbookTheme1 }
966
+ ];
967
+ if (model.sharedStrings.count) {
968
+ relationships.push({
969
+ Id: `rId${count++}`,
970
+ Type: XLSX.RelType.SharedStrings,
971
+ Target: OOXML_REL_TARGETS.workbookSharedStrings
972
+ });
973
+ }
974
+ (model.pivotTables || []).forEach((pivotTable) => {
975
+ pivotTable.rId = `rId${count++}`;
976
+ relationships.push({
977
+ Id: pivotTable.rId,
978
+ Type: XLSX.RelType.PivotCacheDefinition,
979
+ Target: pivotCacheDefinitionRelTargetFromWorkbook(pivotTable.tableNumber)
980
+ });
981
+ });
982
+ model.worksheets.forEach((worksheet, index) => {
983
+ worksheet.rId = `rId${count++}`;
984
+ worksheet.fileIndex = index + 1;
985
+ relationships.push({
986
+ Id: worksheet.rId,
987
+ Type: XLSX.RelType.Worksheet,
988
+ Target: `worksheets/sheet${worksheet.fileIndex}.xml`
989
+ });
990
+ });
991
+ const xform = new RelationshipsXform();
992
+ const xml = xform.toXml(relationships);
993
+ zip.append(xml, { name: OOXML_PATHS.xlWorkbookRels });
994
+ }
995
+ async addSharedStrings(zip, model) {
996
+ if (model.sharedStrings && model.sharedStrings.count) {
997
+ zip.append(model.sharedStrings.xml, { name: OOXML_PATHS.xlSharedStrings });
998
+ }
999
+ }
1000
+ async addStyles(zip, model) {
1001
+ const { xml } = model.styles;
1002
+ if (xml) {
1003
+ zip.append(xml, { name: OOXML_PATHS.xlStyles });
1004
+ }
1005
+ }
1006
+ async addWorkbook(zip, model) {
1007
+ const xform = new WorkbookXform();
1008
+ zip.append(xform.toXml(model), { name: OOXML_PATHS.xlWorkbook });
1009
+ }
1010
+ async addWorksheets(zip, model) {
1011
+ const worksheetXform = new WorkSheetXform();
1012
+ const relationshipsXform = new RelationshipsXform();
1013
+ const commentsXform = new CommentsXform();
1014
+ const vmlNotesXform = new VmlNotesXform();
1015
+ model.worksheets.forEach((worksheet, index) => {
1016
+ const fileIndex = worksheet.fileIndex || index + 1;
1017
+ let xmlStream = new XmlStream();
1018
+ worksheetXform.render(xmlStream, worksheet);
1019
+ zip.append(xmlStream.xml, { name: worksheetPath(fileIndex) });
1020
+ if (worksheet.rels && worksheet.rels.length) {
1021
+ xmlStream = new XmlStream();
1022
+ relationshipsXform.render(xmlStream, worksheet.rels);
1023
+ zip.append(xmlStream.xml, { name: worksheetRelsPath(fileIndex) });
1024
+ }
1025
+ if (worksheet.comments.length > 0) {
1026
+ xmlStream = new XmlStream();
1027
+ commentsXform.render(xmlStream, worksheet);
1028
+ zip.append(xmlStream.xml, { name: commentsPath(fileIndex) });
1029
+ xmlStream = new XmlStream();
1030
+ vmlNotesXform.render(xmlStream, worksheet);
1031
+ zip.append(xmlStream.xml, { name: vmlDrawingPath(fileIndex) });
1032
+ }
1033
+ });
1034
+ }
1035
+ addDrawings(zip, model) {
1036
+ const drawingXform = new DrawingXform();
1037
+ const relsXform = new RelationshipsXform();
1038
+ model.worksheets.forEach((worksheet) => {
1039
+ const { drawing } = worksheet;
1040
+ if (drawing) {
1041
+ drawingXform.prepare(drawing);
1042
+ let xml = drawingXform.toXml(drawing);
1043
+ zip.append(xml, { name: drawingPath(drawing.name) });
1044
+ xml = relsXform.toXml(drawing.rels);
1045
+ zip.append(xml, { name: drawingRelsPath(drawing.name) });
1046
+ }
1047
+ });
1048
+ }
1049
+ addTables(zip, model) {
1050
+ const tableXform = new TableXform();
1051
+ model.worksheets.forEach((worksheet) => {
1052
+ const { tables } = worksheet;
1053
+ tables.forEach((table) => {
1054
+ tableXform.prepare(table, {});
1055
+ const tableXml = tableXform.toXml(table);
1056
+ zip.append(tableXml, { name: tablePath(table.target) });
1057
+ });
1058
+ });
1059
+ }
1060
+ addPivotTables(zip, model) {
1061
+ if (!model.pivotTables.length) {
1062
+ return;
1063
+ }
1064
+ const pivotCacheRecordsXform = new PivotCacheRecordsXform();
1065
+ const pivotCacheDefinitionXform = new PivotCacheDefinitionXform();
1066
+ const pivotTableXform = new PivotTableXform();
1067
+ const relsXform = new RelationshipsXform();
1068
+ model.pivotTables.forEach((pivotTable) => {
1069
+ const n = pivotTable.tableNumber;
1070
+ const isLoaded = pivotTable.isLoaded;
1071
+ if (isLoaded) {
1072
+ if (pivotTable.cacheDefinition) {
1073
+ const xml = pivotCacheDefinitionXform.toXml(pivotTable.cacheDefinition);
1074
+ zip.append(xml, { name: pivotCacheDefinitionPath(n) });
1075
+ }
1076
+ if (pivotTable.cacheRecords) {
1077
+ const xml = pivotCacheRecordsXform.toXml(pivotTable.cacheRecords);
1078
+ zip.append(xml, { name: pivotCacheRecordsPath(n) });
1079
+ }
1080
+ }
1081
+ else {
1082
+ let xml = pivotCacheRecordsXform.toXml(pivotTable);
1083
+ zip.append(xml, { name: pivotCacheRecordsPath(n) });
1084
+ xml = pivotCacheDefinitionXform.toXml(pivotTable);
1085
+ zip.append(xml, { name: pivotCacheDefinitionPath(n) });
1086
+ }
1087
+ let xml = relsXform.toXml([
1088
+ {
1089
+ Id: "rId1",
1090
+ Type: XLSX.RelType.PivotCacheRecords,
1091
+ Target: pivotCacheRecordsRelTarget(n)
1092
+ }
1093
+ ]);
1094
+ zip.append(xml, { name: pivotCacheDefinitionRelsPath(n) });
1095
+ xml = pivotTableXform.toXml(pivotTable);
1096
+ zip.append(xml, { name: pivotTablePath(n) });
1097
+ xml = relsXform.toXml([
1098
+ {
1099
+ Id: "rId1",
1100
+ Type: XLSX.RelType.PivotCacheDefinition,
1101
+ Target: pivotCacheDefinitionRelTargetFromPivotTable(n)
1102
+ }
1103
+ ]);
1104
+ zip.append(xml, { name: pivotTableRelsPath(n) });
1105
+ });
1106
+ }
1107
+ _finalize(zip) {
1108
+ return new Promise((resolve, reject) => {
1109
+ zip.on("finish", () => {
1110
+ resolve(this);
1111
+ });
1112
+ zip.on("error", reject);
1113
+ zip.finalize();
1114
+ });
1115
+ }
1116
+ prepareModel(model, options) {
1117
+ model.creator = model.creator || "ExcelTS";
1118
+ model.lastModifiedBy = model.lastModifiedBy || "ExcelTS";
1119
+ model.created = model.created || new Date();
1120
+ model.modified = model.modified || new Date();
1121
+ model.useSharedStrings =
1122
+ options.useSharedStrings !== undefined ? options.useSharedStrings : true;
1123
+ model.useStyles = options.useStyles !== undefined ? options.useStyles : true;
1124
+ model.sharedStrings = new SharedStringsXform();
1125
+ model.styles = model.useStyles ? new StylesXform(true) : new StylesXform.Mock();
1126
+ const workbookXform = new WorkbookXform();
1127
+ const worksheetXform = new WorkSheetXform();
1128
+ workbookXform.prepare(model);
1129
+ const worksheetOptions = {
1130
+ sharedStrings: model.sharedStrings,
1131
+ styles: model.styles,
1132
+ date1904: model.properties.date1904,
1133
+ drawingsCount: 0,
1134
+ media: model.media
1135
+ };
1136
+ worksheetOptions.drawings = model.drawings = [];
1137
+ worksheetOptions.commentRefs = model.commentRefs = [];
1138
+ let tableCount = 0;
1139
+ model.tables = [];
1140
+ model.worksheets.forEach((worksheet) => {
1141
+ worksheet.tables.forEach((table) => {
1142
+ tableCount++;
1143
+ table.target = `table${tableCount}.xml`;
1144
+ table.id = tableCount;
1145
+ model.tables.push(table);
1146
+ });
1147
+ worksheetXform.prepare(worksheet, worksheetOptions);
1148
+ });
1149
+ }
1150
+ }
1151
+ XLSX.RelType = RelType;
1152
+ export { XLSX };