@cj-tech-master/excelts 4.0.0 → 4.0.1-canary.20260104072032.0453bbe

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 (633) hide show
  1. package/README.md +2 -2
  2. package/README_zh.md +2 -2
  3. package/dist/browser/index.browser.d.ts +25 -0
  4. package/dist/browser/index.browser.js +40 -0
  5. package/dist/browser/index.d.ts +23 -0
  6. package/dist/browser/index.js +35 -0
  7. package/dist/browser/modules/archive/byte-queue.d.ts +18 -0
  8. package/dist/browser/modules/archive/byte-queue.js +125 -0
  9. package/dist/browser/modules/archive/compress.base.d.ts +98 -0
  10. package/dist/browser/modules/archive/compress.base.js +173 -0
  11. package/dist/browser/modules/archive/compress.browser.d.ts +57 -0
  12. package/dist/browser/modules/archive/compress.browser.js +93 -0
  13. package/dist/browser/modules/archive/compress.d.ts +44 -0
  14. package/dist/browser/modules/archive/compress.js +86 -0
  15. package/dist/browser/modules/archive/crc32.base.d.ts +25 -0
  16. package/dist/browser/modules/archive/crc32.base.js +51 -0
  17. package/dist/browser/modules/archive/crc32.browser.d.ts +30 -0
  18. package/dist/browser/modules/archive/crc32.browser.js +32 -0
  19. package/dist/browser/modules/archive/crc32.d.ts +59 -0
  20. package/dist/browser/modules/archive/crc32.js +97 -0
  21. package/dist/browser/modules/archive/defaults.d.ts +4 -0
  22. package/dist/browser/modules/archive/defaults.js +3 -0
  23. package/dist/browser/modules/archive/deflate-fallback.d.ts +39 -0
  24. package/dist/browser/modules/archive/deflate-fallback.js +564 -0
  25. package/dist/browser/modules/archive/extract.d.ts +94 -0
  26. package/dist/browser/modules/archive/extract.js +106 -0
  27. package/dist/browser/modules/archive/index.base.d.ts +11 -0
  28. package/dist/browser/modules/archive/index.base.js +13 -0
  29. package/dist/browser/modules/archive/index.browser.d.ts +11 -0
  30. package/dist/browser/modules/archive/index.browser.js +17 -0
  31. package/dist/browser/modules/archive/index.d.ts +11 -0
  32. package/dist/browser/modules/archive/index.js +15 -0
  33. package/dist/browser/modules/archive/parse.base.d.ts +198 -0
  34. package/dist/browser/modules/archive/parse.base.js +610 -0
  35. package/dist/browser/modules/archive/parse.browser.d.ts +22 -0
  36. package/dist/browser/modules/archive/parse.browser.js +564 -0
  37. package/dist/browser/modules/archive/parse.d.ts +16 -0
  38. package/dist/browser/modules/archive/parse.js +94 -0
  39. package/dist/browser/modules/archive/streaming-compress.base.d.ts +36 -0
  40. package/dist/browser/modules/archive/streaming-compress.base.js +9 -0
  41. package/dist/browser/modules/archive/streaming-compress.browser.d.ts +26 -0
  42. package/dist/browser/modules/archive/streaming-compress.browser.js +296 -0
  43. package/dist/browser/modules/archive/streaming-compress.d.ts +22 -0
  44. package/dist/browser/modules/archive/streaming-compress.js +68 -0
  45. package/dist/browser/modules/archive/streaming-zip.d.ts +120 -0
  46. package/dist/browser/modules/archive/streaming-zip.js +407 -0
  47. package/dist/browser/modules/archive/utils/binary.d.ts +24 -0
  48. package/dist/browser/modules/archive/utils/binary.js +69 -0
  49. package/dist/browser/modules/archive/utils/bytes.d.ts +7 -0
  50. package/dist/browser/modules/archive/utils/bytes.js +101 -0
  51. package/dist/browser/modules/archive/utils/parse-buffer.d.ts +18 -0
  52. package/dist/browser/modules/archive/utils/parse-buffer.js +55 -0
  53. package/dist/browser/modules/archive/utils/text.d.ts +20 -0
  54. package/dist/browser/modules/archive/utils/text.js +33 -0
  55. package/dist/browser/modules/archive/utils/timestamps.d.ts +28 -0
  56. package/dist/browser/modules/archive/utils/timestamps.js +48 -0
  57. package/dist/browser/modules/archive/utils/zip-extra-fields.d.ts +19 -0
  58. package/dist/browser/modules/archive/utils/zip-extra-fields.js +72 -0
  59. package/dist/browser/modules/archive/utils/zip-extra.d.ts +18 -0
  60. package/dist/browser/modules/archive/utils/zip-extra.js +68 -0
  61. package/dist/browser/modules/archive/zip-builder.d.ts +117 -0
  62. package/dist/browser/modules/archive/zip-builder.js +292 -0
  63. package/dist/browser/modules/archive/zip-constants.d.ts +18 -0
  64. package/dist/browser/modules/archive/zip-constants.js +23 -0
  65. package/dist/browser/modules/archive/zip-entry-info.d.ts +29 -0
  66. package/dist/browser/modules/archive/zip-entry-info.js +6 -0
  67. package/dist/browser/modules/archive/zip-entry-metadata.d.ts +23 -0
  68. package/dist/browser/modules/archive/zip-entry-metadata.js +24 -0
  69. package/dist/browser/modules/archive/zip-parser.d.ts +62 -0
  70. package/dist/browser/modules/archive/zip-parser.js +332 -0
  71. package/dist/browser/modules/archive/zip-records.d.ts +43 -0
  72. package/dist/browser/modules/archive/zip-records.js +84 -0
  73. package/dist/browser/modules/csv/csv-core.d.ts +215 -0
  74. package/dist/browser/modules/csv/csv-core.js +723 -0
  75. package/dist/browser/modules/csv/csv-number.d.ts +3 -0
  76. package/dist/browser/modules/csv/csv-number.js +20 -0
  77. package/dist/browser/modules/csv/csv-stream.d.ts +121 -0
  78. package/dist/browser/modules/csv/csv-stream.js +703 -0
  79. package/dist/browser/modules/csv/csv.browser.d.ts +60 -0
  80. package/dist/browser/modules/csv/csv.browser.js +265 -0
  81. package/dist/browser/modules/csv/csv.d.ts +14 -0
  82. package/dist/browser/modules/csv/csv.js +29 -0
  83. package/dist/browser/modules/excel/anchor.d.ts +33 -0
  84. package/dist/browser/modules/excel/anchor.js +97 -0
  85. package/dist/browser/modules/excel/cell.d.ts +138 -0
  86. package/dist/browser/modules/excel/cell.js +946 -0
  87. package/dist/browser/modules/excel/column.d.ts +122 -0
  88. package/dist/browser/modules/excel/column.js +358 -0
  89. package/dist/browser/modules/excel/data-validations.d.ts +11 -0
  90. package/dist/browser/modules/excel/data-validations.js +43 -0
  91. package/dist/browser/modules/excel/defined-names.d.ts +37 -0
  92. package/dist/browser/modules/excel/defined-names.js +214 -0
  93. package/dist/browser/modules/excel/enums.d.ts +62 -0
  94. package/dist/browser/modules/excel/enums.js +58 -0
  95. package/dist/browser/modules/excel/image.d.ts +64 -0
  96. package/dist/browser/modules/excel/image.js +60 -0
  97. package/dist/browser/modules/excel/note.d.ts +29 -0
  98. package/dist/browser/modules/excel/note.js +61 -0
  99. package/dist/browser/modules/excel/pivot-table.d.ts +152 -0
  100. package/dist/browser/modules/excel/pivot-table.js +237 -0
  101. package/dist/browser/modules/excel/range.d.ts +62 -0
  102. package/dist/browser/modules/excel/range.js +280 -0
  103. package/dist/browser/modules/excel/row.d.ts +127 -0
  104. package/dist/browser/modules/excel/row.js +441 -0
  105. package/dist/browser/modules/excel/stream/hyperlink-reader.d.ts +33 -0
  106. package/dist/browser/modules/excel/stream/hyperlink-reader.js +84 -0
  107. package/dist/browser/modules/excel/stream/sheet-comments-writer.d.ts +26 -0
  108. package/dist/browser/modules/excel/stream/sheet-comments-writer.js +101 -0
  109. package/dist/browser/modules/excel/stream/sheet-rels-writer.d.ts +45 -0
  110. package/dist/browser/modules/excel/stream/sheet-rels-writer.js +91 -0
  111. package/dist/browser/modules/excel/stream/workbook-reader.browser.d.ts +169 -0
  112. package/dist/browser/modules/excel/stream/workbook-reader.browser.js +443 -0
  113. package/dist/browser/modules/excel/stream/workbook-reader.d.ts +24 -0
  114. package/dist/browser/modules/excel/stream/workbook-reader.js +50 -0
  115. package/dist/browser/modules/excel/stream/workbook-writer.browser.d.ts +147 -0
  116. package/dist/browser/modules/excel/stream/workbook-writer.browser.js +356 -0
  117. package/dist/browser/modules/excel/stream/workbook-writer.d.ts +31 -0
  118. package/dist/browser/modules/excel/stream/workbook-writer.js +52 -0
  119. package/dist/browser/modules/excel/stream/worksheet-reader.d.ts +61 -0
  120. package/dist/browser/modules/excel/stream/worksheet-reader.js +367 -0
  121. package/dist/browser/modules/excel/stream/worksheet-writer.d.ts +140 -0
  122. package/dist/browser/modules/excel/stream/worksheet-writer.js +613 -0
  123. package/dist/browser/modules/excel/table.d.ts +81 -0
  124. package/dist/browser/modules/excel/table.js +412 -0
  125. package/dist/browser/modules/excel/types.d.ts +518 -0
  126. package/dist/browser/modules/excel/types.js +22 -0
  127. package/dist/browser/modules/excel/utils/cell-format.d.ts +32 -0
  128. package/dist/browser/modules/excel/utils/cell-format.js +814 -0
  129. package/dist/browser/modules/excel/utils/cell-matrix.d.ts +37 -0
  130. package/dist/browser/modules/excel/utils/cell-matrix.js +180 -0
  131. package/dist/browser/modules/excel/utils/col-cache.d.ts +36 -0
  132. package/dist/browser/modules/excel/utils/col-cache.js +278 -0
  133. package/dist/browser/modules/excel/utils/copy-style.d.ts +5 -0
  134. package/dist/browser/modules/excel/utils/copy-style.js +43 -0
  135. package/dist/browser/modules/excel/utils/encryptor.browser.d.ts +19 -0
  136. package/dist/browser/modules/excel/utils/encryptor.browser.js +46 -0
  137. package/dist/browser/modules/excel/utils/encryptor.d.ts +9 -0
  138. package/dist/browser/modules/excel/utils/encryptor.js +35 -0
  139. package/dist/browser/modules/excel/utils/iterate-stream.d.ts +14 -0
  140. package/dist/browser/modules/excel/utils/iterate-stream.js +55 -0
  141. package/dist/browser/modules/excel/utils/ooxml-paths.d.ts +64 -0
  142. package/dist/browser/modules/excel/utils/ooxml-paths.js +209 -0
  143. package/dist/browser/modules/excel/utils/parse-sax.d.ts +113 -0
  144. package/dist/browser/modules/excel/utils/parse-sax.js +1206 -0
  145. package/dist/browser/modules/excel/utils/shared-formula.d.ts +2 -0
  146. package/dist/browser/modules/excel/utils/shared-formula.js +36 -0
  147. package/dist/browser/modules/excel/utils/shared-strings.d.ts +12 -0
  148. package/dist/browser/modules/excel/utils/shared-strings.js +29 -0
  149. package/dist/browser/modules/excel/utils/sheet-utils.d.ts +190 -0
  150. package/dist/browser/modules/excel/utils/sheet-utils.js +674 -0
  151. package/dist/browser/modules/excel/utils/stream-buf.d.ts +126 -0
  152. package/dist/browser/modules/excel/utils/stream-buf.js +452 -0
  153. package/dist/browser/modules/excel/utils/string-buf.d.ts +29 -0
  154. package/dist/browser/modules/excel/utils/string-buf.js +75 -0
  155. package/dist/browser/modules/excel/utils/under-dash.d.ts +7 -0
  156. package/dist/browser/modules/excel/utils/under-dash.js +166 -0
  157. package/dist/browser/modules/excel/utils/xml-stream.d.ts +34 -0
  158. package/dist/browser/modules/excel/utils/xml-stream.js +179 -0
  159. package/dist/browser/modules/excel/workbook.d.ts +195 -0
  160. package/dist/browser/modules/excel/workbook.js +314 -0
  161. package/dist/browser/modules/excel/worksheet.d.ts +333 -0
  162. package/dist/browser/modules/excel/worksheet.js +924 -0
  163. package/dist/browser/modules/excel/xlsx/defaultnumformats.d.ts +12 -0
  164. package/dist/browser/modules/excel/xlsx/defaultnumformats.js +149 -0
  165. package/dist/browser/modules/excel/xlsx/rel-type.d.ts +19 -0
  166. package/dist/browser/modules/excel/xlsx/rel-type.js +19 -0
  167. package/dist/browser/modules/excel/xlsx/xform/base-xform.d.ts +33 -0
  168. package/dist/browser/modules/excel/xlsx/xform/base-xform.js +135 -0
  169. package/dist/browser/modules/excel/xlsx/xform/book/defined-name-xform.d.ts +17 -0
  170. package/dist/browser/modules/excel/xlsx/xform/book/defined-name-xform.js +124 -0
  171. package/dist/browser/modules/excel/xlsx/xform/book/sheet-xform.d.ts +14 -0
  172. package/dist/browser/modules/excel/xlsx/xform/book/sheet-xform.js +30 -0
  173. package/dist/browser/modules/excel/xlsx/xform/book/workbook-calc-properties-xform.d.ts +11 -0
  174. package/dist/browser/modules/excel/xlsx/xform/book/workbook-calc-properties-xform.js +21 -0
  175. package/dist/browser/modules/excel/xlsx/xform/book/workbook-pivot-cache-xform.d.ts +12 -0
  176. package/dist/browser/modules/excel/xlsx/xform/book/workbook-pivot-cache-xform.js +24 -0
  177. package/dist/browser/modules/excel/xlsx/xform/book/workbook-properties-xform.d.ts +11 -0
  178. package/dist/browser/modules/excel/xlsx/xform/book/workbook-properties-xform.js +24 -0
  179. package/dist/browser/modules/excel/xlsx/xform/book/workbook-view-xform.d.ts +17 -0
  180. package/dist/browser/modules/excel/xlsx/xform/book/workbook-view-xform.js +46 -0
  181. package/dist/browser/modules/excel/xlsx/xform/book/workbook-xform.d.ts +23 -0
  182. package/dist/browser/modules/excel/xlsx/xform/book/workbook-xform.js +234 -0
  183. package/dist/browser/modules/excel/xlsx/xform/comment/comment-xform.d.ts +28 -0
  184. package/dist/browser/modules/excel/xlsx/xform/comment/comment-xform.js +76 -0
  185. package/dist/browser/modules/excel/xlsx/xform/comment/comments-xform.d.ts +21 -0
  186. package/dist/browser/modules/excel/xlsx/xform/comment/comments-xform.js +72 -0
  187. package/dist/browser/modules/excel/xlsx/xform/comment/style/vml-position-xform.d.ts +16 -0
  188. package/dist/browser/modules/excel/xlsx/xform/comment/style/vml-position-xform.js +34 -0
  189. package/dist/browser/modules/excel/xlsx/xform/comment/style/vml-protection-xform.d.ts +14 -0
  190. package/dist/browser/modules/excel/xlsx/xform/comment/style/vml-protection-xform.js +30 -0
  191. package/dist/browser/modules/excel/xlsx/xform/comment/vml-anchor-xform.d.ts +27 -0
  192. package/dist/browser/modules/excel/xlsx/xform/comment/vml-anchor-xform.js +55 -0
  193. package/dist/browser/modules/excel/xlsx/xform/comment/vml-client-data-xform.d.ts +35 -0
  194. package/dist/browser/modules/excel/xlsx/xform/comment/vml-client-data-xform.js +82 -0
  195. package/dist/browser/modules/excel/xlsx/xform/comment/vml-notes-xform.d.ts +24 -0
  196. package/dist/browser/modules/excel/xlsx/xform/comment/vml-notes-xform.js +96 -0
  197. package/dist/browser/modules/excel/xlsx/xform/comment/vml-shape-xform.d.ts +25 -0
  198. package/dist/browser/modules/excel/xlsx/xform/comment/vml-shape-xform.js +83 -0
  199. package/dist/browser/modules/excel/xlsx/xform/comment/vml-textbox-xform.d.ts +23 -0
  200. package/dist/browser/modules/excel/xlsx/xform/comment/vml-textbox-xform.js +60 -0
  201. package/dist/browser/modules/excel/xlsx/xform/composite-xform.d.ts +11 -0
  202. package/dist/browser/modules/excel/xlsx/xform/composite-xform.js +48 -0
  203. package/dist/browser/modules/excel/xlsx/xform/core/app-heading-pairs-xform.d.ts +8 -0
  204. package/dist/browser/modules/excel/xlsx/xform/core/app-heading-pairs-xform.js +24 -0
  205. package/dist/browser/modules/excel/xlsx/xform/core/app-titles-of-parts-xform.d.ts +8 -0
  206. package/dist/browser/modules/excel/xlsx/xform/core/app-titles-of-parts-xform.js +21 -0
  207. package/dist/browser/modules/excel/xlsx/xform/core/app-xform.d.ts +26 -0
  208. package/dist/browser/modules/excel/xlsx/xform/core/app-xform.js +83 -0
  209. package/dist/browser/modules/excel/xlsx/xform/core/content-types-xform.d.ts +11 -0
  210. package/dist/browser/modules/excel/xlsx/xform/core/content-types-xform.js +122 -0
  211. package/dist/browser/modules/excel/xlsx/xform/core/core-xform.d.ts +42 -0
  212. package/dist/browser/modules/excel/xlsx/xform/core/core-xform.js +124 -0
  213. package/dist/browser/modules/excel/xlsx/xform/core/relationship-xform.d.ts +14 -0
  214. package/dist/browser/modules/excel/xlsx/xform/core/relationship-xform.js +20 -0
  215. package/dist/browser/modules/excel/xlsx/xform/core/relationships-xform.d.ts +14 -0
  216. package/dist/browser/modules/excel/xlsx/xform/core/relationships-xform.js +62 -0
  217. package/dist/browser/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.d.ts +13 -0
  218. package/dist/browser/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.js +44 -0
  219. package/dist/browser/modules/excel/xlsx/xform/drawing/blip-fill-xform.d.ts +16 -0
  220. package/dist/browser/modules/excel/xlsx/xform/drawing/blip-fill-xform.js +57 -0
  221. package/dist/browser/modules/excel/xlsx/xform/drawing/blip-xform.d.ts +14 -0
  222. package/dist/browser/modules/excel/xlsx/xform/drawing/blip-xform.js +40 -0
  223. package/dist/browser/modules/excel/xlsx/xform/drawing/c-nv-pic-pr-xform.d.ts +9 -0
  224. package/dist/browser/modules/excel/xlsx/xform/drawing/c-nv-pic-pr-xform.js +32 -0
  225. package/dist/browser/modules/excel/xlsx/xform/drawing/c-nv-pr-xform.d.ts +18 -0
  226. package/dist/browser/modules/excel/xlsx/xform/drawing/c-nv-pr-xform.js +59 -0
  227. package/dist/browser/modules/excel/xlsx/xform/drawing/cell-position-xform.d.ts +24 -0
  228. package/dist/browser/modules/excel/xlsx/xform/drawing/cell-position-xform.js +68 -0
  229. package/dist/browser/modules/excel/xlsx/xform/drawing/drawing-xform.d.ts +24 -0
  230. package/dist/browser/modules/excel/xlsx/xform/drawing/drawing-xform.js +96 -0
  231. package/dist/browser/modules/excel/xlsx/xform/drawing/ext-lst-xform.d.ts +9 -0
  232. package/dist/browser/modules/excel/xlsx/xform/drawing/ext-lst-xform.js +37 -0
  233. package/dist/browser/modules/excel/xlsx/xform/drawing/ext-xform.d.ts +20 -0
  234. package/dist/browser/modules/excel/xlsx/xform/drawing/ext-xform.js +34 -0
  235. package/dist/browser/modules/excel/xlsx/xform/drawing/hlink-click-xform.d.ts +11 -0
  236. package/dist/browser/modules/excel/xlsx/xform/drawing/hlink-click-xform.js +39 -0
  237. package/dist/browser/modules/excel/xlsx/xform/drawing/nv-pic-pr-xform.d.ts +15 -0
  238. package/dist/browser/modules/excel/xlsx/xform/drawing/nv-pic-pr-xform.js +56 -0
  239. package/dist/browser/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.d.ts +20 -0
  240. package/dist/browser/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.js +52 -0
  241. package/dist/browser/modules/excel/xlsx/xform/drawing/pic-xform.d.ts +22 -0
  242. package/dist/browser/modules/excel/xlsx/xform/drawing/pic-xform.js +64 -0
  243. package/dist/browser/modules/excel/xlsx/xform/drawing/sp-pr.d.ts +32 -0
  244. package/dist/browser/modules/excel/xlsx/xform/drawing/sp-pr.js +17 -0
  245. package/dist/browser/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.d.ts +20 -0
  246. package/dist/browser/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.js +51 -0
  247. package/dist/browser/modules/excel/xlsx/xform/list-xform.d.ts +32 -0
  248. package/dist/browser/modules/excel/xlsx/xform/list-xform.js +89 -0
  249. package/dist/browser/modules/excel/xlsx/xform/pivot-table/cache-field-xform.d.ts +42 -0
  250. package/dist/browser/modules/excel/xlsx/xform/pivot-table/cache-field-xform.js +128 -0
  251. package/dist/browser/modules/excel/xlsx/xform/pivot-table/cache-field.d.ts +15 -0
  252. package/dist/browser/modules/excel/xlsx/xform/pivot-table/cache-field.js +78 -0
  253. package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-cache-definition-xform.d.ts +60 -0
  254. package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +179 -0
  255. package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.d.ts +73 -0
  256. package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.js +234 -0
  257. package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.d.ts +119 -0
  258. package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.js +624 -0
  259. package/dist/browser/modules/excel/xlsx/xform/sheet/auto-filter-xform.d.ts +8 -0
  260. package/dist/browser/modules/excel/xlsx/xform/sheet/auto-filter-xform.js +34 -0
  261. package/dist/browser/modules/excel/xlsx/xform/sheet/cell-xform.d.ts +17 -0
  262. package/dist/browser/modules/excel/xlsx/xform/sheet/cell-xform.js +460 -0
  263. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/cf-rule-xform.d.ts +41 -0
  264. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/cf-rule-xform.js +259 -0
  265. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/cfvo-xform.d.ts +8 -0
  266. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/cfvo-xform.js +22 -0
  267. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/color-scale-xform.d.ts +13 -0
  268. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/color-scale-xform.js +35 -0
  269. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/conditional-formatting-xform.d.ts +9 -0
  270. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/conditional-formatting-xform.js +37 -0
  271. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/conditional-formattings-xform.d.ts +16 -0
  272. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/conditional-formattings-xform.js +74 -0
  273. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/databar-xform.d.ts +13 -0
  274. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/databar-xform.js +39 -0
  275. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/ext-lst-ref-xform.d.ts +9 -0
  276. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/ext-lst-ref-xform.js +67 -0
  277. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/formula-xform.d.ts +9 -0
  278. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/formula-xform.js +19 -0
  279. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/icon-set-xform.d.ts +11 -0
  280. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/icon-set-xform.js +37 -0
  281. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.d.ts +10 -0
  282. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js +22 -0
  283. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.d.ts +23 -0
  284. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +80 -0
  285. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.d.ts +13 -0
  286. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js +35 -0
  287. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.d.ts +16 -0
  288. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js +48 -0
  289. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.d.ts +13 -0
  290. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js +40 -0
  291. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/databar-ext-xform.d.ts +29 -0
  292. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/databar-ext-xform.js +69 -0
  293. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/f-ext-xform.d.ts +9 -0
  294. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/f-ext-xform.js +19 -0
  295. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.d.ts +20 -0
  296. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js +60 -0
  297. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/sqref-ext-xform.d.ts +9 -0
  298. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js +19 -0
  299. package/dist/browser/modules/excel/xlsx/xform/sheet/col-breaks-xform.d.ts +16 -0
  300. package/dist/browser/modules/excel/xlsx/xform/sheet/col-breaks-xform.js +35 -0
  301. package/dist/browser/modules/excel/xlsx/xform/sheet/col-xform.d.ts +22 -0
  302. package/dist/browser/modules/excel/xlsx/xform/sheet/col-xform.js +75 -0
  303. package/dist/browser/modules/excel/xlsx/xform/sheet/data-validations-xform.d.ts +12 -0
  304. package/dist/browser/modules/excel/xlsx/xform/sheet/data-validations-xform.js +269 -0
  305. package/dist/browser/modules/excel/xlsx/xform/sheet/dimension-xform.d.ts +10 -0
  306. package/dist/browser/modules/excel/xlsx/xform/sheet/dimension-xform.js +23 -0
  307. package/dist/browser/modules/excel/xlsx/xform/sheet/drawing-xform.d.ts +12 -0
  308. package/dist/browser/modules/excel/xlsx/xform/sheet/drawing-xform.js +27 -0
  309. package/dist/browser/modules/excel/xlsx/xform/sheet/ext-lst-xform.d.ts +16 -0
  310. package/dist/browser/modules/excel/xlsx/xform/sheet/ext-lst-xform.js +66 -0
  311. package/dist/browser/modules/excel/xlsx/xform/sheet/header-footer-xform.d.ts +20 -0
  312. package/dist/browser/modules/excel/xlsx/xform/sheet/header-footer-xform.js +124 -0
  313. package/dist/browser/modules/excel/xlsx/xform/sheet/hyperlink-xform.d.ts +16 -0
  314. package/dist/browser/modules/excel/xlsx/xform/sheet/hyperlink-xform.js +47 -0
  315. package/dist/browser/modules/excel/xlsx/xform/sheet/merge-cell-xform.d.ts +9 -0
  316. package/dist/browser/modules/excel/xlsx/xform/sheet/merge-cell-xform.js +21 -0
  317. package/dist/browser/modules/excel/xlsx/xform/sheet/merges.d.ts +14 -0
  318. package/dist/browser/modules/excel/xlsx/xform/sheet/merges.js +50 -0
  319. package/dist/browser/modules/excel/xlsx/xform/sheet/outline-properties-xform.d.ts +13 -0
  320. package/dist/browser/modules/excel/xlsx/xform/sheet/outline-properties-xform.js +36 -0
  321. package/dist/browser/modules/excel/xlsx/xform/sheet/page-breaks-xform.d.ts +14 -0
  322. package/dist/browser/modules/excel/xlsx/xform/sheet/page-breaks-xform.js +33 -0
  323. package/dist/browser/modules/excel/xlsx/xform/sheet/page-margins-xform.d.ts +17 -0
  324. package/dist/browser/modules/excel/xlsx/xform/sheet/page-margins-xform.js +42 -0
  325. package/dist/browser/modules/excel/xlsx/xform/sheet/page-setup-properties-xform.d.ts +12 -0
  326. package/dist/browser/modules/excel/xlsx/xform/sheet/page-setup-properties-xform.js +29 -0
  327. package/dist/browser/modules/excel/xlsx/xform/sheet/page-setup-xform.d.ts +27 -0
  328. package/dist/browser/modules/excel/xlsx/xform/sheet/page-setup-xform.js +96 -0
  329. package/dist/browser/modules/excel/xlsx/xform/sheet/picture-xform.d.ts +12 -0
  330. package/dist/browser/modules/excel/xlsx/xform/sheet/picture-xform.js +27 -0
  331. package/dist/browser/modules/excel/xlsx/xform/sheet/print-options-xform.d.ts +15 -0
  332. package/dist/browser/modules/excel/xlsx/xform/sheet/print-options-xform.js +41 -0
  333. package/dist/browser/modules/excel/xlsx/xform/sheet/row-breaks-xform.d.ts +10 -0
  334. package/dist/browser/modules/excel/xlsx/xform/sheet/row-breaks-xform.js +29 -0
  335. package/dist/browser/modules/excel/xlsx/xform/sheet/row-xform.d.ts +37 -0
  336. package/dist/browser/modules/excel/xlsx/xform/sheet/row-xform.js +152 -0
  337. package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-format-properties-xform.d.ts +16 -0
  338. package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-format-properties-xform.js +49 -0
  339. package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-properties-xform.d.ts +19 -0
  340. package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-properties-xform.js +82 -0
  341. package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-protection-xform.d.ts +31 -0
  342. package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-protection-xform.js +80 -0
  343. package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-view-xform.d.ts +32 -0
  344. package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-view-xform.js +193 -0
  345. package/dist/browser/modules/excel/xlsx/xform/sheet/table-part-xform.d.ts +12 -0
  346. package/dist/browser/modules/excel/xlsx/xform/sheet/table-part-xform.js +27 -0
  347. package/dist/browser/modules/excel/xlsx/xform/sheet/worksheet-xform.d.ts +21 -0
  348. package/dist/browser/modules/excel/xlsx/xform/sheet/worksheet-xform.js +518 -0
  349. package/dist/browser/modules/excel/xlsx/xform/simple/boolean-xform.d.ts +15 -0
  350. package/dist/browser/modules/excel/xlsx/xform/simple/boolean-xform.js +24 -0
  351. package/dist/browser/modules/excel/xlsx/xform/simple/date-xform.d.ts +22 -0
  352. package/dist/browser/modules/excel/xlsx/xform/simple/date-xform.js +65 -0
  353. package/dist/browser/modules/excel/xlsx/xform/simple/float-xform.d.ts +18 -0
  354. package/dist/browser/modules/excel/xlsx/xform/simple/float-xform.js +47 -0
  355. package/dist/browser/modules/excel/xlsx/xform/simple/integer-xform.d.ts +20 -0
  356. package/dist/browser/modules/excel/xlsx/xform/simple/integer-xform.js +52 -0
  357. package/dist/browser/modules/excel/xlsx/xform/simple/string-xform.d.ts +18 -0
  358. package/dist/browser/modules/excel/xlsx/xform/simple/string-xform.js +47 -0
  359. package/dist/browser/modules/excel/xlsx/xform/static-xform.d.ts +17 -0
  360. package/dist/browser/modules/excel/xlsx/xform/static-xform.js +55 -0
  361. package/dist/browser/modules/excel/xlsx/xform/strings/phonetic-text-xform.d.ts +20 -0
  362. package/dist/browser/modules/excel/xlsx/xform/strings/phonetic-text-xform.js +86 -0
  363. package/dist/browser/modules/excel/xlsx/xform/strings/rich-text-xform.d.ts +25 -0
  364. package/dist/browser/modules/excel/xlsx/xform/strings/rich-text-xform.js +77 -0
  365. package/dist/browser/modules/excel/xlsx/xform/strings/shared-string-xform.d.ts +17 -0
  366. package/dist/browser/modules/excel/xlsx/xform/strings/shared-string-xform.js +90 -0
  367. package/dist/browser/modules/excel/xlsx/xform/strings/shared-strings-xform.d.ts +27 -0
  368. package/dist/browser/modules/excel/xlsx/xform/strings/shared-strings-xform.js +109 -0
  369. package/dist/browser/modules/excel/xlsx/xform/strings/text-xform.d.ts +10 -0
  370. package/dist/browser/modules/excel/xlsx/xform/strings/text-xform.js +36 -0
  371. package/dist/browser/modules/excel/xlsx/xform/style/alignment-xform.d.ts +18 -0
  372. package/dist/browser/modules/excel/xlsx/xform/style/alignment-xform.js +152 -0
  373. package/dist/browser/modules/excel/xlsx/xform/style/border-xform.d.ts +49 -0
  374. package/dist/browser/modules/excel/xlsx/xform/style/border-xform.js +188 -0
  375. package/dist/browser/modules/excel/xlsx/xform/style/color-xform.d.ts +17 -0
  376. package/dist/browser/modules/excel/xlsx/xform/style/color-xform.js +61 -0
  377. package/dist/browser/modules/excel/xlsx/xform/style/dxf-xform.d.ts +23 -0
  378. package/dist/browser/modules/excel/xlsx/xform/style/dxf-xform.js +92 -0
  379. package/dist/browser/modules/excel/xlsx/xform/style/fill-xform.d.ts +85 -0
  380. package/dist/browser/modules/excel/xlsx/xform/style/fill-xform.js +312 -0
  381. package/dist/browser/modules/excel/xlsx/xform/style/font-xform.d.ts +35 -0
  382. package/dist/browser/modules/excel/xlsx/xform/style/font-xform.js +100 -0
  383. package/dist/browser/modules/excel/xlsx/xform/style/numfmt-xform.d.ts +18 -0
  384. package/dist/browser/modules/excel/xlsx/xform/style/numfmt-xform.js +50 -0
  385. package/dist/browser/modules/excel/xlsx/xform/style/protection-xform.d.ts +13 -0
  386. package/dist/browser/modules/excel/xlsx/xform/style/protection-xform.js +49 -0
  387. package/dist/browser/modules/excel/xlsx/xform/style/style-xform.d.ts +30 -0
  388. package/dist/browser/modules/excel/xlsx/xform/style/style-xform.js +108 -0
  389. package/dist/browser/modules/excel/xlsx/xform/style/styles-xform.d.ts +46 -0
  390. package/dist/browser/modules/excel/xlsx/xform/style/styles-xform.js +484 -0
  391. package/dist/browser/modules/excel/xlsx/xform/style/underline-xform.d.ts +14 -0
  392. package/dist/browser/modules/excel/xlsx/xform/style/underline-xform.js +38 -0
  393. package/dist/browser/modules/excel/xlsx/xform/table/auto-filter-xform.d.ts +21 -0
  394. package/dist/browser/modules/excel/xlsx/xform/table/auto-filter-xform.js +70 -0
  395. package/dist/browser/modules/excel/xlsx/xform/table/custom-filter-xform.d.ts +15 -0
  396. package/dist/browser/modules/excel/xlsx/xform/table/custom-filter-xform.js +31 -0
  397. package/dist/browser/modules/excel/xlsx/xform/table/filter-column-xform.d.ts +24 -0
  398. package/dist/browser/modules/excel/xlsx/xform/table/filter-column-xform.js +87 -0
  399. package/dist/browser/modules/excel/xlsx/xform/table/filter-xform.d.ts +14 -0
  400. package/dist/browser/modules/excel/xlsx/xform/table/filter-xform.js +29 -0
  401. package/dist/browser/modules/excel/xlsx/xform/table/table-column-xform.d.ts +21 -0
  402. package/dist/browser/modules/excel/xlsx/xform/table/table-column-xform.js +41 -0
  403. package/dist/browser/modules/excel/xlsx/xform/table/table-style-info-xform.d.ts +18 -0
  404. package/dist/browser/modules/excel/xlsx/xform/table/table-style-info-xform.js +44 -0
  405. package/dist/browser/modules/excel/xlsx/xform/table/table-xform.d.ts +33 -0
  406. package/dist/browser/modules/excel/xlsx/xform/table/table-xform.js +126 -0
  407. package/dist/browser/modules/excel/xlsx/xlsx.browser.d.ts +208 -0
  408. package/dist/browser/modules/excel/xlsx/xlsx.browser.js +1152 -0
  409. package/dist/browser/modules/excel/xlsx/xlsx.d.ts +24 -0
  410. package/dist/browser/modules/excel/xlsx/xlsx.js +239 -0
  411. package/dist/browser/modules/excel/xlsx/xml/theme1.d.ts +1 -0
  412. package/dist/browser/modules/excel/xlsx/xml/theme1.js +1 -0
  413. package/dist/browser/modules/stream/base-transform.d.ts +68 -0
  414. package/dist/browser/modules/stream/base-transform.js +160 -0
  415. package/dist/browser/modules/stream/buffered-stream.d.ts +94 -0
  416. package/dist/browser/modules/stream/buffered-stream.js +277 -0
  417. package/dist/browser/modules/stream/chunked-builder.d.ts +97 -0
  418. package/dist/browser/modules/stream/chunked-builder.js +165 -0
  419. package/dist/browser/modules/stream/event-emitter.d.ts +30 -0
  420. package/dist/browser/modules/stream/event-emitter.js +239 -0
  421. package/dist/browser/modules/stream/index.browser.d.ts +22 -0
  422. package/dist/browser/modules/stream/index.browser.js +25 -0
  423. package/dist/browser/modules/stream/index.d.ts +49 -0
  424. package/dist/browser/modules/stream/index.js +52 -0
  425. package/dist/browser/modules/stream/pull-stream.d.ts +67 -0
  426. package/dist/browser/modules/stream/pull-stream.js +204 -0
  427. package/dist/browser/modules/stream/shared.d.ts +54 -0
  428. package/dist/browser/modules/stream/shared.js +156 -0
  429. package/dist/browser/modules/stream/streams.browser.d.ts +936 -0
  430. package/dist/browser/modules/stream/streams.browser.js +3297 -0
  431. package/dist/browser/modules/stream/streams.d.ts +282 -0
  432. package/dist/browser/modules/stream/streams.js +940 -0
  433. package/dist/browser/modules/stream/types.d.ts +238 -0
  434. package/dist/browser/modules/stream/types.js +7 -0
  435. package/dist/browser/modules/stream/utils.d.ts +24 -0
  436. package/dist/browser/modules/stream/utils.js +85 -0
  437. package/dist/browser/utils/browser.d.ts +9 -0
  438. package/dist/browser/utils/browser.js +49 -0
  439. package/dist/browser/utils/datetime.d.ts +56 -0
  440. package/dist/browser/utils/datetime.js +493 -0
  441. package/dist/browser/utils/env.d.ts +14 -0
  442. package/dist/browser/utils/env.js +18 -0
  443. package/dist/browser/utils/utils.base.d.ts +49 -0
  444. package/dist/browser/utils/utils.base.js +275 -0
  445. package/dist/browser/utils/utils.browser.d.ts +6 -0
  446. package/dist/browser/utils/utils.browser.js +12 -0
  447. package/dist/browser/utils/utils.d.ts +6 -0
  448. package/dist/browser/utils/utils.js +19 -0
  449. package/dist/browser/utils/uuid.d.ts +11 -0
  450. package/dist/browser/utils/uuid.js +55 -0
  451. package/dist/cjs/modules/excel/table.js +8 -1
  452. package/dist/esm/modules/excel/table.js +8 -1
  453. package/dist/{browser → iife}/excelts.iife.js +6 -2
  454. package/dist/iife/excelts.iife.js.map +1 -0
  455. package/dist/{browser → iife}/excelts.iife.min.js +2 -2
  456. package/dist/types/index.browser.d.ts +20 -20
  457. package/dist/types/index.d.ts +23 -23
  458. package/dist/types/modules/archive/compress.browser.d.ts +1 -1
  459. package/dist/types/modules/archive/compress.d.ts +2 -2
  460. package/dist/types/modules/archive/crc32.browser.d.ts +1 -1
  461. package/dist/types/modules/archive/crc32.d.ts +1 -1
  462. package/dist/types/modules/archive/defaults.d.ts +1 -1
  463. package/dist/types/modules/archive/extract.d.ts +2 -2
  464. package/dist/types/modules/archive/index.base.d.ts +4 -4
  465. package/dist/types/modules/archive/index.browser.d.ts +5 -5
  466. package/dist/types/modules/archive/index.d.ts +5 -5
  467. package/dist/types/modules/archive/parse.base.d.ts +3 -3
  468. package/dist/types/modules/archive/parse.browser.d.ts +2 -2
  469. package/dist/types/modules/archive/parse.d.ts +3 -3
  470. package/dist/types/modules/archive/streaming-compress.browser.d.ts +2 -2
  471. package/dist/types/modules/archive/streaming-compress.d.ts +2 -2
  472. package/dist/types/modules/archive/streaming-zip.d.ts +2 -2
  473. package/dist/types/modules/archive/zip-builder.d.ts +2 -2
  474. package/dist/types/modules/archive/zip-entry-metadata.d.ts +1 -1
  475. package/dist/types/modules/archive/zip-parser.d.ts +1 -1
  476. package/dist/types/modules/csv/csv-stream.d.ts +3 -3
  477. package/dist/types/modules/csv/csv.browser.d.ts +9 -9
  478. package/dist/types/modules/csv/csv.d.ts +4 -4
  479. package/dist/types/modules/excel/anchor.d.ts +1 -1
  480. package/dist/types/modules/excel/cell.d.ts +7 -7
  481. package/dist/types/modules/excel/column.d.ts +3 -3
  482. package/dist/types/modules/excel/defined-names.d.ts +4 -4
  483. package/dist/types/modules/excel/image.d.ts +2 -2
  484. package/dist/types/modules/excel/pivot-table.d.ts +1 -1
  485. package/dist/types/modules/excel/range.d.ts +1 -1
  486. package/dist/types/modules/excel/row.d.ts +3 -3
  487. package/dist/types/modules/excel/stream/hyperlink-reader.d.ts +2 -2
  488. package/dist/types/modules/excel/stream/workbook-reader.browser.d.ts +6 -6
  489. package/dist/types/modules/excel/stream/workbook-reader.d.ts +5 -5
  490. package/dist/types/modules/excel/stream/workbook-writer.browser.d.ts +8 -8
  491. package/dist/types/modules/excel/stream/workbook-writer.d.ts +2 -2
  492. package/dist/types/modules/excel/stream/worksheet-reader.d.ts +6 -6
  493. package/dist/types/modules/excel/stream/worksheet-writer.d.ts +9 -9
  494. package/dist/types/modules/excel/table.d.ts +2 -2
  495. package/dist/types/modules/excel/utils/col-cache.d.ts +1 -1
  496. package/dist/types/modules/excel/utils/sheet-utils.d.ts +3 -3
  497. package/dist/types/modules/excel/utils/stream-buf.d.ts +2 -2
  498. package/dist/types/modules/excel/workbook.d.ts +9 -9
  499. package/dist/types/modules/excel/worksheet.d.ts +10 -10
  500. package/dist/types/modules/excel/xlsx/xform/base-xform.d.ts +1 -1
  501. package/dist/types/modules/excel/xlsx/xform/book/defined-name-xform.d.ts +1 -1
  502. package/dist/types/modules/excel/xlsx/xform/book/sheet-xform.d.ts +1 -1
  503. package/dist/types/modules/excel/xlsx/xform/book/workbook-calc-properties-xform.d.ts +1 -1
  504. package/dist/types/modules/excel/xlsx/xform/book/workbook-pivot-cache-xform.d.ts +1 -1
  505. package/dist/types/modules/excel/xlsx/xform/book/workbook-properties-xform.d.ts +1 -1
  506. package/dist/types/modules/excel/xlsx/xform/book/workbook-view-xform.d.ts +1 -1
  507. package/dist/types/modules/excel/xlsx/xform/book/workbook-xform.d.ts +2 -2
  508. package/dist/types/modules/excel/xlsx/xform/comment/comment-xform.d.ts +2 -2
  509. package/dist/types/modules/excel/xlsx/xform/comment/comments-xform.d.ts +2 -2
  510. package/dist/types/modules/excel/xlsx/xform/comment/style/vml-position-xform.d.ts +1 -1
  511. package/dist/types/modules/excel/xlsx/xform/comment/style/vml-protection-xform.d.ts +1 -1
  512. package/dist/types/modules/excel/xlsx/xform/comment/vml-anchor-xform.d.ts +1 -1
  513. package/dist/types/modules/excel/xlsx/xform/comment/vml-client-data-xform.d.ts +1 -1
  514. package/dist/types/modules/excel/xlsx/xform/comment/vml-notes-xform.d.ts +1 -1
  515. package/dist/types/modules/excel/xlsx/xform/comment/vml-shape-xform.d.ts +1 -1
  516. package/dist/types/modules/excel/xlsx/xform/comment/vml-textbox-xform.d.ts +1 -1
  517. package/dist/types/modules/excel/xlsx/xform/composite-xform.d.ts +1 -1
  518. package/dist/types/modules/excel/xlsx/xform/core/app-heading-pairs-xform.d.ts +1 -1
  519. package/dist/types/modules/excel/xlsx/xform/core/app-titles-of-parts-xform.d.ts +1 -1
  520. package/dist/types/modules/excel/xlsx/xform/core/app-xform.d.ts +1 -1
  521. package/dist/types/modules/excel/xlsx/xform/core/content-types-xform.d.ts +1 -1
  522. package/dist/types/modules/excel/xlsx/xform/core/core-xform.d.ts +1 -1
  523. package/dist/types/modules/excel/xlsx/xform/core/relationship-xform.d.ts +1 -1
  524. package/dist/types/modules/excel/xlsx/xform/core/relationships-xform.d.ts +1 -1
  525. package/dist/types/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.d.ts +1 -1
  526. package/dist/types/modules/excel/xlsx/xform/drawing/blip-fill-xform.d.ts +2 -2
  527. package/dist/types/modules/excel/xlsx/xform/drawing/blip-xform.d.ts +1 -1
  528. package/dist/types/modules/excel/xlsx/xform/drawing/c-nv-pic-pr-xform.d.ts +1 -1
  529. package/dist/types/modules/excel/xlsx/xform/drawing/c-nv-pr-xform.d.ts +1 -1
  530. package/dist/types/modules/excel/xlsx/xform/drawing/cell-position-xform.d.ts +2 -2
  531. package/dist/types/modules/excel/xlsx/xform/drawing/drawing-xform.d.ts +1 -1
  532. package/dist/types/modules/excel/xlsx/xform/drawing/ext-lst-xform.d.ts +1 -1
  533. package/dist/types/modules/excel/xlsx/xform/drawing/ext-xform.d.ts +1 -1
  534. package/dist/types/modules/excel/xlsx/xform/drawing/hlink-click-xform.d.ts +1 -1
  535. package/dist/types/modules/excel/xlsx/xform/drawing/nv-pic-pr-xform.d.ts +1 -1
  536. package/dist/types/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.d.ts +1 -1
  537. package/dist/types/modules/excel/xlsx/xform/drawing/pic-xform.d.ts +1 -1
  538. package/dist/types/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.d.ts +1 -1
  539. package/dist/types/modules/excel/xlsx/xform/list-xform.d.ts +1 -1
  540. package/dist/types/modules/excel/xlsx/xform/pivot-table/cache-field-xform.d.ts +1 -1
  541. package/dist/types/modules/excel/xlsx/xform/pivot-table/pivot-cache-definition-xform.d.ts +3 -3
  542. package/dist/types/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.d.ts +2 -2
  543. package/dist/types/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.d.ts +1 -1
  544. package/dist/types/modules/excel/xlsx/xform/sheet/auto-filter-xform.d.ts +1 -1
  545. package/dist/types/modules/excel/xlsx/xform/sheet/cell-xform.d.ts +1 -1
  546. package/dist/types/modules/excel/xlsx/xform/sheet/cf/cf-rule-xform.d.ts +6 -6
  547. package/dist/types/modules/excel/xlsx/xform/sheet/cf/cfvo-xform.d.ts +1 -1
  548. package/dist/types/modules/excel/xlsx/xform/sheet/cf/color-scale-xform.d.ts +3 -3
  549. package/dist/types/modules/excel/xlsx/xform/sheet/cf/conditional-formatting-xform.d.ts +1 -1
  550. package/dist/types/modules/excel/xlsx/xform/sheet/cf/conditional-formattings-xform.d.ts +2 -2
  551. package/dist/types/modules/excel/xlsx/xform/sheet/cf/databar-xform.d.ts +3 -3
  552. package/dist/types/modules/excel/xlsx/xform/sheet/cf/ext-lst-ref-xform.d.ts +1 -1
  553. package/dist/types/modules/excel/xlsx/xform/sheet/cf/formula-xform.d.ts +1 -1
  554. package/dist/types/modules/excel/xlsx/xform/sheet/cf/icon-set-xform.d.ts +2 -2
  555. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.d.ts +1 -1
  556. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.d.ts +3 -3
  557. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.d.ts +2 -2
  558. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.d.ts +3 -3
  559. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.d.ts +2 -2
  560. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/databar-ext-xform.d.ts +3 -3
  561. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/f-ext-xform.d.ts +1 -1
  562. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.d.ts +3 -3
  563. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/sqref-ext-xform.d.ts +1 -1
  564. package/dist/types/modules/excel/xlsx/xform/sheet/col-breaks-xform.d.ts +1 -1
  565. package/dist/types/modules/excel/xlsx/xform/sheet/col-xform.d.ts +1 -1
  566. package/dist/types/modules/excel/xlsx/xform/sheet/data-validations-xform.d.ts +1 -1
  567. package/dist/types/modules/excel/xlsx/xform/sheet/dimension-xform.d.ts +1 -1
  568. package/dist/types/modules/excel/xlsx/xform/sheet/drawing-xform.d.ts +1 -1
  569. package/dist/types/modules/excel/xlsx/xform/sheet/ext-lst-xform.d.ts +1 -1
  570. package/dist/types/modules/excel/xlsx/xform/sheet/header-footer-xform.d.ts +1 -1
  571. package/dist/types/modules/excel/xlsx/xform/sheet/hyperlink-xform.d.ts +1 -1
  572. package/dist/types/modules/excel/xlsx/xform/sheet/merge-cell-xform.d.ts +1 -1
  573. package/dist/types/modules/excel/xlsx/xform/sheet/outline-properties-xform.d.ts +1 -1
  574. package/dist/types/modules/excel/xlsx/xform/sheet/page-breaks-xform.d.ts +1 -1
  575. package/dist/types/modules/excel/xlsx/xform/sheet/page-margins-xform.d.ts +1 -1
  576. package/dist/types/modules/excel/xlsx/xform/sheet/page-setup-properties-xform.d.ts +1 -1
  577. package/dist/types/modules/excel/xlsx/xform/sheet/page-setup-xform.d.ts +1 -1
  578. package/dist/types/modules/excel/xlsx/xform/sheet/picture-xform.d.ts +1 -1
  579. package/dist/types/modules/excel/xlsx/xform/sheet/print-options-xform.d.ts +1 -1
  580. package/dist/types/modules/excel/xlsx/xform/sheet/row-breaks-xform.d.ts +1 -1
  581. package/dist/types/modules/excel/xlsx/xform/sheet/row-xform.d.ts +1 -1
  582. package/dist/types/modules/excel/xlsx/xform/sheet/sheet-format-properties-xform.d.ts +1 -1
  583. package/dist/types/modules/excel/xlsx/xform/sheet/sheet-properties-xform.d.ts +1 -1
  584. package/dist/types/modules/excel/xlsx/xform/sheet/sheet-protection-xform.d.ts +1 -1
  585. package/dist/types/modules/excel/xlsx/xform/sheet/sheet-view-xform.d.ts +1 -1
  586. package/dist/types/modules/excel/xlsx/xform/sheet/table-part-xform.d.ts +1 -1
  587. package/dist/types/modules/excel/xlsx/xform/sheet/worksheet-xform.d.ts +1 -1
  588. package/dist/types/modules/excel/xlsx/xform/simple/boolean-xform.d.ts +1 -1
  589. package/dist/types/modules/excel/xlsx/xform/simple/date-xform.d.ts +1 -1
  590. package/dist/types/modules/excel/xlsx/xform/simple/float-xform.d.ts +1 -1
  591. package/dist/types/modules/excel/xlsx/xform/simple/integer-xform.d.ts +1 -1
  592. package/dist/types/modules/excel/xlsx/xform/simple/string-xform.d.ts +1 -1
  593. package/dist/types/modules/excel/xlsx/xform/static-xform.d.ts +1 -1
  594. package/dist/types/modules/excel/xlsx/xform/strings/phonetic-text-xform.d.ts +1 -1
  595. package/dist/types/modules/excel/xlsx/xform/strings/rich-text-xform.d.ts +3 -3
  596. package/dist/types/modules/excel/xlsx/xform/strings/shared-string-xform.d.ts +1 -1
  597. package/dist/types/modules/excel/xlsx/xform/strings/shared-strings-xform.d.ts +2 -2
  598. package/dist/types/modules/excel/xlsx/xform/strings/text-xform.d.ts +1 -1
  599. package/dist/types/modules/excel/xlsx/xform/style/alignment-xform.d.ts +1 -1
  600. package/dist/types/modules/excel/xlsx/xform/style/border-xform.d.ts +2 -2
  601. package/dist/types/modules/excel/xlsx/xform/style/color-xform.d.ts +1 -1
  602. package/dist/types/modules/excel/xlsx/xform/style/dxf-xform.d.ts +1 -1
  603. package/dist/types/modules/excel/xlsx/xform/style/fill-xform.d.ts +2 -2
  604. package/dist/types/modules/excel/xlsx/xform/style/font-xform.d.ts +1 -1
  605. package/dist/types/modules/excel/xlsx/xform/style/numfmt-xform.d.ts +1 -1
  606. package/dist/types/modules/excel/xlsx/xform/style/protection-xform.d.ts +1 -1
  607. package/dist/types/modules/excel/xlsx/xform/style/style-xform.d.ts +3 -3
  608. package/dist/types/modules/excel/xlsx/xform/style/styles-xform.d.ts +2 -2
  609. package/dist/types/modules/excel/xlsx/xform/style/underline-xform.d.ts +1 -1
  610. package/dist/types/modules/excel/xlsx/xform/table/auto-filter-xform.d.ts +2 -2
  611. package/dist/types/modules/excel/xlsx/xform/table/custom-filter-xform.d.ts +1 -1
  612. package/dist/types/modules/excel/xlsx/xform/table/filter-column-xform.d.ts +2 -2
  613. package/dist/types/modules/excel/xlsx/xform/table/filter-xform.d.ts +1 -1
  614. package/dist/types/modules/excel/xlsx/xform/table/table-column-xform.d.ts +1 -1
  615. package/dist/types/modules/excel/xlsx/xform/table/table-style-info-xform.d.ts +1 -1
  616. package/dist/types/modules/excel/xlsx/xform/table/table-xform.d.ts +1 -1
  617. package/dist/types/modules/excel/xlsx/xlsx.browser.d.ts +3 -3
  618. package/dist/types/modules/excel/xlsx/xlsx.d.ts +1 -1
  619. package/dist/types/modules/stream/base-transform.d.ts +1 -1
  620. package/dist/types/modules/stream/buffered-stream.d.ts +1 -1
  621. package/dist/types/modules/stream/index.browser.d.ts +8 -8
  622. package/dist/types/modules/stream/index.d.ts +8 -8
  623. package/dist/types/modules/stream/pull-stream.d.ts +1 -1
  624. package/dist/types/modules/stream/streams.browser.d.ts +4 -4
  625. package/dist/types/modules/stream/streams.d.ts +3 -3
  626. package/dist/types/modules/stream/utils.d.ts +1 -1
  627. package/dist/types/utils/utils.browser.d.ts +1 -1
  628. package/dist/types/utils/utils.d.ts +1 -1
  629. package/package.json +10 -6
  630. package/dist/browser/excelts.esm.js +0 -24621
  631. package/dist/browser/excelts.esm.js.map +0 -1
  632. package/dist/browser/excelts.esm.min.js +0 -148
  633. package/dist/browser/excelts.iife.js.map +0 -1
@@ -0,0 +1,152 @@
1
+ import type { Table } from "@excel/table";
2
+ /**
3
+ * Interface representing the source data abstraction for pivot tables.
4
+ * This allows both Worksheet and Table to be used as pivot table data sources.
5
+ */
6
+ export interface PivotTableSource {
7
+ /** Name of the worksheet containing the source data (used in pivotCacheDefinition) */
8
+ name: string;
9
+ /** Get row values by 1-indexed row number */
10
+ getRow(rowNumber: number): {
11
+ values: any[];
12
+ };
13
+ /** Get column values by 1-indexed column number */
14
+ getColumn(columnNumber: number): {
15
+ values: any[];
16
+ };
17
+ /** Get all sheet values as a sparse 2D array */
18
+ getSheetValues(): any[][];
19
+ /** Dimensions with short range reference (e.g., "A1:E10") */
20
+ dimensions: {
21
+ shortRange: string;
22
+ };
23
+ }
24
+ /**
25
+ * Model for creating a new pivot table.
26
+ * Pass this to worksheet.addPivotTable() to create a pivot table.
27
+ */
28
+ export interface PivotTableModel {
29
+ /**
30
+ * Source worksheet for the pivot table data.
31
+ * Either sourceSheet or sourceTable must be provided (mutually exclusive).
32
+ */
33
+ sourceSheet?: PivotTableSource;
34
+ /**
35
+ * Source table for the pivot table data.
36
+ * Either sourceSheet or sourceTable must be provided (mutually exclusive).
37
+ * The table must have headerRow=true and contain at least one data row.
38
+ */
39
+ sourceTable?: Table;
40
+ /** Column names to use as row fields in the pivot table */
41
+ rows: string[];
42
+ /**
43
+ * Column names to use as column fields in the pivot table.
44
+ * If omitted or empty, Excel will use "Values" as the column field.
45
+ * @default []
46
+ */
47
+ columns?: string[];
48
+ /** Column names to aggregate as values in the pivot table */
49
+ values: string[];
50
+ /**
51
+ * Aggregation metric for the pivot table values.
52
+ * - 'sum': Sum of values (default)
53
+ * - 'count': Count of values
54
+ * @default 'sum'
55
+ */
56
+ metric?: "sum" | "count";
57
+ /**
58
+ * Controls whether pivot table style overrides worksheet column widths.
59
+ * - '0': Preserve worksheet column widths (useful for custom sizing)
60
+ * - '1': Apply pivot table style width/height (default Excel behavior)
61
+ * @default '1'
62
+ */
63
+ applyWidthHeightFormats?: "0" | "1";
64
+ }
65
+ /**
66
+ * Represents a cache field in a pivot table.
67
+ * Cache fields store unique values from source columns for row/column grouping.
68
+ */
69
+ export interface CacheField {
70
+ /** Name of the field (column header from source) */
71
+ name: string;
72
+ /** Unique values for row/column fields, null for value fields */
73
+ sharedItems: any[] | null;
74
+ /** Minimum value for numeric fields */
75
+ minValue?: number;
76
+ /** Maximum value for numeric fields */
77
+ maxValue?: number;
78
+ }
79
+ /** Aggregation function types for pivot table data fields */
80
+ export type PivotTableSubtotal = "sum" | "count" | "average" | "max" | "min" | "product" | "countNums" | "stdDev" | "stdDevP" | "var" | "varP";
81
+ /**
82
+ * Data field configuration for pivot table aggregation.
83
+ * Defines how values are aggregated in the pivot table.
84
+ */
85
+ export interface DataField {
86
+ /** Display name for the data field (e.g., "Sum of Sales") */
87
+ name: string;
88
+ /** Index of the source field in cacheFields */
89
+ fld: number;
90
+ /** Base field index for calculated fields */
91
+ baseField?: number;
92
+ /** Base item index for calculated fields */
93
+ baseItem?: number;
94
+ /** Aggregation function (default: 'sum') */
95
+ subtotal?: PivotTableSubtotal;
96
+ }
97
+ /**
98
+ * Internal pivot table representation used by the library.
99
+ * This is the processed model after calling makePivotTable().
100
+ */
101
+ export interface PivotTable {
102
+ /** Source data adapter (always present for new pivot tables) */
103
+ source?: PivotTableSource;
104
+ /** Field indices for row fields */
105
+ rows: number[];
106
+ /** Field indices for column fields */
107
+ columns: number[];
108
+ /** Field indices for value fields */
109
+ values: number[];
110
+ /** Aggregation metric */
111
+ metric: "sum" | "count";
112
+ /** Cache fields with shared items */
113
+ cacheFields: CacheField[];
114
+ /** Cache ID for linking to pivot cache */
115
+ cacheId: string;
116
+ /** Width/height format setting */
117
+ applyWidthHeightFormats: "0" | "1";
118
+ /** 1-indexed table number for file naming (pivotTable1.xml, pivotTable2.xml, etc.) */
119
+ tableNumber: number;
120
+ /** Flag indicating this pivot table was loaded from file (not newly created) */
121
+ isLoaded?: boolean;
122
+ /** Data fields for loaded pivot tables */
123
+ dataFields?: DataField[];
124
+ /** Cache definition for loaded pivot tables */
125
+ cacheDefinition?: ParsedCacheDefinition;
126
+ /** Cache records for loaded pivot tables */
127
+ cacheRecords?: ParsedCacheRecords;
128
+ }
129
+ /**
130
+ * Parsed cache definition from loaded pivot table files.
131
+ */
132
+ export interface ParsedCacheDefinition {
133
+ sourceRef?: string;
134
+ sourceSheet?: string;
135
+ cacheFields: CacheField[];
136
+ recordCount?: number;
137
+ rId?: string;
138
+ isLoaded?: boolean;
139
+ }
140
+ /**
141
+ * Parsed cache records from loaded pivot table files.
142
+ */
143
+ export interface ParsedCacheRecords {
144
+ records: Array<Array<{
145
+ type: string;
146
+ value?: any;
147
+ }>>;
148
+ count: number;
149
+ isLoaded?: boolean;
150
+ }
151
+ declare function makePivotTable(worksheet: any, model: PivotTableModel): PivotTable;
152
+ export { makePivotTable };
@@ -0,0 +1,237 @@
1
+ import { range, toSortedArray } from "../../utils/utils.browser.js";
2
+ import { colCache } from "./utils/col-cache.js";
3
+ // TK(2023-10-10): turn this into a class constructor.
4
+ /**
5
+ * Creates a PivotTableSource adapter from a Table object.
6
+ * This allows Tables to be used as pivot table data sources with the same interface as Worksheets.
7
+ */
8
+ function createTableSourceAdapter(table) {
9
+ const tableModel = table.model;
10
+ // Validate that table has headerRow enabled (required for pivot table column names)
11
+ if (tableModel.headerRow === false) {
12
+ throw new Error("Cannot create pivot table from a table without headers. Set headerRow: true on the table.");
13
+ }
14
+ // Validate table has data rows
15
+ if (!tableModel.rows || tableModel.rows.length === 0) {
16
+ throw new Error("Cannot create pivot table from an empty table. Add data rows to the table.");
17
+ }
18
+ const columnNames = tableModel.columns.map(col => col.name);
19
+ // Check for duplicate column names
20
+ const nameSet = new Set();
21
+ for (const name of columnNames) {
22
+ if (nameSet.has(name)) {
23
+ throw new Error(`Duplicate column name "${name}" found in table. Pivot tables require unique column names.`);
24
+ }
25
+ nameSet.add(name);
26
+ }
27
+ // Build the full data array: headers + rows
28
+ const headerRow = [undefined, ...columnNames]; // sparse array starting at index 1
29
+ const dataRows = tableModel.rows.map(row => [undefined, ...row]); // sparse array starting at index 1
30
+ // Calculate the range reference for the table
31
+ const tl = tableModel.tl;
32
+ const startRow = tl.row;
33
+ const startCol = tl.col;
34
+ const endRow = startRow + tableModel.rows.length; // header row + data rows
35
+ const endCol = startCol + columnNames.length - 1;
36
+ const shortRange = colCache.encode(startRow, startCol, endRow, endCol);
37
+ // Use the worksheet name (not table name) for pivotCacheDefinition's worksheetSource
38
+ // The sheet attribute in worksheetSource must reference the actual worksheet name
39
+ const worksheetName = table.worksheet.name;
40
+ return {
41
+ name: worksheetName,
42
+ getRow(rowNumber) {
43
+ if (rowNumber === 1) {
44
+ return { values: headerRow };
45
+ }
46
+ const dataIndex = rowNumber - 2; // rowNumber 2 maps to index 0
47
+ if (dataIndex >= 0 && dataIndex < dataRows.length) {
48
+ return { values: dataRows[dataIndex] };
49
+ }
50
+ return { values: [] };
51
+ },
52
+ getColumn(columnNumber) {
53
+ // Validate column number is within bounds
54
+ if (columnNumber < 1 || columnNumber > columnNames.length) {
55
+ return { values: [] };
56
+ }
57
+ // Values should be sparse array with header at index 1, data starting at index 2
58
+ const values = [];
59
+ values[1] = columnNames[columnNumber - 1];
60
+ for (let i = 0; i < tableModel.rows.length; i++) {
61
+ values[i + 2] = tableModel.rows[i][columnNumber - 1];
62
+ }
63
+ return { values };
64
+ },
65
+ getSheetValues() {
66
+ // Return sparse array where index 1 is header row, and subsequent indices are data rows
67
+ const result = [];
68
+ result[1] = headerRow;
69
+ for (let i = 0; i < dataRows.length; i++) {
70
+ result[i + 2] = dataRows[i];
71
+ }
72
+ return result;
73
+ },
74
+ dimensions: { shortRange }
75
+ };
76
+ }
77
+ /**
78
+ * Resolves the data source from the model, supporting both sourceSheet and sourceTable.
79
+ */
80
+ function resolveSource(model) {
81
+ if (model.sourceTable) {
82
+ return createTableSourceAdapter(model.sourceTable);
83
+ }
84
+ // For sourceSheet, it already implements the required interface
85
+ return model.sourceSheet;
86
+ }
87
+ function makePivotTable(worksheet, model) {
88
+ // Example `model`:
89
+ // {
90
+ // // Source of data (either sourceSheet OR sourceTable):
91
+ // sourceSheet: worksheet1, // Use entire sheet range
92
+ // // OR
93
+ // sourceTable: table, // Use table data
94
+ //
95
+ // // Pivot table fields: values indicate field names;
96
+ // // they come from the first row in `worksheet1` or table column names.
97
+ // rows: ['A', 'B'],
98
+ // columns: ['C'],
99
+ // values: ['E'], // only 1 item possible for now
100
+ // metric: 'sum', // only 'sum' possible for now
101
+ // }
102
+ // Validate source exists before trying to resolve it
103
+ if (!model.sourceSheet && !model.sourceTable) {
104
+ throw new Error("Either sourceSheet or sourceTable must be provided.");
105
+ }
106
+ if (model.sourceSheet && model.sourceTable) {
107
+ throw new Error("Cannot specify both sourceSheet and sourceTable. Choose one.");
108
+ }
109
+ // Resolve source first to avoid creating adapter multiple times
110
+ const source = resolveSource(model);
111
+ validate(worksheet, model, source);
112
+ const { rows, values } = model;
113
+ const columns = model.columns ?? [];
114
+ const cacheFields = makeCacheFields(source, [...rows, ...columns], values);
115
+ const nameToIndex = cacheFields.reduce((result, cacheField, index) => {
116
+ result[cacheField.name] = index;
117
+ return result;
118
+ }, {});
119
+ const rowIndices = rows.map(row => nameToIndex[row]);
120
+ const columnIndices = columns.map(column => nameToIndex[column]);
121
+ const valueIndices = values.map(value => nameToIndex[value]);
122
+ // Calculate tableNumber based on existing pivot tables (1-indexed)
123
+ const tableNumber = worksheet.workbook.pivotTables.length + 1;
124
+ // Base cache ID starts at 10 (Excel convention), each subsequent table increments
125
+ const BASE_CACHE_ID = 10;
126
+ // form pivot table object
127
+ return {
128
+ source,
129
+ rows: rowIndices,
130
+ columns: columnIndices,
131
+ values: valueIndices,
132
+ metric: model.metric ?? "sum",
133
+ cacheFields,
134
+ // Dynamic cacheId: 10 for first table, 11 for second, etc.
135
+ // Used in <pivotTableDefinition> and xl/workbook.xml
136
+ cacheId: String(BASE_CACHE_ID + tableNumber - 1),
137
+ // Control whether pivot table style overrides worksheet column widths
138
+ // '0' = preserve worksheet column widths (useful for custom sizing)
139
+ // '1' = apply pivot table style width/height (default Excel behavior)
140
+ applyWidthHeightFormats: model.applyWidthHeightFormats ?? "1",
141
+ // Table number for file naming (pivotTable1.xml, pivotTable2.xml, etc.)
142
+ tableNumber
143
+ };
144
+ }
145
+ function validate(_worksheet, model, source) {
146
+ if (model.metric && model.metric !== "sum" && model.metric !== "count") {
147
+ throw new Error('Only the "sum" and "count" metrics are supported at this time.');
148
+ }
149
+ const columns = model.columns ?? [];
150
+ // Get header names from source (already resolved)
151
+ const headerNames = source.getRow(1).values.slice(1);
152
+ // Use Set for O(1) lookup
153
+ const headerNameSet = new Set(headerNames);
154
+ for (const name of [...model.rows, ...columns, ...model.values]) {
155
+ if (!headerNameSet.has(name)) {
156
+ throw new Error(`The header name "${name}" was not found in ${source.name}.`);
157
+ }
158
+ }
159
+ if (!model.rows.length) {
160
+ throw new Error("No pivot table rows specified.");
161
+ }
162
+ // Allow empty columns - Excel will use "Values" as column field
163
+ // But can't have multiple values with columns specified
164
+ if (model.values.length < 1) {
165
+ throw new Error("Must have at least one value.");
166
+ }
167
+ if (model.values.length > 1 && columns.length > 0) {
168
+ throw new Error("It is currently not possible to have multiple values when columns are specified. Please either supply an empty array for columns or a single value.");
169
+ }
170
+ }
171
+ function makeCacheFields(source, fieldNamesWithSharedItems, valueFieldNames) {
172
+ // Cache fields are used in pivot tables to reference source data.
173
+ // Fields in fieldNamesWithSharedItems get their unique values extracted as sharedItems.
174
+ // Fields in valueFieldNames (but not in fieldNamesWithSharedItems) get min/max calculated.
175
+ // Other fields are unused and get empty sharedItems.
176
+ const names = source.getRow(1).values;
177
+ // Use Set for O(1) lookup instead of object
178
+ const sharedItemsFields = new Set(fieldNamesWithSharedItems);
179
+ const valueFields = new Set(valueFieldNames);
180
+ const aggregate = (columnIndex) => {
181
+ const columnValues = source.getColumn(columnIndex).values;
182
+ // Build unique values set directly, skipping header (index 0,1) and null/undefined
183
+ const uniqueValues = new Set();
184
+ for (let i = 2; i < columnValues.length; i++) {
185
+ const v = columnValues[i];
186
+ if (v !== null && v !== undefined) {
187
+ uniqueValues.add(v);
188
+ }
189
+ }
190
+ return toSortedArray(uniqueValues);
191
+ };
192
+ // Calculate min/max for numeric fields
193
+ const getMinMax = (columnIndex) => {
194
+ const columnValues = source.getColumn(columnIndex).values;
195
+ let min = Infinity;
196
+ let max = -Infinity;
197
+ let hasNumeric = false;
198
+ for (let i = 2; i < columnValues.length; i++) {
199
+ const v = columnValues[i];
200
+ if (typeof v === "number" && !isNaN(v)) {
201
+ hasNumeric = true;
202
+ if (v < min) {
203
+ min = v;
204
+ }
205
+ if (v > max) {
206
+ max = v;
207
+ }
208
+ }
209
+ }
210
+ return hasNumeric ? { minValue: min, maxValue: max } : null;
211
+ };
212
+ // Build result array
213
+ const result = [];
214
+ for (const columnIndex of range(1, names.length)) {
215
+ const name = names[columnIndex];
216
+ if (sharedItemsFields.has(name)) {
217
+ // Field used for rows/columns - extract unique values as sharedItems
218
+ result.push({ name, sharedItems: aggregate(columnIndex) });
219
+ }
220
+ else if (valueFields.has(name)) {
221
+ // Field used only for values (aggregation) - calculate min/max
222
+ const minMax = getMinMax(columnIndex);
223
+ result.push({
224
+ name,
225
+ sharedItems: null,
226
+ minValue: minMax?.minValue,
227
+ maxValue: minMax?.maxValue
228
+ });
229
+ }
230
+ else {
231
+ // Unused field - just empty sharedItems (like Excel does)
232
+ result.push({ name, sharedItems: null });
233
+ }
234
+ }
235
+ return result;
236
+ }
237
+ export { makePivotTable };
@@ -0,0 +1,62 @@
1
+ import type { Address } from "@excel/types";
2
+ interface RangeModel {
3
+ top: number;
4
+ left: number;
5
+ bottom: number;
6
+ right: number;
7
+ sheetName?: string;
8
+ }
9
+ interface RowDimensions {
10
+ min: number;
11
+ max: number;
12
+ }
13
+ interface RowWithDimensions {
14
+ number: number;
15
+ dimensions?: RowDimensions;
16
+ }
17
+ export type RangeInput = Range | RangeModel | string | number | RangeInput[];
18
+ declare class Range {
19
+ model: RangeModel;
20
+ constructor();
21
+ constructor(range: Range);
22
+ constructor(model: RangeModel);
23
+ constructor(rangeString: string);
24
+ constructor(args: RangeInput[]);
25
+ constructor(tl: string, br: string);
26
+ constructor(tl: string, br: string, sheetName: string);
27
+ constructor(top: number, left: number, bottom: number, right: number);
28
+ constructor(top: number, left: number, bottom: number, right: number, sheetName: string);
29
+ setTLBR(tl: string, br: string, sheetName?: string): void;
30
+ setTLBR(top: number, left: number, bottom: number, right: number, sheetName?: string): void;
31
+ private decode;
32
+ get top(): number;
33
+ set top(value: number);
34
+ get left(): number;
35
+ set left(value: number);
36
+ get bottom(): number;
37
+ set bottom(value: number);
38
+ get right(): number;
39
+ set right(value: number);
40
+ get sheetName(): string | undefined;
41
+ set sheetName(value: string | undefined);
42
+ get _serialisedSheetName(): string;
43
+ expand(top: number, left: number, bottom: number, right: number): void;
44
+ expandRow(row: RowWithDimensions | null | undefined): void;
45
+ expandToAddress(addressStr: string): void;
46
+ get tl(): string;
47
+ get $t$l(): string;
48
+ get br(): string;
49
+ get $b$r(): string;
50
+ get range(): string;
51
+ get $range(): string;
52
+ get shortRange(): string;
53
+ get $shortRange(): string;
54
+ get count(): number;
55
+ toString(): string;
56
+ intersects(other: Range): boolean;
57
+ contains(addressStr: string): boolean;
58
+ containsEx(address: Address): boolean;
59
+ forEachAddress(cb: (address: string, row: number, col: number) => void): void;
60
+ }
61
+ export { Range };
62
+ export { Range as Dimensions };