@cj-tech-master/excelts 3.1.0-canary.20260102071304.d80b29d → 4.0.0-canary.20260103013222.0e5d37f

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 (630) 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 +405 -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/{browser → iife}/excelts.iife.js +1 -1
  452. package/dist/{browser → iife}/excelts.iife.min.js +1 -1
  453. package/dist/types/index.browser.d.ts +20 -20
  454. package/dist/types/index.d.ts +23 -23
  455. package/dist/types/modules/archive/compress.browser.d.ts +1 -1
  456. package/dist/types/modules/archive/compress.d.ts +2 -2
  457. package/dist/types/modules/archive/crc32.browser.d.ts +1 -1
  458. package/dist/types/modules/archive/crc32.d.ts +1 -1
  459. package/dist/types/modules/archive/defaults.d.ts +1 -1
  460. package/dist/types/modules/archive/extract.d.ts +2 -2
  461. package/dist/types/modules/archive/index.base.d.ts +4 -4
  462. package/dist/types/modules/archive/index.browser.d.ts +5 -5
  463. package/dist/types/modules/archive/index.d.ts +5 -5
  464. package/dist/types/modules/archive/parse.base.d.ts +3 -3
  465. package/dist/types/modules/archive/parse.browser.d.ts +2 -2
  466. package/dist/types/modules/archive/parse.d.ts +3 -3
  467. package/dist/types/modules/archive/streaming-compress.browser.d.ts +2 -2
  468. package/dist/types/modules/archive/streaming-compress.d.ts +2 -2
  469. package/dist/types/modules/archive/streaming-zip.d.ts +2 -2
  470. package/dist/types/modules/archive/zip-builder.d.ts +2 -2
  471. package/dist/types/modules/archive/zip-entry-metadata.d.ts +1 -1
  472. package/dist/types/modules/archive/zip-parser.d.ts +1 -1
  473. package/dist/types/modules/csv/csv-stream.d.ts +3 -3
  474. package/dist/types/modules/csv/csv.browser.d.ts +9 -9
  475. package/dist/types/modules/csv/csv.d.ts +4 -4
  476. package/dist/types/modules/excel/anchor.d.ts +1 -1
  477. package/dist/types/modules/excel/cell.d.ts +7 -7
  478. package/dist/types/modules/excel/column.d.ts +3 -3
  479. package/dist/types/modules/excel/defined-names.d.ts +4 -4
  480. package/dist/types/modules/excel/image.d.ts +2 -2
  481. package/dist/types/modules/excel/pivot-table.d.ts +1 -1
  482. package/dist/types/modules/excel/range.d.ts +1 -1
  483. package/dist/types/modules/excel/row.d.ts +3 -3
  484. package/dist/types/modules/excel/stream/hyperlink-reader.d.ts +2 -2
  485. package/dist/types/modules/excel/stream/workbook-reader.browser.d.ts +6 -6
  486. package/dist/types/modules/excel/stream/workbook-reader.d.ts +5 -5
  487. package/dist/types/modules/excel/stream/workbook-writer.browser.d.ts +8 -8
  488. package/dist/types/modules/excel/stream/workbook-writer.d.ts +2 -2
  489. package/dist/types/modules/excel/stream/worksheet-reader.d.ts +6 -6
  490. package/dist/types/modules/excel/stream/worksheet-writer.d.ts +9 -9
  491. package/dist/types/modules/excel/table.d.ts +2 -2
  492. package/dist/types/modules/excel/utils/col-cache.d.ts +1 -1
  493. package/dist/types/modules/excel/utils/sheet-utils.d.ts +3 -3
  494. package/dist/types/modules/excel/utils/stream-buf.d.ts +2 -2
  495. package/dist/types/modules/excel/workbook.d.ts +9 -9
  496. package/dist/types/modules/excel/worksheet.d.ts +10 -10
  497. package/dist/types/modules/excel/xlsx/xform/base-xform.d.ts +1 -1
  498. package/dist/types/modules/excel/xlsx/xform/book/defined-name-xform.d.ts +1 -1
  499. package/dist/types/modules/excel/xlsx/xform/book/sheet-xform.d.ts +1 -1
  500. package/dist/types/modules/excel/xlsx/xform/book/workbook-calc-properties-xform.d.ts +1 -1
  501. package/dist/types/modules/excel/xlsx/xform/book/workbook-pivot-cache-xform.d.ts +1 -1
  502. package/dist/types/modules/excel/xlsx/xform/book/workbook-properties-xform.d.ts +1 -1
  503. package/dist/types/modules/excel/xlsx/xform/book/workbook-view-xform.d.ts +1 -1
  504. package/dist/types/modules/excel/xlsx/xform/book/workbook-xform.d.ts +2 -2
  505. package/dist/types/modules/excel/xlsx/xform/comment/comment-xform.d.ts +2 -2
  506. package/dist/types/modules/excel/xlsx/xform/comment/comments-xform.d.ts +2 -2
  507. package/dist/types/modules/excel/xlsx/xform/comment/style/vml-position-xform.d.ts +1 -1
  508. package/dist/types/modules/excel/xlsx/xform/comment/style/vml-protection-xform.d.ts +1 -1
  509. package/dist/types/modules/excel/xlsx/xform/comment/vml-anchor-xform.d.ts +1 -1
  510. package/dist/types/modules/excel/xlsx/xform/comment/vml-client-data-xform.d.ts +1 -1
  511. package/dist/types/modules/excel/xlsx/xform/comment/vml-notes-xform.d.ts +1 -1
  512. package/dist/types/modules/excel/xlsx/xform/comment/vml-shape-xform.d.ts +1 -1
  513. package/dist/types/modules/excel/xlsx/xform/comment/vml-textbox-xform.d.ts +1 -1
  514. package/dist/types/modules/excel/xlsx/xform/composite-xform.d.ts +1 -1
  515. package/dist/types/modules/excel/xlsx/xform/core/app-heading-pairs-xform.d.ts +1 -1
  516. package/dist/types/modules/excel/xlsx/xform/core/app-titles-of-parts-xform.d.ts +1 -1
  517. package/dist/types/modules/excel/xlsx/xform/core/app-xform.d.ts +1 -1
  518. package/dist/types/modules/excel/xlsx/xform/core/content-types-xform.d.ts +1 -1
  519. package/dist/types/modules/excel/xlsx/xform/core/core-xform.d.ts +1 -1
  520. package/dist/types/modules/excel/xlsx/xform/core/relationship-xform.d.ts +1 -1
  521. package/dist/types/modules/excel/xlsx/xform/core/relationships-xform.d.ts +1 -1
  522. package/dist/types/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.d.ts +1 -1
  523. package/dist/types/modules/excel/xlsx/xform/drawing/blip-fill-xform.d.ts +2 -2
  524. package/dist/types/modules/excel/xlsx/xform/drawing/blip-xform.d.ts +1 -1
  525. package/dist/types/modules/excel/xlsx/xform/drawing/c-nv-pic-pr-xform.d.ts +1 -1
  526. package/dist/types/modules/excel/xlsx/xform/drawing/c-nv-pr-xform.d.ts +1 -1
  527. package/dist/types/modules/excel/xlsx/xform/drawing/cell-position-xform.d.ts +2 -2
  528. package/dist/types/modules/excel/xlsx/xform/drawing/drawing-xform.d.ts +1 -1
  529. package/dist/types/modules/excel/xlsx/xform/drawing/ext-lst-xform.d.ts +1 -1
  530. package/dist/types/modules/excel/xlsx/xform/drawing/ext-xform.d.ts +1 -1
  531. package/dist/types/modules/excel/xlsx/xform/drawing/hlink-click-xform.d.ts +1 -1
  532. package/dist/types/modules/excel/xlsx/xform/drawing/nv-pic-pr-xform.d.ts +1 -1
  533. package/dist/types/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.d.ts +1 -1
  534. package/dist/types/modules/excel/xlsx/xform/drawing/pic-xform.d.ts +1 -1
  535. package/dist/types/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.d.ts +1 -1
  536. package/dist/types/modules/excel/xlsx/xform/list-xform.d.ts +1 -1
  537. package/dist/types/modules/excel/xlsx/xform/pivot-table/cache-field-xform.d.ts +1 -1
  538. package/dist/types/modules/excel/xlsx/xform/pivot-table/pivot-cache-definition-xform.d.ts +3 -3
  539. package/dist/types/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.d.ts +2 -2
  540. package/dist/types/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.d.ts +1 -1
  541. package/dist/types/modules/excel/xlsx/xform/sheet/auto-filter-xform.d.ts +1 -1
  542. package/dist/types/modules/excel/xlsx/xform/sheet/cell-xform.d.ts +1 -1
  543. package/dist/types/modules/excel/xlsx/xform/sheet/cf/cf-rule-xform.d.ts +6 -6
  544. package/dist/types/modules/excel/xlsx/xform/sheet/cf/cfvo-xform.d.ts +1 -1
  545. package/dist/types/modules/excel/xlsx/xform/sheet/cf/color-scale-xform.d.ts +3 -3
  546. package/dist/types/modules/excel/xlsx/xform/sheet/cf/conditional-formatting-xform.d.ts +1 -1
  547. package/dist/types/modules/excel/xlsx/xform/sheet/cf/conditional-formattings-xform.d.ts +2 -2
  548. package/dist/types/modules/excel/xlsx/xform/sheet/cf/databar-xform.d.ts +3 -3
  549. package/dist/types/modules/excel/xlsx/xform/sheet/cf/ext-lst-ref-xform.d.ts +1 -1
  550. package/dist/types/modules/excel/xlsx/xform/sheet/cf/formula-xform.d.ts +1 -1
  551. package/dist/types/modules/excel/xlsx/xform/sheet/cf/icon-set-xform.d.ts +2 -2
  552. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.d.ts +1 -1
  553. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.d.ts +3 -3
  554. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.d.ts +2 -2
  555. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.d.ts +3 -3
  556. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.d.ts +2 -2
  557. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/databar-ext-xform.d.ts +3 -3
  558. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/f-ext-xform.d.ts +1 -1
  559. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.d.ts +3 -3
  560. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/sqref-ext-xform.d.ts +1 -1
  561. package/dist/types/modules/excel/xlsx/xform/sheet/col-breaks-xform.d.ts +1 -1
  562. package/dist/types/modules/excel/xlsx/xform/sheet/col-xform.d.ts +1 -1
  563. package/dist/types/modules/excel/xlsx/xform/sheet/data-validations-xform.d.ts +1 -1
  564. package/dist/types/modules/excel/xlsx/xform/sheet/dimension-xform.d.ts +1 -1
  565. package/dist/types/modules/excel/xlsx/xform/sheet/drawing-xform.d.ts +1 -1
  566. package/dist/types/modules/excel/xlsx/xform/sheet/ext-lst-xform.d.ts +1 -1
  567. package/dist/types/modules/excel/xlsx/xform/sheet/header-footer-xform.d.ts +1 -1
  568. package/dist/types/modules/excel/xlsx/xform/sheet/hyperlink-xform.d.ts +1 -1
  569. package/dist/types/modules/excel/xlsx/xform/sheet/merge-cell-xform.d.ts +1 -1
  570. package/dist/types/modules/excel/xlsx/xform/sheet/outline-properties-xform.d.ts +1 -1
  571. package/dist/types/modules/excel/xlsx/xform/sheet/page-breaks-xform.d.ts +1 -1
  572. package/dist/types/modules/excel/xlsx/xform/sheet/page-margins-xform.d.ts +1 -1
  573. package/dist/types/modules/excel/xlsx/xform/sheet/page-setup-properties-xform.d.ts +1 -1
  574. package/dist/types/modules/excel/xlsx/xform/sheet/page-setup-xform.d.ts +1 -1
  575. package/dist/types/modules/excel/xlsx/xform/sheet/picture-xform.d.ts +1 -1
  576. package/dist/types/modules/excel/xlsx/xform/sheet/print-options-xform.d.ts +1 -1
  577. package/dist/types/modules/excel/xlsx/xform/sheet/row-breaks-xform.d.ts +1 -1
  578. package/dist/types/modules/excel/xlsx/xform/sheet/row-xform.d.ts +1 -1
  579. package/dist/types/modules/excel/xlsx/xform/sheet/sheet-format-properties-xform.d.ts +1 -1
  580. package/dist/types/modules/excel/xlsx/xform/sheet/sheet-properties-xform.d.ts +1 -1
  581. package/dist/types/modules/excel/xlsx/xform/sheet/sheet-protection-xform.d.ts +1 -1
  582. package/dist/types/modules/excel/xlsx/xform/sheet/sheet-view-xform.d.ts +1 -1
  583. package/dist/types/modules/excel/xlsx/xform/sheet/table-part-xform.d.ts +1 -1
  584. package/dist/types/modules/excel/xlsx/xform/sheet/worksheet-xform.d.ts +1 -1
  585. package/dist/types/modules/excel/xlsx/xform/simple/boolean-xform.d.ts +1 -1
  586. package/dist/types/modules/excel/xlsx/xform/simple/date-xform.d.ts +1 -1
  587. package/dist/types/modules/excel/xlsx/xform/simple/float-xform.d.ts +1 -1
  588. package/dist/types/modules/excel/xlsx/xform/simple/integer-xform.d.ts +1 -1
  589. package/dist/types/modules/excel/xlsx/xform/simple/string-xform.d.ts +1 -1
  590. package/dist/types/modules/excel/xlsx/xform/static-xform.d.ts +1 -1
  591. package/dist/types/modules/excel/xlsx/xform/strings/phonetic-text-xform.d.ts +1 -1
  592. package/dist/types/modules/excel/xlsx/xform/strings/rich-text-xform.d.ts +3 -3
  593. package/dist/types/modules/excel/xlsx/xform/strings/shared-string-xform.d.ts +1 -1
  594. package/dist/types/modules/excel/xlsx/xform/strings/shared-strings-xform.d.ts +2 -2
  595. package/dist/types/modules/excel/xlsx/xform/strings/text-xform.d.ts +1 -1
  596. package/dist/types/modules/excel/xlsx/xform/style/alignment-xform.d.ts +1 -1
  597. package/dist/types/modules/excel/xlsx/xform/style/border-xform.d.ts +2 -2
  598. package/dist/types/modules/excel/xlsx/xform/style/color-xform.d.ts +1 -1
  599. package/dist/types/modules/excel/xlsx/xform/style/dxf-xform.d.ts +1 -1
  600. package/dist/types/modules/excel/xlsx/xform/style/fill-xform.d.ts +2 -2
  601. package/dist/types/modules/excel/xlsx/xform/style/font-xform.d.ts +1 -1
  602. package/dist/types/modules/excel/xlsx/xform/style/numfmt-xform.d.ts +1 -1
  603. package/dist/types/modules/excel/xlsx/xform/style/protection-xform.d.ts +1 -1
  604. package/dist/types/modules/excel/xlsx/xform/style/style-xform.d.ts +3 -3
  605. package/dist/types/modules/excel/xlsx/xform/style/styles-xform.d.ts +2 -2
  606. package/dist/types/modules/excel/xlsx/xform/style/underline-xform.d.ts +1 -1
  607. package/dist/types/modules/excel/xlsx/xform/table/auto-filter-xform.d.ts +2 -2
  608. package/dist/types/modules/excel/xlsx/xform/table/custom-filter-xform.d.ts +1 -1
  609. package/dist/types/modules/excel/xlsx/xform/table/filter-column-xform.d.ts +2 -2
  610. package/dist/types/modules/excel/xlsx/xform/table/filter-xform.d.ts +1 -1
  611. package/dist/types/modules/excel/xlsx/xform/table/table-column-xform.d.ts +1 -1
  612. package/dist/types/modules/excel/xlsx/xform/table/table-style-info-xform.d.ts +1 -1
  613. package/dist/types/modules/excel/xlsx/xform/table/table-xform.d.ts +1 -1
  614. package/dist/types/modules/excel/xlsx/xlsx.browser.d.ts +3 -3
  615. package/dist/types/modules/excel/xlsx/xlsx.d.ts +1 -1
  616. package/dist/types/modules/stream/base-transform.d.ts +1 -1
  617. package/dist/types/modules/stream/buffered-stream.d.ts +1 -1
  618. package/dist/types/modules/stream/index.browser.d.ts +8 -8
  619. package/dist/types/modules/stream/index.d.ts +8 -8
  620. package/dist/types/modules/stream/pull-stream.d.ts +1 -1
  621. package/dist/types/modules/stream/streams.browser.d.ts +4 -4
  622. package/dist/types/modules/stream/streams.d.ts +3 -3
  623. package/dist/types/modules/stream/utils.d.ts +1 -1
  624. package/dist/types/utils/utils.browser.d.ts +1 -1
  625. package/dist/types/utils/utils.d.ts +1 -1
  626. package/package.json +10 -6
  627. package/dist/browser/excelts.esm.js +0 -24621
  628. package/dist/browser/excelts.esm.js.map +0 -1
  629. package/dist/browser/excelts.esm.min.js +0 -148
  630. /package/dist/{browser → iife}/excelts.iife.js.map +0 -0
@@ -0,0 +1,624 @@
1
+ import { XmlStream } from "../../../utils/xml-stream.js";
2
+ import { xmlEncode, xmlDecode } from "../../../../../utils/utils.browser.js";
3
+ import { BaseXform } from "../base-xform.js";
4
+ class PivotTableXform extends BaseXform {
5
+ constructor() {
6
+ super();
7
+ this.map = {};
8
+ this.model = null;
9
+ this.inPivotFields = false;
10
+ this.inRowFields = false;
11
+ this.inColFields = false;
12
+ this.inDataFields = false;
13
+ this.inRowItems = false;
14
+ this.inColItems = false;
15
+ this.inLocation = false;
16
+ this.currentPivotField = null;
17
+ this.inItems = false;
18
+ this.inPivotTableStyleInfo = false;
19
+ }
20
+ prepare(_model) {
21
+ // No preparation needed
22
+ }
23
+ get tag() {
24
+ // http://www.datypic.com/sc/ooxml/e-ssml_pivotTableDefinition.html
25
+ return "pivotTableDefinition";
26
+ }
27
+ reset() {
28
+ this.model = null;
29
+ this.inPivotFields = false;
30
+ this.inRowFields = false;
31
+ this.inColFields = false;
32
+ this.inDataFields = false;
33
+ this.inRowItems = false;
34
+ this.inColItems = false;
35
+ this.inLocation = false;
36
+ this.currentPivotField = null;
37
+ this.inItems = false;
38
+ this.inPivotTableStyleInfo = false;
39
+ }
40
+ /**
41
+ * Render pivot table XML.
42
+ * Supports both newly created models and loaded models.
43
+ */
44
+ render(xmlStream, model) {
45
+ const isLoaded = model.isLoaded;
46
+ if (isLoaded) {
47
+ this.renderLoaded(xmlStream, model);
48
+ }
49
+ else {
50
+ this.renderNew(xmlStream, model);
51
+ }
52
+ }
53
+ /**
54
+ * Render newly created pivot table
55
+ */
56
+ renderNew(xmlStream, model) {
57
+ const { rows, columns, values, cacheFields, cacheId, applyWidthHeightFormats } = model;
58
+ // Build rowItems - need one <i> for each unique value in row fields, plus grand total
59
+ const rowItems = buildRowItems(rows, cacheFields);
60
+ // Build colItems - need one <i> for each unique value in col fields, plus grand total
61
+ const colItems = buildColItems(columns, cacheFields, values.length);
62
+ // Calculate pivot table dimensions
63
+ const rowFieldItemCount = rows.length > 0 ? cacheFields[rows[0]]?.sharedItems?.length || 0 : 0;
64
+ const colFieldItemCount = columns.length > 0 ? cacheFields[columns[0]]?.sharedItems?.length || 0 : 0;
65
+ // Location: A3 is where pivot table starts
66
+ // - firstHeaderRow: 1 (column headers are in first row of pivot table)
67
+ // - firstDataRow: 2 (data starts in second row)
68
+ // - firstDataCol: 1 (data starts in second column, after row labels)
69
+ // Calculate ref based on actual data size:
70
+ // - Start row: 3
71
+ // - Header rows: 2 (column label row + subheader row)
72
+ // - Data rows: rowFieldItemCount
73
+ // - Grand total row: 1
74
+ // endRow = 3 + 2 + rowFieldItemCount + 1 - 1 = 5 + rowFieldItemCount
75
+ // Or simplified: startRow (3) + 1 (column labels) + rowFieldItemCount (data) + 1 (grand total)
76
+ const endRow = 3 + 1 + rowFieldItemCount + 1; // = 5 + rowFieldItemCount
77
+ const endCol = 1 + colFieldItemCount + 1; // start col + data cols + grand total
78
+ const endColLetter = String.fromCharCode(64 + endCol);
79
+ const locationRef = `A3:${endColLetter}${endRow}`;
80
+ xmlStream.openXml(XmlStream.StdDocAttributes);
81
+ xmlStream.openNode(this.tag, {
82
+ ...PivotTableXform.PIVOT_TABLE_ATTRIBUTES,
83
+ name: "PivotTable2",
84
+ cacheId,
85
+ applyNumberFormats: "0",
86
+ applyBorderFormats: "0",
87
+ applyFontFormats: "0",
88
+ applyPatternFormats: "0",
89
+ applyAlignmentFormats: "0",
90
+ applyWidthHeightFormats,
91
+ dataCaption: "Values",
92
+ updatedVersion: "8",
93
+ minRefreshableVersion: "3",
94
+ useAutoFormatting: "1",
95
+ itemPrintTitles: "1",
96
+ createdVersion: "8",
97
+ indent: "0",
98
+ compact: "0",
99
+ compactData: "0",
100
+ multipleFieldFilters: "0"
101
+ });
102
+ xmlStream.writeXml(`
103
+ <location ref="${locationRef}" firstHeaderRow="1" firstDataRow="2" firstDataCol="1" />
104
+ <pivotFields count="${cacheFields.length}">
105
+ ${renderPivotFields(model)}
106
+ </pivotFields>
107
+ <rowFields count="${rows.length}">
108
+ ${rows.map(rowIndex => `<field x="${rowIndex}" />`).join("\n ")}
109
+ </rowFields>
110
+ <rowItems count="${rowItems.count}">
111
+ ${rowItems.xml}
112
+ </rowItems>
113
+ <colFields count="${columns.length === 0 ? 1 : columns.length}">
114
+ ${columns.length === 0
115
+ ? '<field x="-2" />'
116
+ : columns.map(columnIndex => `<field x="${columnIndex}" />`).join("\n ")}
117
+ </colFields>
118
+ <colItems count="${colItems.count}">
119
+ ${colItems.xml}
120
+ </colItems>
121
+ <dataFields count="${values.length}">
122
+ ${buildDataFields(cacheFields, values, model.metric)}
123
+ </dataFields>
124
+ <pivotTableStyleInfo
125
+ name="PivotStyleLight16"
126
+ showRowHeaders="1"
127
+ showColHeaders="1"
128
+ showRowStripes="0"
129
+ showColStripes="0"
130
+ showLastColumn="1"
131
+ />
132
+ <extLst>
133
+ <ext
134
+ uri="{962EF5D1-5CA2-4c93-8EF4-DBF5C05439D2}"
135
+ xmlns:x14="http://schemas.microsoft.com/office/spreadsheetml/2009/9/main"
136
+ >
137
+ <x14:pivotTableDefinition
138
+ hideValuesRow="1"
139
+ xmlns:xm="http://schemas.microsoft.com/office/excel/2006/main"
140
+ />
141
+ </ext>
142
+ <ext
143
+ uri="{747A6164-185A-40DC-8AA5-F01512510D54}"
144
+ xmlns:xpdl="http://schemas.microsoft.com/office/spreadsheetml/2016/pivotdefaultlayout"
145
+ >
146
+ <xpdl:pivotTableDefinition16
147
+ EnabledSubtotalsDefault="0"
148
+ SubtotalsOnTopDefault="0"
149
+ />
150
+ </ext>
151
+ </extLst>
152
+ `);
153
+ xmlStream.closeNode();
154
+ }
155
+ /**
156
+ * Render loaded pivot table (preserving original structure)
157
+ */
158
+ renderLoaded(xmlStream, model) {
159
+ xmlStream.openXml(XmlStream.StdDocAttributes);
160
+ xmlStream.openNode(this.tag, {
161
+ ...PivotTableXform.PIVOT_TABLE_ATTRIBUTES,
162
+ name: model.name || "PivotTable1",
163
+ cacheId: model.cacheId,
164
+ applyNumberFormats: model.applyNumberFormats || "0",
165
+ applyBorderFormats: model.applyBorderFormats || "0",
166
+ applyFontFormats: model.applyFontFormats || "0",
167
+ applyPatternFormats: model.applyPatternFormats || "0",
168
+ applyAlignmentFormats: model.applyAlignmentFormats || "0",
169
+ applyWidthHeightFormats: model.applyWidthHeightFormats || "0",
170
+ dataCaption: model.dataCaption || "Values",
171
+ updatedVersion: model.updatedVersion || "8",
172
+ minRefreshableVersion: model.minRefreshableVersion || "3",
173
+ useAutoFormatting: model.useAutoFormatting ? "1" : "0",
174
+ itemPrintTitles: model.itemPrintTitles ? "1" : "0",
175
+ createdVersion: model.createdVersion || "8",
176
+ indent: model.indent !== undefined ? String(model.indent) : "0",
177
+ compact: model.compact ? "1" : "0",
178
+ compactData: model.compactData ? "1" : "0",
179
+ multipleFieldFilters: model.multipleFieldFilters ? "1" : "0"
180
+ });
181
+ // Location
182
+ if (model.location) {
183
+ xmlStream.leafNode("location", {
184
+ ref: model.location.ref,
185
+ firstHeaderRow: model.location.firstHeaderRow,
186
+ firstDataRow: model.location.firstDataRow,
187
+ firstDataCol: model.location.firstDataCol
188
+ });
189
+ }
190
+ // Pivot fields
191
+ if (model.pivotFields.length > 0) {
192
+ xmlStream.openNode("pivotFields", { count: model.pivotFields.length });
193
+ for (const pivotField of model.pivotFields) {
194
+ this.renderPivotFieldLoaded(xmlStream, pivotField);
195
+ }
196
+ xmlStream.closeNode();
197
+ }
198
+ // Row fields
199
+ if (model.rowFields.length > 0) {
200
+ xmlStream.openNode("rowFields", { count: model.rowFields.length });
201
+ for (const fieldIndex of model.rowFields) {
202
+ xmlStream.leafNode("field", { x: fieldIndex });
203
+ }
204
+ xmlStream.closeNode();
205
+ }
206
+ // Row items (simplified - just grand total)
207
+ xmlStream.writeXml(`
208
+ <rowItems count="1">
209
+ <i t="grand"><x /></i>
210
+ </rowItems>`);
211
+ // Col fields
212
+ const colFieldCount = model.colFields.length === 0 ? 1 : model.colFields.length;
213
+ xmlStream.openNode("colFields", { count: colFieldCount });
214
+ if (model.colFields.length === 0) {
215
+ xmlStream.leafNode("field", { x: -2 });
216
+ }
217
+ else {
218
+ for (const fieldIndex of model.colFields) {
219
+ xmlStream.leafNode("field", { x: fieldIndex });
220
+ }
221
+ }
222
+ xmlStream.closeNode();
223
+ // Col items (simplified - just grand total)
224
+ xmlStream.writeXml(`
225
+ <colItems count="1">
226
+ <i t="grand"><x /></i>
227
+ </colItems>`);
228
+ // Data fields
229
+ if (model.dataFields.length > 0) {
230
+ xmlStream.openNode("dataFields", { count: model.dataFields.length });
231
+ for (const dataField of model.dataFields) {
232
+ const attrs = {
233
+ name: dataField.name,
234
+ fld: dataField.fld,
235
+ baseField: dataField.baseField ?? 0,
236
+ baseItem: dataField.baseItem ?? 0
237
+ };
238
+ if (dataField.subtotal && dataField.subtotal !== "sum") {
239
+ attrs.subtotal = dataField.subtotal;
240
+ }
241
+ xmlStream.leafNode("dataField", attrs);
242
+ }
243
+ xmlStream.closeNode();
244
+ }
245
+ // Style info
246
+ xmlStream.leafNode("pivotTableStyleInfo", {
247
+ name: model.styleName || "PivotStyleLight16",
248
+ showRowHeaders: "1",
249
+ showColHeaders: "1",
250
+ showRowStripes: "0",
251
+ showColStripes: "0",
252
+ showLastColumn: "1"
253
+ });
254
+ // Extensions
255
+ xmlStream.writeXml(`
256
+ <extLst>
257
+ <ext
258
+ uri="{962EF5D1-5CA2-4c93-8EF4-DBF5C05439D2}"
259
+ xmlns:x14="http://schemas.microsoft.com/office/spreadsheetml/2009/9/main"
260
+ >
261
+ <x14:pivotTableDefinition
262
+ hideValuesRow="1"
263
+ xmlns:xm="http://schemas.microsoft.com/office/excel/2006/main"
264
+ />
265
+ </ext>
266
+ <ext
267
+ uri="{747A6164-185A-40DC-8AA5-F01512510D54}"
268
+ xmlns:xpdl="http://schemas.microsoft.com/office/spreadsheetml/2016/pivotdefaultlayout"
269
+ >
270
+ <xpdl:pivotTableDefinition16
271
+ EnabledSubtotalsDefault="0"
272
+ SubtotalsOnTopDefault="0"
273
+ />
274
+ </ext>
275
+ </extLst>
276
+ `);
277
+ xmlStream.closeNode();
278
+ }
279
+ /**
280
+ * Render a loaded pivot field
281
+ */
282
+ renderPivotFieldLoaded(xmlStream, field) {
283
+ const attrs = {
284
+ compact: field.compact ? "1" : "0",
285
+ outline: field.outline ? "1" : "0",
286
+ showAll: field.showAll ? "1" : "0",
287
+ defaultSubtotal: field.defaultSubtotal ? "1" : "0"
288
+ };
289
+ if (field.axis) {
290
+ attrs.axis = field.axis;
291
+ }
292
+ if (field.dataField) {
293
+ attrs.dataField = "1";
294
+ }
295
+ if (field.items && field.items.length > 0) {
296
+ xmlStream.openNode("pivotField", attrs);
297
+ xmlStream.openNode("items", { count: field.items.length + 1 });
298
+ for (const itemIndex of field.items) {
299
+ xmlStream.leafNode("item", { x: itemIndex });
300
+ }
301
+ // Grand total item
302
+ xmlStream.writeXml('<item t="default" />');
303
+ xmlStream.closeNode(); // items
304
+ xmlStream.closeNode(); // pivotField
305
+ }
306
+ else {
307
+ xmlStream.leafNode("pivotField", attrs);
308
+ }
309
+ }
310
+ parseOpen(node) {
311
+ const { name, attributes } = node;
312
+ switch (name) {
313
+ case this.tag:
314
+ // pivotTableDefinition root element
315
+ this.reset();
316
+ this.model = {
317
+ name: attributes.name,
318
+ cacheId: parseInt(attributes.cacheId || "0", 10),
319
+ uid: attributes["xr:uid"],
320
+ pivotFields: [],
321
+ rowFields: [],
322
+ colFields: [],
323
+ dataFields: [],
324
+ applyNumberFormats: attributes.applyNumberFormats,
325
+ applyBorderFormats: attributes.applyBorderFormats,
326
+ applyFontFormats: attributes.applyFontFormats,
327
+ applyPatternFormats: attributes.applyPatternFormats,
328
+ applyAlignmentFormats: attributes.applyAlignmentFormats,
329
+ applyWidthHeightFormats: attributes.applyWidthHeightFormats,
330
+ dataCaption: attributes.dataCaption,
331
+ updatedVersion: attributes.updatedVersion,
332
+ minRefreshableVersion: attributes.minRefreshableVersion,
333
+ createdVersion: attributes.createdVersion,
334
+ useAutoFormatting: attributes.useAutoFormatting === "1",
335
+ itemPrintTitles: attributes.itemPrintTitles === "1",
336
+ indent: attributes.indent ? parseInt(attributes.indent, 10) : 0,
337
+ compact: attributes.compact === "1",
338
+ compactData: attributes.compactData === "1",
339
+ multipleFieldFilters: attributes.multipleFieldFilters === "1",
340
+ isLoaded: true
341
+ };
342
+ break;
343
+ case "location":
344
+ if (this.model) {
345
+ this.model.location = {
346
+ ref: attributes.ref,
347
+ firstHeaderRow: attributes.firstHeaderRow
348
+ ? parseInt(attributes.firstHeaderRow, 10)
349
+ : undefined,
350
+ firstDataRow: attributes.firstDataRow
351
+ ? parseInt(attributes.firstDataRow, 10)
352
+ : undefined,
353
+ firstDataCol: attributes.firstDataCol
354
+ ? parseInt(attributes.firstDataCol, 10)
355
+ : undefined
356
+ };
357
+ }
358
+ break;
359
+ case "pivotFields":
360
+ this.inPivotFields = true;
361
+ break;
362
+ case "pivotField":
363
+ if (this.inPivotFields) {
364
+ this.currentPivotField = {
365
+ axis: attributes.axis,
366
+ dataField: attributes.dataField === "1",
367
+ items: [],
368
+ compact: attributes.compact === "1",
369
+ outline: attributes.outline === "1",
370
+ showAll: attributes.showAll === "1",
371
+ defaultSubtotal: attributes.defaultSubtotal === "1"
372
+ };
373
+ }
374
+ break;
375
+ case "items":
376
+ if (this.currentPivotField) {
377
+ this.inItems = true;
378
+ }
379
+ break;
380
+ case "item":
381
+ if (this.inItems && this.currentPivotField && attributes.x !== undefined) {
382
+ this.currentPivotField.items.push(parseInt(attributes.x, 10));
383
+ }
384
+ break;
385
+ case "rowFields":
386
+ this.inRowFields = true;
387
+ break;
388
+ case "colFields":
389
+ this.inColFields = true;
390
+ break;
391
+ case "dataFields":
392
+ this.inDataFields = true;
393
+ break;
394
+ case "rowItems":
395
+ this.inRowItems = true;
396
+ break;
397
+ case "colItems":
398
+ this.inColItems = true;
399
+ break;
400
+ case "field":
401
+ // Handle field element (used in rowFields, colFields)
402
+ if (this.model) {
403
+ const fieldIndex = parseInt(attributes.x || "0", 10);
404
+ if (this.inRowFields) {
405
+ this.model.rowFields.push(fieldIndex);
406
+ }
407
+ else if (this.inColFields) {
408
+ this.model.colFields.push(fieldIndex);
409
+ }
410
+ }
411
+ break;
412
+ case "dataField":
413
+ if (this.inDataFields && this.model) {
414
+ this.model.dataFields.push({
415
+ name: xmlDecode(attributes.name || ""),
416
+ fld: parseInt(attributes.fld || "0", 10),
417
+ baseField: attributes.baseField ? parseInt(attributes.baseField, 10) : 0,
418
+ baseItem: attributes.baseItem ? parseInt(attributes.baseItem, 10) : 0,
419
+ subtotal: attributes.subtotal
420
+ });
421
+ }
422
+ break;
423
+ case "pivotTableStyleInfo":
424
+ if (this.model) {
425
+ this.model.styleName = attributes.name;
426
+ }
427
+ break;
428
+ }
429
+ return true;
430
+ }
431
+ parseText(_text) {
432
+ // No text content in pivot table elements
433
+ }
434
+ parseClose(name) {
435
+ switch (name) {
436
+ case this.tag:
437
+ // End of pivotTableDefinition
438
+ return false;
439
+ case "pivotFields":
440
+ this.inPivotFields = false;
441
+ break;
442
+ case "pivotField":
443
+ if (this.currentPivotField && this.model) {
444
+ this.model.pivotFields.push(this.currentPivotField);
445
+ this.currentPivotField = null;
446
+ }
447
+ break;
448
+ case "items":
449
+ this.inItems = false;
450
+ break;
451
+ case "rowFields":
452
+ this.inRowFields = false;
453
+ break;
454
+ case "colFields":
455
+ this.inColFields = false;
456
+ break;
457
+ case "dataFields":
458
+ this.inDataFields = false;
459
+ break;
460
+ case "rowItems":
461
+ this.inRowItems = false;
462
+ break;
463
+ case "colItems":
464
+ this.inColItems = false;
465
+ break;
466
+ }
467
+ return true;
468
+ }
469
+ reconcile(_model, _options) {
470
+ // No reconciliation needed
471
+ }
472
+ }
473
+ PivotTableXform.PIVOT_TABLE_ATTRIBUTES = {
474
+ xmlns: "http://schemas.openxmlformats.org/spreadsheetml/2006/main"
475
+ };
476
+ // Helpers
477
+ /**
478
+ * Build rowItems XML - one item for each unique value in row fields, plus grand total.
479
+ * Each <i> represents a row in the pivot table.
480
+ * - Regular items: <i><x/></i> for index 0, <i><x v="index"/></i> for index > 0
481
+ * - Grand total: <i t="grand"><x/></i>
482
+ * Note: When v=0, the v attribute should be omitted (Excel convention)
483
+ */
484
+ function buildRowItems(rows, cacheFields) {
485
+ if (rows.length === 0) {
486
+ // No row fields - just grand total
487
+ return { count: 1, xml: '<i t="grand"><x /></i>' };
488
+ }
489
+ // Get unique values count from the first row field
490
+ const rowFieldIndex = rows[0];
491
+ const sharedItems = cacheFields[rowFieldIndex]?.sharedItems || [];
492
+ const itemCount = sharedItems.length;
493
+ // Build items: one for each unique value + grand total
494
+ const items = [];
495
+ // Regular items - reference each unique value by index
496
+ // Note: v="0" should be omitted (Excel uses <x/> instead of <x v="0"/>)
497
+ for (let i = 0; i < itemCount; i++) {
498
+ if (i === 0) {
499
+ items.push("<i><x /></i>");
500
+ }
501
+ else {
502
+ items.push(`<i><x v="${i}" /></i>`);
503
+ }
504
+ }
505
+ // Grand total row
506
+ items.push('<i t="grand"><x /></i>');
507
+ return {
508
+ count: items.length,
509
+ xml: items.join("\n ")
510
+ };
511
+ }
512
+ /**
513
+ * Build colItems XML - one item for each unique value in column fields, plus grand total.
514
+ * When there are multiple data fields (values), each column value may have sub-columns.
515
+ * Note: When v=0, the v attribute should be omitted (Excel convention)
516
+ */
517
+ function buildColItems(columns, cacheFields, valueCount) {
518
+ if (columns.length === 0) {
519
+ // No column fields - columns are based on data fields (values)
520
+ if (valueCount > 1) {
521
+ // Multiple values: one column per value + grand total
522
+ const items = [];
523
+ for (let i = 0; i < valueCount; i++) {
524
+ if (i === 0) {
525
+ items.push("<i><x /></i>");
526
+ }
527
+ else {
528
+ items.push(`<i><x v="${i}" /></i>`);
529
+ }
530
+ }
531
+ items.push('<i t="grand"><x /></i>');
532
+ return { count: items.length, xml: items.join("\n ") };
533
+ }
534
+ // Single value: just grand total
535
+ return { count: 1, xml: '<i t="grand"><x /></i>' };
536
+ }
537
+ // Get unique values count from the first column field
538
+ const colFieldIndex = columns[0];
539
+ const sharedItems = cacheFields[colFieldIndex]?.sharedItems || [];
540
+ const itemCount = sharedItems.length;
541
+ // Build items: one for each unique value + grand total
542
+ const items = [];
543
+ // Regular items - reference each unique value by index
544
+ // Note: v="0" should be omitted (Excel uses <x/> instead of <x v="0"/>)
545
+ for (let i = 0; i < itemCount; i++) {
546
+ if (i === 0) {
547
+ items.push("<i><x /></i>");
548
+ }
549
+ else {
550
+ items.push(`<i><x v="${i}" /></i>`);
551
+ }
552
+ }
553
+ // Grand total column
554
+ items.push('<i t="grand"><x /></i>');
555
+ return {
556
+ count: items.length,
557
+ xml: items.join("\n ")
558
+ };
559
+ }
560
+ /**
561
+ * Build dataField XML elements for all values in the pivot table.
562
+ * Supports multiple values when columns is empty.
563
+ */
564
+ function buildDataFields(cacheFields, values, metric) {
565
+ const metricName = metric === "count" ? "Count" : "Sum";
566
+ // For 'count' metric, Excel requires subtotal="count" attribute
567
+ const subtotalAttr = metric === "count" ? ' subtotal="count"' : "";
568
+ return values
569
+ .map(valueIndex => `<dataField
570
+ name="${metricName} of ${xmlEncode(cacheFields[valueIndex].name)}"
571
+ fld="${valueIndex}"
572
+ baseField="0"
573
+ baseItem="0"${subtotalAttr}
574
+ />`)
575
+ .join("");
576
+ }
577
+ function renderPivotFields(pivotTable) {
578
+ // Pre-compute field type lookup for O(1) access
579
+ const rowSet = new Set(pivotTable.rows);
580
+ const colSet = new Set(pivotTable.columns);
581
+ const valueSet = new Set(pivotTable.values);
582
+ return pivotTable.cacheFields
583
+ .map((cacheField, fieldIndex) => {
584
+ const isRow = rowSet.has(fieldIndex);
585
+ const isCol = colSet.has(fieldIndex);
586
+ const isValue = valueSet.has(fieldIndex);
587
+ return renderPivotField(isRow, isCol, isValue, cacheField.sharedItems);
588
+ })
589
+ .join("");
590
+ }
591
+ function renderPivotField(isRow, isCol, isValue, sharedItems) {
592
+ // A field can be both a row/column field AND a value field
593
+ // In this case, it needs both axis attribute AND dataField="1"
594
+ if (isRow || isCol) {
595
+ const axis = isRow ? "axisRow" : "axisCol";
596
+ // Row and column fields should NOT have defaultSubtotal="0"
597
+ let axisAttributes = 'compact="0" outline="0" showAll="0"';
598
+ // If also a value field, add dataField="1"
599
+ if (isValue) {
600
+ axisAttributes = `dataField="1" ${axisAttributes}`;
601
+ }
602
+ // items = one for each shared item + one default item
603
+ const itemsXml = [
604
+ ...sharedItems.map((_item, index) => `<item x="${index}" />`),
605
+ '<item t="default" />' // Required default item for subtotals/grand totals
606
+ ].join("\n ");
607
+ return `
608
+ <pivotField axis="${axis}" ${axisAttributes}>
609
+ <items count="${sharedItems.length + 1}">
610
+ ${itemsXml}
611
+ </items>
612
+ </pivotField>
613
+ `;
614
+ }
615
+ // Value fields and non-axis fields should have defaultSubtotal="0"
616
+ const defaultAttributes = 'compact="0" outline="0" showAll="0" defaultSubtotal="0"';
617
+ return `
618
+ <pivotField
619
+ ${isValue ? 'dataField="1"' : ""}
620
+ ${defaultAttributes}
621
+ />
622
+ `;
623
+ }
624
+ export { PivotTableXform };
@@ -0,0 +1,8 @@
1
+ import { BaseXform } from "@excel/xlsx/xform/base-xform";
2
+ declare class AutoFilterXform extends BaseXform {
3
+ model: any;
4
+ get tag(): string;
5
+ render(xmlStream: any, model: any): void;
6
+ parseOpen(node: any): void;
7
+ }
8
+ export { AutoFilterXform };
@@ -0,0 +1,34 @@
1
+ import { colCache } from "../../../utils/col-cache.js";
2
+ import { BaseXform } from "../base-xform.js";
3
+ class AutoFilterXform extends BaseXform {
4
+ get tag() {
5
+ return "autoFilter";
6
+ }
7
+ render(xmlStream, model) {
8
+ if (model) {
9
+ if (typeof model === "string") {
10
+ // assume range
11
+ xmlStream.leafNode("autoFilter", { ref: model });
12
+ }
13
+ else {
14
+ const getAddress = function (addr) {
15
+ if (typeof addr === "string") {
16
+ return addr;
17
+ }
18
+ return colCache.getAddress(addr.row, addr.column).address;
19
+ };
20
+ const firstAddress = getAddress(model.from);
21
+ const secondAddress = getAddress(model.to);
22
+ if (firstAddress && secondAddress) {
23
+ xmlStream.leafNode("autoFilter", { ref: `${firstAddress}:${secondAddress}` });
24
+ }
25
+ }
26
+ }
27
+ }
28
+ parseOpen(node) {
29
+ if (node.name === "autoFilter") {
30
+ this.model = node.attributes.ref;
31
+ }
32
+ }
33
+ }
34
+ export { AutoFilterXform };
@@ -0,0 +1,17 @@
1
+ import { BaseXform } from "@excel/xlsx/xform/base-xform";
2
+ declare class CellXform extends BaseXform {
3
+ private richTextXform;
4
+ parser: any;
5
+ private t;
6
+ private currentNode;
7
+ constructor();
8
+ get tag(): string;
9
+ prepare(model: any, options: any): void;
10
+ renderFormula(xmlStream: any, model: any): void;
11
+ render(xmlStream: any, model: any): void;
12
+ parseOpen(node: any): boolean;
13
+ parseText(text: any): void;
14
+ parseClose(name: any): boolean;
15
+ reconcile(model: any, options: any): void;
16
+ }
17
+ export { CellXform };