@yuanliwei/exceljs 4.4.0 → 4.4.1

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 (354) hide show
  1. package/dist/LICENSE +22 -0
  2. package/dist/es5/csv/csv.js +176 -0
  3. package/dist/es5/csv/csv.js.map +1 -0
  4. package/dist/es5/csv/line-buffer.js +67 -0
  5. package/dist/es5/csv/line-buffer.js.map +1 -0
  6. package/dist/es5/csv/stream-converter.js +110 -0
  7. package/dist/es5/csv/stream-converter.js.map +1 -0
  8. package/dist/es5/doc/anchor.js +73 -0
  9. package/dist/es5/doc/anchor.js.map +1 -0
  10. package/dist/es5/doc/cell.js +951 -0
  11. package/dist/es5/doc/cell.js.map +1 -0
  12. package/dist/es5/doc/column.js +274 -0
  13. package/dist/es5/doc/column.js.map +1 -0
  14. package/dist/es5/doc/data-validations.js +18 -0
  15. package/dist/es5/doc/data-validations.js.map +1 -0
  16. package/dist/es5/doc/defined-names.js +171 -0
  17. package/dist/es5/doc/defined-names.js.map +1 -0
  18. package/dist/es5/doc/enums.js +49 -0
  19. package/dist/es5/doc/enums.js.map +1 -0
  20. package/dist/es5/doc/image.js +67 -0
  21. package/dist/es5/doc/image.js.map +1 -0
  22. package/dist/es5/doc/modelcontainer.js +16 -0
  23. package/dist/es5/doc/modelcontainer.js.map +1 -0
  24. package/dist/es5/doc/note.js +60 -0
  25. package/dist/es5/doc/note.js.map +1 -0
  26. package/dist/es5/doc/pivot-table.js +132 -0
  27. package/dist/es5/doc/pivot-table.js.map +1 -0
  28. package/dist/es5/doc/range.js +225 -0
  29. package/dist/es5/doc/range.js.map +1 -0
  30. package/dist/es5/doc/row.js +381 -0
  31. package/dist/es5/doc/row.js.map +1 -0
  32. package/dist/es5/doc/table.js +428 -0
  33. package/dist/es5/doc/table.js.map +1 -0
  34. package/dist/es5/doc/workbook.js +203 -0
  35. package/dist/es5/doc/workbook.js.map +1 -0
  36. package/dist/es5/doc/worksheet.js +911 -0
  37. package/dist/es5/doc/worksheet.js.map +1 -0
  38. package/dist/es5/exceljs.bare.js +14 -0
  39. package/dist/es5/exceljs.bare.js.map +1 -0
  40. package/dist/es5/exceljs.browser.js +36 -0
  41. package/dist/es5/exceljs.browser.js.map +1 -0
  42. package/dist/es5/exceljs.nodejs.js +15 -0
  43. package/dist/es5/exceljs.nodejs.js.map +1 -0
  44. package/dist/es5/index.js +15 -0
  45. package/dist/es5/stream/xlsx/hyperlink-reader.js +107 -0
  46. package/dist/es5/stream/xlsx/hyperlink-reader.js.map +1 -0
  47. package/dist/es5/stream/xlsx/sheet-comments-writer.js +94 -0
  48. package/dist/es5/stream/xlsx/sheet-comments-writer.js.map +1 -0
  49. package/dist/es5/stream/xlsx/sheet-rels-writer.js +93 -0
  50. package/dist/es5/stream/xlsx/sheet-rels-writer.js.map +1 -0
  51. package/dist/es5/stream/xlsx/workbook-reader.js +461 -0
  52. package/dist/es5/stream/xlsx/workbook-reader.js.map +1 -0
  53. package/dist/es5/stream/xlsx/workbook-writer.js +345 -0
  54. package/dist/es5/stream/xlsx/workbook-writer.js.map +1 -0
  55. package/dist/es5/stream/xlsx/worksheet-reader.js +459 -0
  56. package/dist/es5/stream/xlsx/worksheet-reader.js.map +1 -0
  57. package/dist/es5/stream/xlsx/worksheet-writer.js +654 -0
  58. package/dist/es5/stream/xlsx/worksheet-writer.js.map +1 -0
  59. package/dist/es5/utils/auto-drain.js +17 -0
  60. package/dist/es5/utils/auto-drain.js.map +1 -0
  61. package/dist/es5/utils/browser-buffer-decode.js +15 -0
  62. package/dist/es5/utils/browser-buffer-decode.js.map +1 -0
  63. package/dist/es5/utils/browser-buffer-encode.js +17 -0
  64. package/dist/es5/utils/browser-buffer-encode.js.map +1 -0
  65. package/dist/es5/utils/cell-matrix.js +145 -0
  66. package/dist/es5/utils/cell-matrix.js.map +1 -0
  67. package/dist/es5/utils/col-cache.js +274 -0
  68. package/dist/es5/utils/col-cache.js.map +1 -0
  69. package/dist/es5/utils/copy-style.js +41 -0
  70. package/dist/es5/utils/copy-style.js.map +1 -0
  71. package/dist/es5/utils/encryptor.js +58 -0
  72. package/dist/es5/utils/encryptor.js.map +1 -0
  73. package/dist/es5/utils/iterate-stream.js +57 -0
  74. package/dist/es5/utils/iterate-stream.js.map +1 -0
  75. package/dist/es5/utils/parse-sax.js +77 -0
  76. package/dist/es5/utils/parse-sax.js.map +1 -0
  77. package/dist/es5/utils/shared-formula.js +42 -0
  78. package/dist/es5/utils/shared-formula.js.map +1 -0
  79. package/dist/es5/utils/shared-strings.js +32 -0
  80. package/dist/es5/utils/shared-strings.js.map +1 -0
  81. package/dist/es5/utils/stream-base64.js +66 -0
  82. package/dist/es5/utils/stream-base64.js.map +1 -0
  83. package/dist/es5/utils/stream-buf.js +343 -0
  84. package/dist/es5/utils/stream-buf.js.map +1 -0
  85. package/dist/es5/utils/string-buf.js +73 -0
  86. package/dist/es5/utils/string-buf.js.map +1 -0
  87. package/dist/es5/utils/string-builder.js +32 -0
  88. package/dist/es5/utils/string-builder.js.map +1 -0
  89. package/dist/es5/utils/stuttered-pipe.js +61 -0
  90. package/dist/es5/utils/stuttered-pipe.js.map +1 -0
  91. package/dist/es5/utils/typed-stack.js +23 -0
  92. package/dist/es5/utils/typed-stack.js.map +1 -0
  93. package/dist/es5/utils/under-dash.js +164 -0
  94. package/dist/es5/utils/under-dash.js.map +1 -0
  95. package/dist/es5/utils/utils.js +204 -0
  96. package/dist/es5/utils/utils.js.map +1 -0
  97. package/dist/es5/utils/xml-stream.js +151 -0
  98. package/dist/es5/utils/xml-stream.js.map +1 -0
  99. package/dist/es5/utils/zip-stream.js +78 -0
  100. package/dist/es5/utils/zip-stream.js.map +1 -0
  101. package/dist/es5/xlsx/defaultnumformats.js +230 -0
  102. package/dist/es5/xlsx/defaultnumformats.js.map +1 -0
  103. package/dist/es5/xlsx/rel-type.js +21 -0
  104. package/dist/es5/xlsx/rel-type.js.map +1 -0
  105. package/dist/es5/xlsx/xform/base-xform.js +161 -0
  106. package/dist/es5/xlsx/xform/base-xform.js.map +1 -0
  107. package/dist/es5/xlsx/xform/book/defined-name-xform.js +85 -0
  108. package/dist/es5/xlsx/xform/book/defined-name-xform.js.map +1 -0
  109. package/dist/es5/xlsx/xform/book/sheet-xform.js +32 -0
  110. package/dist/es5/xlsx/xform/book/sheet-xform.js.map +1 -0
  111. package/dist/es5/xlsx/xform/book/workbook-calc-properties-xform.js +24 -0
  112. package/dist/es5/xlsx/xform/book/workbook-calc-properties-xform.js.map +1 -0
  113. package/dist/es5/xlsx/xform/book/workbook-pivot-cache-xform.js +27 -0
  114. package/dist/es5/xlsx/xform/book/workbook-pivot-cache-xform.js.map +1 -0
  115. package/dist/es5/xlsx/xform/book/workbook-properties-xform.js +27 -0
  116. package/dist/es5/xlsx/xform/book/workbook-properties-xform.js.map +1 -0
  117. package/dist/es5/xlsx/xform/book/workbook-view-xform.js +51 -0
  118. package/dist/es5/xlsx/xform/book/workbook-view-xform.js.map +1 -0
  119. package/dist/es5/xlsx/xform/book/workbook-xform.js +241 -0
  120. package/dist/es5/xlsx/xform/book/workbook-xform.js.map +1 -0
  121. package/dist/es5/xlsx/xform/comment/comment-xform.js +107 -0
  122. package/dist/es5/xlsx/xform/comment/comment-xform.js.map +1 -0
  123. package/dist/es5/xlsx/xform/comment/comments-xform.js +76 -0
  124. package/dist/es5/xlsx/xform/comment/comments-xform.js.map +1 -0
  125. package/dist/es5/xlsx/xform/comment/style/vml-position-xform.js +35 -0
  126. package/dist/es5/xlsx/xform/comment/style/vml-position-xform.js.map +1 -0
  127. package/dist/es5/xlsx/xform/comment/style/vml-protection-xform.js +32 -0
  128. package/dist/es5/xlsx/xform/comment/style/vml-protection-xform.js.map +1 -0
  129. package/dist/es5/xlsx/xform/comment/vml-anchor-xform.js +53 -0
  130. package/dist/es5/xlsx/xform/comment/vml-anchor-xform.js.map +1 -0
  131. package/dist/es5/xlsx/xform/comment/vml-client-data-xform.js +96 -0
  132. package/dist/es5/xlsx/xform/comment/vml-client-data-xform.js.map +1 -0
  133. package/dist/es5/xlsx/xform/comment/vml-notes-xform.js +107 -0
  134. package/dist/es5/xlsx/xform/comment/vml-notes-xform.js.map +1 -0
  135. package/dist/es5/xlsx/xform/comment/vml-shape-xform.js +92 -0
  136. package/dist/es5/xlsx/xform/comment/vml-shape-xform.js.map +1 -0
  137. package/dist/es5/xlsx/xform/comment/vml-textbox-xform.js +60 -0
  138. package/dist/es5/xlsx/xform/comment/vml-textbox-xform.js.map +1 -0
  139. package/dist/es5/xlsx/xform/composite-xform.js +51 -0
  140. package/dist/es5/xlsx/xform/composite-xform.js.map +1 -0
  141. package/dist/es5/xlsx/xform/core/app-heading-pairs-xform.js +30 -0
  142. package/dist/es5/xlsx/xform/core/app-heading-pairs-xform.js.map +1 -0
  143. package/dist/es5/xlsx/xform/core/app-titles-of-parts-xform.js +27 -0
  144. package/dist/es5/xlsx/xform/core/app-titles-of-parts-xform.js.map +1 -0
  145. package/dist/es5/xlsx/xform/core/app-xform.js +93 -0
  146. package/dist/es5/xlsx/xform/core/app-xform.js.map +1 -0
  147. package/dist/es5/xlsx/xform/core/content-types-xform.js +125 -0
  148. package/dist/es5/xlsx/xform/core/content-types-xform.js.map +1 -0
  149. package/dist/es5/xlsx/xform/core/core-xform.js +158 -0
  150. package/dist/es5/xlsx/xform/core/core-xform.js.map +1 -0
  151. package/dist/es5/xlsx/xform/core/relationship-xform.js +23 -0
  152. package/dist/es5/xlsx/xform/core/relationship-xform.js.map +1 -0
  153. package/dist/es5/xlsx/xform/core/relationships-xform.js +65 -0
  154. package/dist/es5/xlsx/xform/core/relationships-xform.js.map +1 -0
  155. package/dist/es5/xlsx/xform/drawing/base-cell-anchor-xform.js +47 -0
  156. package/dist/es5/xlsx/xform/drawing/base-cell-anchor-xform.js.map +1 -0
  157. package/dist/es5/xlsx/xform/drawing/blip-fill-xform.js +61 -0
  158. package/dist/es5/xlsx/xform/drawing/blip-fill-xform.js.map +1 -0
  159. package/dist/es5/xlsx/xform/drawing/blip-xform.js +39 -0
  160. package/dist/es5/xlsx/xform/drawing/blip-xform.js.map +1 -0
  161. package/dist/es5/xlsx/xform/drawing/c-nv-pic-pr-xform.js +35 -0
  162. package/dist/es5/xlsx/xform/drawing/c-nv-pic-pr-xform.js.map +1 -0
  163. package/dist/es5/xlsx/xform/drawing/c-nv-pr-xform.js +62 -0
  164. package/dist/es5/xlsx/xform/drawing/c-nv-pr-xform.js.map +1 -0
  165. package/dist/es5/xlsx/xform/drawing/cell-position-xform.js +82 -0
  166. package/dist/es5/xlsx/xform/drawing/cell-position-xform.js.map +1 -0
  167. package/dist/es5/xlsx/xform/drawing/drawing-xform.js +98 -0
  168. package/dist/es5/xlsx/xform/drawing/drawing-xform.js.map +1 -0
  169. package/dist/es5/xlsx/xform/drawing/ext-lst-xform.js +40 -0
  170. package/dist/es5/xlsx/xform/drawing/ext-lst-xform.js.map +1 -0
  171. package/dist/es5/xlsx/xform/drawing/ext-xform.js +38 -0
  172. package/dist/es5/xlsx/xform/drawing/ext-xform.js.map +1 -0
  173. package/dist/es5/xlsx/xform/drawing/hlink-click-xform.js +38 -0
  174. package/dist/es5/xlsx/xform/drawing/hlink-click-xform.js.map +1 -0
  175. package/dist/es5/xlsx/xform/drawing/nv-pic-pr-xform.js +59 -0
  176. package/dist/es5/xlsx/xform/drawing/nv-pic-pr-xform.js.map +1 -0
  177. package/dist/es5/xlsx/xform/drawing/one-cell-anchor-xform.js +63 -0
  178. package/dist/es5/xlsx/xform/drawing/one-cell-anchor-xform.js.map +1 -0
  179. package/dist/es5/xlsx/xform/drawing/pic-xform.js +67 -0
  180. package/dist/es5/xlsx/xform/drawing/pic-xform.js.map +1 -0
  181. package/dist/es5/xlsx/xform/drawing/sp-pr.js +30 -0
  182. package/dist/es5/xlsx/xform/drawing/sp-pr.js.map +1 -0
  183. package/dist/es5/xlsx/xform/drawing/two-cell-anchor-xform.js +62 -0
  184. package/dist/es5/xlsx/xform/drawing/two-cell-anchor-xform.js.map +1 -0
  185. package/dist/es5/xlsx/xform/list-xform.js +85 -0
  186. package/dist/es5/xlsx/xform/list-xform.js.map +1 -0
  187. package/dist/es5/xlsx/xform/pivot-table/cache-field.js +40 -0
  188. package/dist/es5/xlsx/xform/pivot-table/cache-field.js.map +1 -0
  189. package/dist/es5/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +75 -0
  190. package/dist/es5/xlsx/xform/pivot-table/pivot-cache-definition-xform.js.map +1 -0
  191. package/dist/es5/xlsx/xform/pivot-table/pivot-cache-records-xform.js +104 -0
  192. package/dist/es5/xlsx/xform/pivot-table/pivot-cache-records-xform.js.map +1 -0
  193. package/dist/es5/xlsx/xform/pivot-table/pivot-table-xform.js +114 -0
  194. package/dist/es5/xlsx/xform/pivot-table/pivot-table-xform.js.map +1 -0
  195. package/dist/es5/xlsx/xform/sheet/auto-filter-xform.js +40 -0
  196. package/dist/es5/xlsx/xform/sheet/auto-filter-xform.js.map +1 -0
  197. package/dist/es5/xlsx/xform/sheet/cell-xform.js +452 -0
  198. package/dist/es5/xlsx/xform/sheet/cell-xform.js.map +1 -0
  199. package/dist/es5/xlsx/xform/sheet/cf/cf-rule-xform.js +271 -0
  200. package/dist/es5/xlsx/xform/sheet/cf/cf-rule-xform.js.map +1 -0
  201. package/dist/es5/xlsx/xform/sheet/cf/cfvo-xform.js +25 -0
  202. package/dist/es5/xlsx/xform/sheet/cf/cfvo-xform.js.map +1 -0
  203. package/dist/es5/xlsx/xform/sheet/cf/color-scale-xform.js +38 -0
  204. package/dist/es5/xlsx/xform/sheet/cf/color-scale-xform.js.map +1 -0
  205. package/dist/es5/xlsx/xform/sheet/cf/conditional-formatting-xform.js +43 -0
  206. package/dist/es5/xlsx/xform/sheet/cf/conditional-formatting-xform.js.map +1 -0
  207. package/dist/es5/xlsx/xform/sheet/cf/conditional-formattings-xform.js +77 -0
  208. package/dist/es5/xlsx/xform/sheet/cf/conditional-formattings-xform.js.map +1 -0
  209. package/dist/es5/xlsx/xform/sheet/cf/databar-xform.js +42 -0
  210. package/dist/es5/xlsx/xform/sheet/cf/databar-xform.js.map +1 -0
  211. package/dist/es5/xlsx/xform/sheet/cf/ext-lst-ref-xform.js +71 -0
  212. package/dist/es5/xlsx/xform/sheet/cf/ext-lst-ref-xform.js.map +1 -0
  213. package/dist/es5/xlsx/xform/sheet/cf/formula-xform.js +22 -0
  214. package/dist/es5/xlsx/xform/sheet/cf/formula-xform.js.map +1 -0
  215. package/dist/es5/xlsx/xform/sheet/cf/icon-set-xform.js +41 -0
  216. package/dist/es5/xlsx/xform/sheet/cf/icon-set-xform.js.map +1 -0
  217. package/dist/es5/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js +26 -0
  218. package/dist/es5/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js.map +1 -0
  219. package/dist/es5/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +85 -0
  220. package/dist/es5/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js.map +1 -0
  221. package/dist/es5/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js +38 -0
  222. package/dist/es5/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js.map +1 -0
  223. package/dist/es5/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js +52 -0
  224. package/dist/es5/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js.map +1 -0
  225. package/dist/es5/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js +43 -0
  226. package/dist/es5/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js.map +1 -0
  227. package/dist/es5/xlsx/xform/sheet/cf-ext/databar-ext-xform.js +81 -0
  228. package/dist/es5/xlsx/xform/sheet/cf-ext/databar-ext-xform.js.map +1 -0
  229. package/dist/es5/xlsx/xform/sheet/cf-ext/f-ext-xform.js +22 -0
  230. package/dist/es5/xlsx/xform/sheet/cf-ext/f-ext-xform.js.map +1 -0
  231. package/dist/es5/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js +72 -0
  232. package/dist/es5/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js.map +1 -0
  233. package/dist/es5/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js +22 -0
  234. package/dist/es5/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js.map +1 -0
  235. package/dist/es5/xlsx/xform/sheet/col-xform.js +78 -0
  236. package/dist/es5/xlsx/xform/sheet/col-xform.js.map +1 -0
  237. package/dist/es5/xlsx/xform/sheet/data-validations-xform.js +249 -0
  238. package/dist/es5/xlsx/xform/sheet/data-validations-xform.js.map +1 -0
  239. package/dist/es5/xlsx/xform/sheet/dimension-xform.js +28 -0
  240. package/dist/es5/xlsx/xform/sheet/dimension-xform.js.map +1 -0
  241. package/dist/es5/xlsx/xform/sheet/drawing-xform.js +32 -0
  242. package/dist/es5/xlsx/xform/sheet/drawing-xform.js.map +1 -0
  243. package/dist/es5/xlsx/xform/sheet/ext-lst-xform.js +69 -0
  244. package/dist/es5/xlsx/xform/sheet/ext-lst-xform.js.map +1 -0
  245. package/dist/es5/xlsx/xform/sheet/header-footer-xform.js +126 -0
  246. package/dist/es5/xlsx/xform/sheet/header-footer-xform.js.map +1 -0
  247. package/dist/es5/xlsx/xform/sheet/hyperlink-xform.js +50 -0
  248. package/dist/es5/xlsx/xform/sheet/hyperlink-xform.js.map +1 -0
  249. package/dist/es5/xlsx/xform/sheet/merge-cell-xform.js +26 -0
  250. package/dist/es5/xlsx/xform/sheet/merge-cell-xform.js.map +1 -0
  251. package/dist/es5/xlsx/xform/sheet/merges.js +52 -0
  252. package/dist/es5/xlsx/xform/sheet/merges.js.map +1 -0
  253. package/dist/es5/xlsx/xform/sheet/outline-properties-xform.js +35 -0
  254. package/dist/es5/xlsx/xform/sheet/outline-properties-xform.js.map +1 -0
  255. package/dist/es5/xlsx/xform/sheet/page-breaks-xform.js +24 -0
  256. package/dist/es5/xlsx/xform/sheet/page-breaks-xform.js.map +1 -0
  257. package/dist/es5/xlsx/xform/sheet/page-margins-xform.js +46 -0
  258. package/dist/es5/xlsx/xform/sheet/page-margins-xform.js.map +1 -0
  259. package/dist/es5/xlsx/xform/sheet/page-setup-properties-xform.js +32 -0
  260. package/dist/es5/xlsx/xform/sheet/page-setup-properties-xform.js.map +1 -0
  261. package/dist/es5/xlsx/xform/sheet/page-setup-xform.js +99 -0
  262. package/dist/es5/xlsx/xform/sheet/page-setup-xform.js.map +1 -0
  263. package/dist/es5/xlsx/xform/sheet/picture-xform.js +32 -0
  264. package/dist/es5/xlsx/xform/sheet/picture-xform.js.map +1 -0
  265. package/dist/es5/xlsx/xform/sheet/print-options-xform.js +45 -0
  266. package/dist/es5/xlsx/xform/sheet/print-options-xform.js.map +1 -0
  267. package/dist/es5/xlsx/xform/sheet/row-breaks-xform.js +35 -0
  268. package/dist/es5/xlsx/xform/sheet/row-breaks-xform.js.map +1 -0
  269. package/dist/es5/xlsx/xform/sheet/row-xform.js +128 -0
  270. package/dist/es5/xlsx/xform/sheet/row-xform.js.map +1 -0
  271. package/dist/es5/xlsx/xform/sheet/sheet-format-properties-xform.js +51 -0
  272. package/dist/es5/xlsx/xform/sheet/sheet-format-properties-xform.js.map +1 -0
  273. package/dist/es5/xlsx/xform/sheet/sheet-properties-xform.js +83 -0
  274. package/dist/es5/xlsx/xform/sheet/sheet-properties-xform.js.map +1 -0
  275. package/dist/es5/xlsx/xform/sheet/sheet-protection-xform.js +84 -0
  276. package/dist/es5/xlsx/xform/sheet/sheet-protection-xform.js.map +1 -0
  277. package/dist/es5/xlsx/xform/sheet/sheet-view-xform.js +190 -0
  278. package/dist/es5/xlsx/xform/sheet/sheet-view-xform.js.map +1 -0
  279. package/dist/es5/xlsx/xform/sheet/table-part-xform.js +32 -0
  280. package/dist/es5/xlsx/xform/sheet/table-part-xform.js.map +1 -0
  281. package/dist/es5/xlsx/xform/sheet/worksheet-xform.js +515 -0
  282. package/dist/es5/xlsx/xform/sheet/worksheet-xform.js.map +1 -0
  283. package/dist/es5/xlsx/xform/simple/boolean-xform.js +27 -0
  284. package/dist/es5/xlsx/xform/simple/boolean-xform.js.map +1 -0
  285. package/dist/es5/xlsx/xform/simple/date-xform.js +58 -0
  286. package/dist/es5/xlsx/xform/simple/date-xform.js.map +1 -0
  287. package/dist/es5/xlsx/xform/simple/float-xform.js +47 -0
  288. package/dist/es5/xlsx/xform/simple/float-xform.js.map +1 -0
  289. package/dist/es5/xlsx/xform/simple/integer-xform.js +53 -0
  290. package/dist/es5/xlsx/xform/simple/integer-xform.js.map +1 -0
  291. package/dist/es5/xlsx/xform/simple/string-xform.js +47 -0
  292. package/dist/es5/xlsx/xform/simple/string-xform.js.map +1 -0
  293. package/dist/es5/xlsx/xform/static-xform.js +61 -0
  294. package/dist/es5/xlsx/xform/static-xform.js.map +1 -0
  295. package/dist/es5/xlsx/xform/strings/phonetic-text-xform.js +94 -0
  296. package/dist/es5/xlsx/xform/strings/phonetic-text-xform.js.map +1 -0
  297. package/dist/es5/xlsx/xform/strings/rich-text-xform.js +92 -0
  298. package/dist/es5/xlsx/xform/strings/rich-text-xform.js.map +1 -0
  299. package/dist/es5/xlsx/xform/strings/shared-string-xform.js +100 -0
  300. package/dist/es5/xlsx/xform/strings/shared-string-xform.js.map +1 -0
  301. package/dist/es5/xlsx/xform/strings/shared-strings-xform.js +114 -0
  302. package/dist/es5/xlsx/xform/strings/shared-strings-xform.js.map +1 -0
  303. package/dist/es5/xlsx/xform/strings/text-xform.js +39 -0
  304. package/dist/es5/xlsx/xform/strings/text-xform.js.map +1 -0
  305. package/dist/es5/xlsx/xform/style/alignment-xform.js +139 -0
  306. package/dist/es5/xlsx/xform/style/alignment-xform.js.map +1 -0
  307. package/dist/es5/xlsx/xform/style/border-xform.js +185 -0
  308. package/dist/es5/xlsx/xform/style/border-xform.js.map +1 -0
  309. package/dist/es5/xlsx/xform/style/color-xform.js +66 -0
  310. package/dist/es5/xlsx/xform/style/color-xform.js.map +1 -0
  311. package/dist/es5/xlsx/xform/style/dxf-xform.js +106 -0
  312. package/dist/es5/xlsx/xform/style/dxf-xform.js.map +1 -0
  313. package/dist/es5/xlsx/xform/style/fill-xform.js +307 -0
  314. package/dist/es5/xlsx/xform/style/fill-xform.js.map +1 -0
  315. package/dist/es5/xlsx/xform/style/font-xform.js +173 -0
  316. package/dist/es5/xlsx/xform/style/font-xform.js.map +1 -0
  317. package/dist/es5/xlsx/xform/style/numfmt-xform.js +58 -0
  318. package/dist/es5/xlsx/xform/style/numfmt-xform.js.map +1 -0
  319. package/dist/es5/xlsx/xform/style/protection-xform.js +53 -0
  320. package/dist/es5/xlsx/xform/style/protection-xform.js.map +1 -0
  321. package/dist/es5/xlsx/xform/style/style-xform.js +118 -0
  322. package/dist/es5/xlsx/xform/style/style-xform.js.map +1 -0
  323. package/dist/es5/xlsx/xform/style/styles-xform.js +611 -0
  324. package/dist/es5/xlsx/xform/style/styles-xform.js.map +1 -0
  325. package/dist/es5/xlsx/xform/style/underline-xform.js +46 -0
  326. package/dist/es5/xlsx/xform/style/underline-xform.js.map +1 -0
  327. package/dist/es5/xlsx/xform/table/auto-filter-xform.js +75 -0
  328. package/dist/es5/xlsx/xform/table/auto-filter-xform.js.map +1 -0
  329. package/dist/es5/xlsx/xform/table/custom-filter-xform.js +30 -0
  330. package/dist/es5/xlsx/xform/table/custom-filter-xform.js.map +1 -0
  331. package/dist/es5/xlsx/xform/table/filter-column-xform.js +87 -0
  332. package/dist/es5/xlsx/xform/table/filter-column-xform.js.map +1 -0
  333. package/dist/es5/xlsx/xform/table/filter-xform.js +28 -0
  334. package/dist/es5/xlsx/xform/table/filter-xform.js.map +1 -0
  335. package/dist/es5/xlsx/xform/table/table-column-xform.js +40 -0
  336. package/dist/es5/xlsx/xform/table/table-column-xform.js.map +1 -0
  337. package/dist/es5/xlsx/xform/table/table-style-info-xform.js +38 -0
  338. package/dist/es5/xlsx/xform/table/table-style-info-xform.js.map +1 -0
  339. package/dist/es5/xlsx/xform/table/table-xform.js +124 -0
  340. package/dist/es5/xlsx/xform/table/table-xform.js.map +1 -0
  341. package/dist/es5/xlsx/xlsx.js +788 -0
  342. package/dist/es5/xlsx/xlsx.js.map +1 -0
  343. package/dist/es5/xlsx/xml/theme1.js +5 -0
  344. package/dist/es5/xlsx/xml/theme1.js.map +1 -0
  345. package/dist/exceljs.bare.js +60711 -0
  346. package/dist/exceljs.bare.js.map +883 -0
  347. package/dist/exceljs.bare.min.js +45 -0
  348. package/dist/exceljs.bare.min.js.map +1 -0
  349. package/dist/exceljs.js +65487 -0
  350. package/dist/exceljs.js.map +1207 -0
  351. package/dist/exceljs.min.js +45 -0
  352. package/dist/exceljs.min.js.map +1 -0
  353. package/lib/xlsx/xform/strings/shared-string-xform.js +4 -1
  354. package/package.json +1 -1
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ const _ = require('../../../utils/under-dash');
4
+ const BaseXform = require('../base-xform');
5
+ function booleanToXml(model) {
6
+ return model ? '1' : undefined;
7
+ }
8
+ class PrintOptionsXform extends BaseXform {
9
+ get tag() {
10
+ return 'printOptions';
11
+ }
12
+ render(xmlStream, model) {
13
+ if (model) {
14
+ const attributes = {
15
+ headings: booleanToXml(model.showRowColHeaders),
16
+ gridLines: booleanToXml(model.showGridLines),
17
+ horizontalCentered: booleanToXml(model.horizontalCentered),
18
+ verticalCentered: booleanToXml(model.verticalCentered)
19
+ };
20
+ if (_.some(attributes, value => value !== undefined)) {
21
+ xmlStream.leafNode(this.tag, attributes);
22
+ }
23
+ }
24
+ }
25
+ parseOpen(node) {
26
+ switch (node.name) {
27
+ case this.tag:
28
+ this.model = {
29
+ showRowColHeaders: node.attributes.headings === '1',
30
+ showGridLines: node.attributes.gridLines === '1',
31
+ horizontalCentered: node.attributes.horizontalCentered === '1',
32
+ verticalCentered: node.attributes.verticalCentered === '1'
33
+ };
34
+ return true;
35
+ default:
36
+ return false;
37
+ }
38
+ }
39
+ parseText() {}
40
+ parseClose() {
41
+ return false;
42
+ }
43
+ }
44
+ module.exports = PrintOptionsXform;
45
+ //# sourceMappingURL=print-options-xform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"print-options-xform.js","names":["_","require","BaseXform","booleanToXml","model","undefined","PrintOptionsXform","tag","render","xmlStream","attributes","headings","showRowColHeaders","gridLines","showGridLines","horizontalCentered","verticalCentered","some","value","leafNode","parseOpen","node","name","parseText","parseClose","module","exports"],"sources":["../../../../../lib/xlsx/xform/sheet/print-options-xform.js"],"sourcesContent":["const _ = require('../../../utils/under-dash');\nconst BaseXform = require('../base-xform');\n\nfunction booleanToXml(model) {\n return model ? '1' : undefined;\n}\n\nclass PrintOptionsXform extends BaseXform {\n get tag() {\n return 'printOptions';\n }\n\n render(xmlStream, model) {\n if (model) {\n const attributes = {\n headings: booleanToXml(model.showRowColHeaders),\n gridLines: booleanToXml(model.showGridLines),\n horizontalCentered: booleanToXml(model.horizontalCentered),\n verticalCentered: booleanToXml(model.verticalCentered),\n };\n if (_.some(attributes, value => value !== undefined)) {\n xmlStream.leafNode(this.tag, attributes);\n }\n }\n }\n\n parseOpen(node) {\n switch (node.name) {\n case this.tag:\n this.model = {\n showRowColHeaders: node.attributes.headings === '1',\n showGridLines: node.attributes.gridLines === '1',\n horizontalCentered: node.attributes.horizontalCentered === '1',\n verticalCentered: node.attributes.verticalCentered === '1',\n };\n return true;\n default:\n return false;\n }\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = PrintOptionsXform;\n"],"mappings":";;AAAA,MAAMA,CAAC,GAAGC,OAAO,CAAC,2BAA2B,CAAC;AAC9C,MAAMC,SAAS,GAAGD,OAAO,CAAC,eAAe,CAAC;AAE1C,SAASE,YAAYA,CAACC,KAAK,EAAE;EAC3B,OAAOA,KAAK,GAAG,GAAG,GAAGC,SAAS;AAChC;AAEA,MAAMC,iBAAiB,SAASJ,SAAS,CAAC;EACxC,IAAIK,GAAGA,CAAA,EAAG;IACR,OAAO,cAAc;EACvB;EAEAC,MAAMA,CAACC,SAAS,EAAEL,KAAK,EAAE;IACvB,IAAIA,KAAK,EAAE;MACT,MAAMM,UAAU,GAAG;QACjBC,QAAQ,EAAER,YAAY,CAACC,KAAK,CAACQ,iBAAiB,CAAC;QAC/CC,SAAS,EAAEV,YAAY,CAACC,KAAK,CAACU,aAAa,CAAC;QAC5CC,kBAAkB,EAAEZ,YAAY,CAACC,KAAK,CAACW,kBAAkB,CAAC;QAC1DC,gBAAgB,EAAEb,YAAY,CAACC,KAAK,CAACY,gBAAgB;MACvD,CAAC;MACD,IAAIhB,CAAC,CAACiB,IAAI,CAACP,UAAU,EAAEQ,KAAK,IAAIA,KAAK,KAAKb,SAAS,CAAC,EAAE;QACpDI,SAAS,CAACU,QAAQ,CAAC,IAAI,CAACZ,GAAG,EAAEG,UAAU,CAAC;MAC1C;IACF;EACF;EAEAU,SAASA,CAACC,IAAI,EAAE;IACd,QAAQA,IAAI,CAACC,IAAI;MACf,KAAK,IAAI,CAACf,GAAG;QACX,IAAI,CAACH,KAAK,GAAG;UACXQ,iBAAiB,EAAES,IAAI,CAACX,UAAU,CAACC,QAAQ,KAAK,GAAG;UACnDG,aAAa,EAAEO,IAAI,CAACX,UAAU,CAACG,SAAS,KAAK,GAAG;UAChDE,kBAAkB,EAAEM,IAAI,CAACX,UAAU,CAACK,kBAAkB,KAAK,GAAG;UAC9DC,gBAAgB,EAAEK,IAAI,CAACX,UAAU,CAACM,gBAAgB,KAAK;QACzD,CAAC;QACD,OAAO,IAAI;MACb;QACE,OAAO,KAAK;IAChB;EACF;EAEAO,SAASA,CAAA,EAAG,CAAC;EAEbC,UAAUA,CAAA,EAAG;IACX,OAAO,KAAK;EACd;AACF;AAEAC,MAAM,CAACC,OAAO,GAAGpB,iBAAiB","ignoreList":[]}
@@ -0,0 +1,35 @@
1
+ 'use strict';
2
+
3
+ const PageBreaksXform = require('./page-breaks-xform');
4
+ const ListXform = require('../list-xform');
5
+ class RowBreaksXform extends ListXform {
6
+ constructor() {
7
+ const options = {
8
+ tag: 'rowBreaks',
9
+ count: true,
10
+ childXform: new PageBreaksXform()
11
+ };
12
+ super(options);
13
+ }
14
+
15
+ // get tag() { return 'rowBreaks'; }
16
+
17
+ render(xmlStream, model) {
18
+ if (model && model.length) {
19
+ xmlStream.openNode(this.tag, this.$);
20
+ if (this.count) {
21
+ xmlStream.addAttribute(this.$count, model.length);
22
+ xmlStream.addAttribute('manualBreakCount', model.length);
23
+ }
24
+ const childXform = this.childXform;
25
+ model.forEach(childModel => {
26
+ childXform.render(xmlStream, childModel);
27
+ });
28
+ xmlStream.closeNode();
29
+ } else if (this.empty) {
30
+ xmlStream.leafNode(this.tag);
31
+ }
32
+ }
33
+ }
34
+ module.exports = RowBreaksXform;
35
+ //# sourceMappingURL=row-breaks-xform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row-breaks-xform.js","names":["PageBreaksXform","require","ListXform","RowBreaksXform","constructor","options","tag","count","childXform","render","xmlStream","model","length","openNode","$","addAttribute","$count","forEach","childModel","closeNode","empty","leafNode","module","exports"],"sources":["../../../../../lib/xlsx/xform/sheet/row-breaks-xform.js"],"sourcesContent":["'use strict';\n\nconst PageBreaksXform = require('./page-breaks-xform');\n\nconst ListXform = require('../list-xform');\n\nclass RowBreaksXform extends ListXform {\n constructor() {\n const options = {\n tag: 'rowBreaks',\n count: true,\n childXform: new PageBreaksXform(),\n };\n super(options);\n }\n\n // get tag() { return 'rowBreaks'; }\n\n render(xmlStream, model) {\n if (model && model.length) {\n xmlStream.openNode(this.tag, this.$);\n if (this.count) {\n xmlStream.addAttribute(this.$count, model.length);\n xmlStream.addAttribute('manualBreakCount', model.length);\n }\n\n const {childXform} = this;\n model.forEach(childModel => {\n childXform.render(xmlStream, childModel);\n });\n\n xmlStream.closeNode();\n } else if (this.empty) {\n xmlStream.leafNode(this.tag);\n }\n }\n}\n\nmodule.exports = RowBreaksXform;\n"],"mappings":"AAAA,YAAY;;AAEZ,MAAMA,eAAe,GAAGC,OAAO,CAAC,qBAAqB,CAAC;AAEtD,MAAMC,SAAS,GAAGD,OAAO,CAAC,eAAe,CAAC;AAE1C,MAAME,cAAc,SAASD,SAAS,CAAC;EACrCE,WAAWA,CAAA,EAAG;IACZ,MAAMC,OAAO,GAAG;MACdC,GAAG,EAAE,WAAW;MAChBC,KAAK,EAAE,IAAI;MACXC,UAAU,EAAE,IAAIR,eAAe,CAAC;IAClC,CAAC;IACD,KAAK,CAACK,OAAO,CAAC;EAChB;;EAEA;;EAEAI,MAAMA,CAACC,SAAS,EAAEC,KAAK,EAAE;IACvB,IAAIA,KAAK,IAAIA,KAAK,CAACC,MAAM,EAAE;MACzBF,SAAS,CAACG,QAAQ,CAAC,IAAI,CAACP,GAAG,EAAE,IAAI,CAACQ,CAAC,CAAC;MACpC,IAAI,IAAI,CAACP,KAAK,EAAE;QACdG,SAAS,CAACK,YAAY,CAAC,IAAI,CAACC,MAAM,EAAEL,KAAK,CAACC,MAAM,CAAC;QACjDF,SAAS,CAACK,YAAY,CAAC,kBAAkB,EAAEJ,KAAK,CAACC,MAAM,CAAC;MAC1D;MAEA,MAAOJ,UAAU,GAAI,IAAI,CAAlBA,UAAU;MACjBG,KAAK,CAACM,OAAO,CAACC,UAAU,IAAI;QAC1BV,UAAU,CAACC,MAAM,CAACC,SAAS,EAAEQ,UAAU,CAAC;MAC1C,CAAC,CAAC;MAEFR,SAAS,CAACS,SAAS,CAAC,CAAC;IACvB,CAAC,MAAM,IAAI,IAAI,CAACC,KAAK,EAAE;MACrBV,SAAS,CAACW,QAAQ,CAAC,IAAI,CAACf,GAAG,CAAC;IAC9B;EACF;AACF;AAEAgB,MAAM,CAACC,OAAO,GAAGpB,cAAc","ignoreList":[]}
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+
3
+ const BaseXform = require('../base-xform');
4
+ const utils = require('../../../utils/utils');
5
+ const CellXform = require('./cell-xform');
6
+ class RowXform extends BaseXform {
7
+ constructor(options) {
8
+ super();
9
+ this.maxItems = options && options.maxItems;
10
+ this.map = {
11
+ c: new CellXform()
12
+ };
13
+ }
14
+ get tag() {
15
+ return 'row';
16
+ }
17
+ prepare(model, options) {
18
+ const styleId = options.styles.addStyleModel(model.style);
19
+ if (styleId) {
20
+ model.styleId = styleId;
21
+ }
22
+ const cellXform = this.map.c;
23
+ model.cells.forEach(cellModel => {
24
+ cellXform.prepare(cellModel, options);
25
+ });
26
+ }
27
+ render(xmlStream, model, options) {
28
+ xmlStream.openNode('row');
29
+ xmlStream.addAttribute('r', model.number);
30
+ if (model.height) {
31
+ xmlStream.addAttribute('ht', model.height);
32
+ xmlStream.addAttribute('customHeight', '1');
33
+ }
34
+ if (model.hidden) {
35
+ xmlStream.addAttribute('hidden', '1');
36
+ }
37
+ if (model.min > 0 && model.max > 0 && model.min <= model.max) {
38
+ xmlStream.addAttribute('spans', "".concat(model.min, ":").concat(model.max));
39
+ }
40
+ if (model.styleId) {
41
+ xmlStream.addAttribute('s', model.styleId);
42
+ xmlStream.addAttribute('customFormat', '1');
43
+ }
44
+ xmlStream.addAttribute('x14ac:dyDescent', '0.25');
45
+ if (model.outlineLevel) {
46
+ xmlStream.addAttribute('outlineLevel', model.outlineLevel);
47
+ }
48
+ if (model.collapsed) {
49
+ xmlStream.addAttribute('collapsed', '1');
50
+ }
51
+ const cellXform = this.map.c;
52
+ model.cells.forEach(cellModel => {
53
+ cellXform.render(xmlStream, cellModel, options);
54
+ });
55
+ xmlStream.closeNode();
56
+ }
57
+ parseOpen(node) {
58
+ if (this.parser) {
59
+ this.parser.parseOpen(node);
60
+ return true;
61
+ }
62
+ if (node.name === 'row') {
63
+ this.numRowsSeen += 1;
64
+ const spans = node.attributes.spans ? node.attributes.spans.split(':').map(span => parseInt(span, 10)) : [undefined, undefined];
65
+ const model = this.model = {
66
+ number: parseInt(node.attributes.r, 10),
67
+ min: spans[0],
68
+ max: spans[1],
69
+ cells: []
70
+ };
71
+ if (node.attributes.s) {
72
+ model.styleId = parseInt(node.attributes.s, 10);
73
+ }
74
+ if (utils.parseBoolean(node.attributes.hidden)) {
75
+ model.hidden = true;
76
+ }
77
+ if (utils.parseBoolean(node.attributes.bestFit)) {
78
+ model.bestFit = true;
79
+ }
80
+ if (node.attributes.ht) {
81
+ model.height = parseFloat(node.attributes.ht);
82
+ }
83
+ if (node.attributes.outlineLevel) {
84
+ model.outlineLevel = parseInt(node.attributes.outlineLevel, 10);
85
+ }
86
+ if (utils.parseBoolean(node.attributes.collapsed)) {
87
+ model.collapsed = true;
88
+ }
89
+ return true;
90
+ }
91
+ this.parser = this.map[node.name];
92
+ if (this.parser) {
93
+ this.parser.parseOpen(node);
94
+ return true;
95
+ }
96
+ return false;
97
+ }
98
+ parseText(text) {
99
+ if (this.parser) {
100
+ this.parser.parseText(text);
101
+ }
102
+ }
103
+ parseClose(name) {
104
+ if (this.parser) {
105
+ if (!this.parser.parseClose(name)) {
106
+ this.model.cells.push(this.parser.model);
107
+ if (this.maxItems && this.model.cells.length > this.maxItems) {
108
+ throw new Error("Max column count (".concat(this.maxItems, ") exceeded"));
109
+ }
110
+ this.parser = undefined;
111
+ }
112
+ return true;
113
+ }
114
+ return false;
115
+ }
116
+ reconcile(model, options) {
117
+ model.style = model.styleId ? options.styles.getStyleModel(model.styleId) : {};
118
+ if (model.styleId !== undefined) {
119
+ model.styleId = undefined;
120
+ }
121
+ const cellXform = this.map.c;
122
+ model.cells.forEach(cellModel => {
123
+ cellXform.reconcile(cellModel, options);
124
+ });
125
+ }
126
+ }
127
+ module.exports = RowXform;
128
+ //# sourceMappingURL=row-xform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row-xform.js","names":["BaseXform","require","utils","CellXform","RowXform","constructor","options","maxItems","map","c","tag","prepare","model","styleId","styles","addStyleModel","style","cellXform","cells","forEach","cellModel","render","xmlStream","openNode","addAttribute","number","height","hidden","min","max","concat","outlineLevel","collapsed","closeNode","parseOpen","node","parser","name","numRowsSeen","spans","attributes","split","span","parseInt","undefined","r","s","parseBoolean","bestFit","ht","parseFloat","parseText","text","parseClose","push","length","Error","reconcile","getStyleModel","module","exports"],"sources":["../../../../../lib/xlsx/xform/sheet/row-xform.js"],"sourcesContent":["const BaseXform = require('../base-xform');\nconst utils = require('../../../utils/utils');\n\nconst CellXform = require('./cell-xform');\n\nclass RowXform extends BaseXform {\n constructor(options) {\n super();\n\n this.maxItems = options && options.maxItems;\n this.map = {\n c: new CellXform(),\n };\n }\n\n get tag() {\n return 'row';\n }\n\n prepare(model, options) {\n const styleId = options.styles.addStyleModel(model.style);\n if (styleId) {\n model.styleId = styleId;\n }\n const cellXform = this.map.c;\n model.cells.forEach(cellModel => {\n cellXform.prepare(cellModel, options);\n });\n }\n\n render(xmlStream, model, options) {\n xmlStream.openNode('row');\n xmlStream.addAttribute('r', model.number);\n if (model.height) {\n xmlStream.addAttribute('ht', model.height);\n xmlStream.addAttribute('customHeight', '1');\n }\n if (model.hidden) {\n xmlStream.addAttribute('hidden', '1');\n }\n if (model.min > 0 && model.max > 0 && model.min <= model.max) {\n xmlStream.addAttribute('spans', `${model.min}:${model.max}`);\n }\n if (model.styleId) {\n xmlStream.addAttribute('s', model.styleId);\n xmlStream.addAttribute('customFormat', '1');\n }\n xmlStream.addAttribute('x14ac:dyDescent', '0.25');\n if (model.outlineLevel) {\n xmlStream.addAttribute('outlineLevel', model.outlineLevel);\n }\n if (model.collapsed) {\n xmlStream.addAttribute('collapsed', '1');\n }\n\n const cellXform = this.map.c;\n model.cells.forEach(cellModel => {\n cellXform.render(xmlStream, cellModel, options);\n });\n\n xmlStream.closeNode();\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n if (node.name === 'row') {\n this.numRowsSeen += 1;\n const spans = node.attributes.spans\n ? node.attributes.spans.split(':').map(span => parseInt(span, 10))\n : [undefined, undefined];\n const model = (this.model = {\n number: parseInt(node.attributes.r, 10),\n min: spans[0],\n max: spans[1],\n cells: [],\n });\n if (node.attributes.s) {\n model.styleId = parseInt(node.attributes.s, 10);\n }\n if (utils.parseBoolean(node.attributes.hidden)) {\n model.hidden = true;\n }\n if (utils.parseBoolean(node.attributes.bestFit)) {\n model.bestFit = true;\n }\n if (node.attributes.ht) {\n model.height = parseFloat(node.attributes.ht);\n }\n if (node.attributes.outlineLevel) {\n model.outlineLevel = parseInt(node.attributes.outlineLevel, 10);\n }\n if (utils.parseBoolean(node.attributes.collapsed)) {\n model.collapsed = true;\n }\n return true;\n }\n\n this.parser = this.map[node.name];\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n return false;\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n }\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.model.cells.push(this.parser.model);\n if (this.maxItems && this.model.cells.length > this.maxItems) {\n throw new Error(`Max column count (${this.maxItems}) exceeded`);\n }\n this.parser = undefined;\n }\n return true;\n }\n return false;\n }\n\n reconcile(model, options) {\n model.style = model.styleId ? options.styles.getStyleModel(model.styleId) : {};\n if (model.styleId !== undefined) {\n model.styleId = undefined;\n }\n\n const cellXform = this.map.c;\n model.cells.forEach(cellModel => {\n cellXform.reconcile(cellModel, options);\n });\n }\n}\n\nmodule.exports = RowXform;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ const _ = require('../../../utils/under-dash');
4
+ const BaseXform = require('../base-xform');
5
+ class SheetFormatPropertiesXform extends BaseXform {
6
+ get tag() {
7
+ return 'sheetFormatPr';
8
+ }
9
+ render(xmlStream, model) {
10
+ if (model) {
11
+ const attributes = {
12
+ defaultRowHeight: model.defaultRowHeight,
13
+ outlineLevelRow: model.outlineLevelRow,
14
+ outlineLevelCol: model.outlineLevelCol,
15
+ 'x14ac:dyDescent': model.dyDescent
16
+ };
17
+ if (model.defaultColWidth) {
18
+ attributes.defaultColWidth = model.defaultColWidth;
19
+ }
20
+
21
+ // default value for 'defaultRowHeight' is 15, this should not be 'custom'
22
+ if (!model.defaultRowHeight || model.defaultRowHeight !== 15) {
23
+ attributes.customHeight = '1';
24
+ }
25
+ if (_.some(attributes, value => value !== undefined)) {
26
+ xmlStream.leafNode('sheetFormatPr', attributes);
27
+ }
28
+ }
29
+ }
30
+ parseOpen(node) {
31
+ if (node.name === 'sheetFormatPr') {
32
+ this.model = {
33
+ defaultRowHeight: parseFloat(node.attributes.defaultRowHeight || '0'),
34
+ dyDescent: parseFloat(node.attributes['x14ac:dyDescent'] || '0'),
35
+ outlineLevelRow: parseInt(node.attributes.outlineLevelRow || '0', 10),
36
+ outlineLevelCol: parseInt(node.attributes.outlineLevelCol || '0', 10)
37
+ };
38
+ if (node.attributes.defaultColWidth) {
39
+ this.model.defaultColWidth = parseFloat(node.attributes.defaultColWidth);
40
+ }
41
+ return true;
42
+ }
43
+ return false;
44
+ }
45
+ parseText() {}
46
+ parseClose() {
47
+ return false;
48
+ }
49
+ }
50
+ module.exports = SheetFormatPropertiesXform;
51
+ //# sourceMappingURL=sheet-format-properties-xform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheet-format-properties-xform.js","names":["_","require","BaseXform","SheetFormatPropertiesXform","tag","render","xmlStream","model","attributes","defaultRowHeight","outlineLevelRow","outlineLevelCol","dyDescent","defaultColWidth","customHeight","some","value","undefined","leafNode","parseOpen","node","name","parseFloat","parseInt","parseText","parseClose","module","exports"],"sources":["../../../../../lib/xlsx/xform/sheet/sheet-format-properties-xform.js"],"sourcesContent":["const _ = require('../../../utils/under-dash');\nconst BaseXform = require('../base-xform');\n\nclass SheetFormatPropertiesXform extends BaseXform {\n get tag() {\n return 'sheetFormatPr';\n }\n\n render(xmlStream, model) {\n if (model) {\n const attributes = {\n defaultRowHeight: model.defaultRowHeight,\n outlineLevelRow: model.outlineLevelRow,\n outlineLevelCol: model.outlineLevelCol,\n 'x14ac:dyDescent': model.dyDescent,\n };\n if (model.defaultColWidth) {\n attributes.defaultColWidth = model.defaultColWidth;\n }\n\n // default value for 'defaultRowHeight' is 15, this should not be 'custom'\n if (!model.defaultRowHeight || model.defaultRowHeight !== 15) {\n attributes.customHeight = '1';\n }\n\n if (_.some(attributes, value => value !== undefined)) {\n xmlStream.leafNode('sheetFormatPr', attributes);\n }\n }\n }\n\n parseOpen(node) {\n if (node.name === 'sheetFormatPr') {\n this.model = {\n defaultRowHeight: parseFloat(node.attributes.defaultRowHeight || '0'),\n dyDescent: parseFloat(node.attributes['x14ac:dyDescent'] || '0'),\n outlineLevelRow: parseInt(node.attributes.outlineLevelRow || '0', 10),\n outlineLevelCol: parseInt(node.attributes.outlineLevelCol || '0', 10),\n };\n if (node.attributes.defaultColWidth) {\n this.model.defaultColWidth = parseFloat(node.attributes.defaultColWidth);\n }\n return true;\n }\n return false;\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = SheetFormatPropertiesXform;\n"],"mappings":";;AAAA,MAAMA,CAAC,GAAGC,OAAO,CAAC,2BAA2B,CAAC;AAC9C,MAAMC,SAAS,GAAGD,OAAO,CAAC,eAAe,CAAC;AAE1C,MAAME,0BAA0B,SAASD,SAAS,CAAC;EACjD,IAAIE,GAAGA,CAAA,EAAG;IACR,OAAO,eAAe;EACxB;EAEAC,MAAMA,CAACC,SAAS,EAAEC,KAAK,EAAE;IACvB,IAAIA,KAAK,EAAE;MACT,MAAMC,UAAU,GAAG;QACjBC,gBAAgB,EAAEF,KAAK,CAACE,gBAAgB;QACxCC,eAAe,EAAEH,KAAK,CAACG,eAAe;QACtCC,eAAe,EAAEJ,KAAK,CAACI,eAAe;QACtC,iBAAiB,EAAEJ,KAAK,CAACK;MAC3B,CAAC;MACD,IAAIL,KAAK,CAACM,eAAe,EAAE;QACzBL,UAAU,CAACK,eAAe,GAAGN,KAAK,CAACM,eAAe;MACpD;;MAEA;MACA,IAAI,CAACN,KAAK,CAACE,gBAAgB,IAAIF,KAAK,CAACE,gBAAgB,KAAK,EAAE,EAAE;QAC5DD,UAAU,CAACM,YAAY,GAAG,GAAG;MAC/B;MAEA,IAAId,CAAC,CAACe,IAAI,CAACP,UAAU,EAAEQ,KAAK,IAAIA,KAAK,KAAKC,SAAS,CAAC,EAAE;QACpDX,SAAS,CAACY,QAAQ,CAAC,eAAe,EAAEV,UAAU,CAAC;MACjD;IACF;EACF;EAEAW,SAASA,CAACC,IAAI,EAAE;IACd,IAAIA,IAAI,CAACC,IAAI,KAAK,eAAe,EAAE;MACjC,IAAI,CAACd,KAAK,GAAG;QACXE,gBAAgB,EAAEa,UAAU,CAACF,IAAI,CAACZ,UAAU,CAACC,gBAAgB,IAAI,GAAG,CAAC;QACrEG,SAAS,EAAEU,UAAU,CAACF,IAAI,CAACZ,UAAU,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC;QAChEE,eAAe,EAAEa,QAAQ,CAACH,IAAI,CAACZ,UAAU,CAACE,eAAe,IAAI,GAAG,EAAE,EAAE,CAAC;QACrEC,eAAe,EAAEY,QAAQ,CAACH,IAAI,CAACZ,UAAU,CAACG,eAAe,IAAI,GAAG,EAAE,EAAE;MACtE,CAAC;MACD,IAAIS,IAAI,CAACZ,UAAU,CAACK,eAAe,EAAE;QACnC,IAAI,CAACN,KAAK,CAACM,eAAe,GAAGS,UAAU,CAACF,IAAI,CAACZ,UAAU,CAACK,eAAe,CAAC;MAC1E;MACA,OAAO,IAAI;IACb;IACA,OAAO,KAAK;EACd;EAEAW,SAASA,CAAA,EAAG,CAAC;EAEbC,UAAUA,CAAA,EAAG;IACX,OAAO,KAAK;EACd;AACF;AAEAC,MAAM,CAACC,OAAO,GAAGxB,0BAA0B","ignoreList":[]}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ const BaseXform = require('../base-xform');
4
+ const ColorXform = require('../style/color-xform');
5
+ const PageSetupPropertiesXform = require('./page-setup-properties-xform');
6
+ const OutlinePropertiesXform = require('./outline-properties-xform');
7
+ class SheetPropertiesXform extends BaseXform {
8
+ constructor() {
9
+ super();
10
+ this.map = {
11
+ tabColor: new ColorXform('tabColor'),
12
+ pageSetUpPr: new PageSetupPropertiesXform(),
13
+ outlinePr: new OutlinePropertiesXform()
14
+ };
15
+ }
16
+ get tag() {
17
+ return 'sheetPr';
18
+ }
19
+ render(xmlStream, model) {
20
+ if (model) {
21
+ xmlStream.addRollback();
22
+ xmlStream.openNode('sheetPr');
23
+ let inner = false;
24
+ inner = this.map.tabColor.render(xmlStream, model.tabColor) || inner;
25
+ inner = this.map.pageSetUpPr.render(xmlStream, model.pageSetup) || inner;
26
+ inner = this.map.outlinePr.render(xmlStream, model.outlineProperties) || inner;
27
+ if (inner) {
28
+ xmlStream.closeNode();
29
+ xmlStream.commit();
30
+ } else {
31
+ xmlStream.rollback();
32
+ }
33
+ }
34
+ }
35
+ parseOpen(node) {
36
+ if (this.parser) {
37
+ this.parser.parseOpen(node);
38
+ return true;
39
+ }
40
+ if (node.name === this.tag) {
41
+ this.reset();
42
+ return true;
43
+ }
44
+ if (this.map[node.name]) {
45
+ this.parser = this.map[node.name];
46
+ this.parser.parseOpen(node);
47
+ return true;
48
+ }
49
+ return false;
50
+ }
51
+ parseText(text) {
52
+ if (this.parser) {
53
+ this.parser.parseText(text);
54
+ return true;
55
+ }
56
+ return false;
57
+ }
58
+ parseClose(name) {
59
+ if (this.parser) {
60
+ if (!this.parser.parseClose(name)) {
61
+ this.parser = undefined;
62
+ }
63
+ return true;
64
+ }
65
+ if (this.map.tabColor.model || this.map.pageSetUpPr.model || this.map.outlinePr.model) {
66
+ this.model = {};
67
+ if (this.map.tabColor.model) {
68
+ this.model.tabColor = this.map.tabColor.model;
69
+ }
70
+ if (this.map.pageSetUpPr.model) {
71
+ this.model.pageSetup = this.map.pageSetUpPr.model;
72
+ }
73
+ if (this.map.outlinePr.model) {
74
+ this.model.outlineProperties = this.map.outlinePr.model;
75
+ }
76
+ } else {
77
+ this.model = null;
78
+ }
79
+ return false;
80
+ }
81
+ }
82
+ module.exports = SheetPropertiesXform;
83
+ //# sourceMappingURL=sheet-properties-xform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheet-properties-xform.js","names":["BaseXform","require","ColorXform","PageSetupPropertiesXform","OutlinePropertiesXform","SheetPropertiesXform","constructor","map","tabColor","pageSetUpPr","outlinePr","tag","render","xmlStream","model","addRollback","openNode","inner","pageSetup","outlineProperties","closeNode","commit","rollback","parseOpen","node","parser","name","reset","parseText","text","parseClose","undefined","module","exports"],"sources":["../../../../../lib/xlsx/xform/sheet/sheet-properties-xform.js"],"sourcesContent":["const BaseXform = require('../base-xform');\nconst ColorXform = require('../style/color-xform');\nconst PageSetupPropertiesXform = require('./page-setup-properties-xform');\nconst OutlinePropertiesXform = require('./outline-properties-xform');\n\nclass SheetPropertiesXform extends BaseXform {\n constructor() {\n super();\n\n this.map = {\n tabColor: new ColorXform('tabColor'),\n pageSetUpPr: new PageSetupPropertiesXform(),\n outlinePr: new OutlinePropertiesXform(),\n };\n }\n\n get tag() {\n return 'sheetPr';\n }\n\n render(xmlStream, model) {\n if (model) {\n xmlStream.addRollback();\n xmlStream.openNode('sheetPr');\n\n let inner = false;\n inner = this.map.tabColor.render(xmlStream, model.tabColor) || inner;\n inner = this.map.pageSetUpPr.render(xmlStream, model.pageSetup) || inner;\n inner = this.map.outlinePr.render(xmlStream, model.outlineProperties) || inner;\n\n if (inner) {\n xmlStream.closeNode();\n xmlStream.commit();\n } else {\n xmlStream.rollback();\n }\n }\n }\n\n parseOpen(node) {\n if (this.parser) {\n this.parser.parseOpen(node);\n return true;\n }\n if (node.name === this.tag) {\n this.reset();\n return true;\n }\n if (this.map[node.name]) {\n this.parser = this.map[node.name];\n this.parser.parseOpen(node);\n return true;\n }\n return false;\n }\n\n parseText(text) {\n if (this.parser) {\n this.parser.parseText(text);\n return true;\n }\n return false;\n }\n\n parseClose(name) {\n if (this.parser) {\n if (!this.parser.parseClose(name)) {\n this.parser = undefined;\n }\n return true;\n }\n if (this.map.tabColor.model || this.map.pageSetUpPr.model || this.map.outlinePr.model) {\n this.model = {};\n if (this.map.tabColor.model) {\n this.model.tabColor = this.map.tabColor.model;\n }\n if (this.map.pageSetUpPr.model) {\n this.model.pageSetup = this.map.pageSetUpPr.model;\n }\n if (this.map.outlinePr.model) {\n this.model.outlineProperties = this.map.outlinePr.model;\n }\n } else {\n this.model = null;\n }\n return false;\n }\n}\n\nmodule.exports = SheetPropertiesXform;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+
3
+ const _ = require('../../../utils/under-dash');
4
+ const BaseXform = require('../base-xform');
5
+ function booleanToXml(model, value) {
6
+ return model ? value : undefined;
7
+ }
8
+ function xmlToBoolean(value, equals) {
9
+ return value === equals ? true : undefined;
10
+ }
11
+ class SheetProtectionXform extends BaseXform {
12
+ get tag() {
13
+ return 'sheetProtection';
14
+ }
15
+ render(xmlStream, model) {
16
+ if (model) {
17
+ const attributes = {
18
+ sheet: booleanToXml(model.sheet, '1'),
19
+ selectLockedCells: model.selectLockedCells === false ? '1' : undefined,
20
+ selectUnlockedCells: model.selectUnlockedCells === false ? '1' : undefined,
21
+ formatCells: booleanToXml(model.formatCells, '0'),
22
+ formatColumns: booleanToXml(model.formatColumns, '0'),
23
+ formatRows: booleanToXml(model.formatRows, '0'),
24
+ insertColumns: booleanToXml(model.insertColumns, '0'),
25
+ insertRows: booleanToXml(model.insertRows, '0'),
26
+ insertHyperlinks: booleanToXml(model.insertHyperlinks, '0'),
27
+ deleteColumns: booleanToXml(model.deleteColumns, '0'),
28
+ deleteRows: booleanToXml(model.deleteRows, '0'),
29
+ sort: booleanToXml(model.sort, '0'),
30
+ autoFilter: booleanToXml(model.autoFilter, '0'),
31
+ pivotTables: booleanToXml(model.pivotTables, '0')
32
+ };
33
+ if (model.sheet) {
34
+ attributes.algorithmName = model.algorithmName;
35
+ attributes.hashValue = model.hashValue;
36
+ attributes.saltValue = model.saltValue;
37
+ attributes.spinCount = model.spinCount;
38
+ attributes.objects = booleanToXml(model.objects === false, '1');
39
+ attributes.scenarios = booleanToXml(model.scenarios === false, '1');
40
+ }
41
+ if (_.some(attributes, value => value !== undefined)) {
42
+ xmlStream.leafNode(this.tag, attributes);
43
+ }
44
+ }
45
+ }
46
+ parseOpen(node) {
47
+ switch (node.name) {
48
+ case this.tag:
49
+ this.model = {
50
+ sheet: xmlToBoolean(node.attributes.sheet, '1'),
51
+ objects: node.attributes.objects === '1' ? false : undefined,
52
+ scenarios: node.attributes.scenarios === '1' ? false : undefined,
53
+ selectLockedCells: node.attributes.selectLockedCells === '1' ? false : undefined,
54
+ selectUnlockedCells: node.attributes.selectUnlockedCells === '1' ? false : undefined,
55
+ formatCells: xmlToBoolean(node.attributes.formatCells, '0'),
56
+ formatColumns: xmlToBoolean(node.attributes.formatColumns, '0'),
57
+ formatRows: xmlToBoolean(node.attributes.formatRows, '0'),
58
+ insertColumns: xmlToBoolean(node.attributes.insertColumns, '0'),
59
+ insertRows: xmlToBoolean(node.attributes.insertRows, '0'),
60
+ insertHyperlinks: xmlToBoolean(node.attributes.insertHyperlinks, '0'),
61
+ deleteColumns: xmlToBoolean(node.attributes.deleteColumns, '0'),
62
+ deleteRows: xmlToBoolean(node.attributes.deleteRows, '0'),
63
+ sort: xmlToBoolean(node.attributes.sort, '0'),
64
+ autoFilter: xmlToBoolean(node.attributes.autoFilter, '0'),
65
+ pivotTables: xmlToBoolean(node.attributes.pivotTables, '0')
66
+ };
67
+ if (node.attributes.algorithmName) {
68
+ this.model.algorithmName = node.attributes.algorithmName;
69
+ this.model.hashValue = node.attributes.hashValue;
70
+ this.model.saltValue = node.attributes.saltValue;
71
+ this.model.spinCount = parseInt(node.attributes.spinCount, 10);
72
+ }
73
+ return true;
74
+ default:
75
+ return false;
76
+ }
77
+ }
78
+ parseText() {}
79
+ parseClose() {
80
+ return false;
81
+ }
82
+ }
83
+ module.exports = SheetProtectionXform;
84
+ //# sourceMappingURL=sheet-protection-xform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheet-protection-xform.js","names":["_","require","BaseXform","booleanToXml","model","value","undefined","xmlToBoolean","equals","SheetProtectionXform","tag","render","xmlStream","attributes","sheet","selectLockedCells","selectUnlockedCells","formatCells","formatColumns","formatRows","insertColumns","insertRows","insertHyperlinks","deleteColumns","deleteRows","sort","autoFilter","pivotTables","algorithmName","hashValue","saltValue","spinCount","objects","scenarios","some","leafNode","parseOpen","node","name","parseInt","parseText","parseClose","module","exports"],"sources":["../../../../../lib/xlsx/xform/sheet/sheet-protection-xform.js"],"sourcesContent":["const _ = require('../../../utils/under-dash');\nconst BaseXform = require('../base-xform');\n\nfunction booleanToXml(model, value) {\n return model ? value : undefined;\n}\n\nfunction xmlToBoolean(value, equals) {\n return value === equals ? true : undefined;\n}\n\nclass SheetProtectionXform extends BaseXform {\n get tag() {\n return 'sheetProtection';\n }\n\n render(xmlStream, model) {\n if (model) {\n const attributes = {\n sheet: booleanToXml(model.sheet, '1'),\n selectLockedCells: model.selectLockedCells === false ? '1' : undefined,\n selectUnlockedCells: model.selectUnlockedCells === false ? '1' : undefined,\n formatCells: booleanToXml(model.formatCells, '0'),\n formatColumns: booleanToXml(model.formatColumns, '0'),\n formatRows: booleanToXml(model.formatRows, '0'),\n insertColumns: booleanToXml(model.insertColumns, '0'),\n insertRows: booleanToXml(model.insertRows, '0'),\n insertHyperlinks: booleanToXml(model.insertHyperlinks, '0'),\n deleteColumns: booleanToXml(model.deleteColumns, '0'),\n deleteRows: booleanToXml(model.deleteRows, '0'),\n sort: booleanToXml(model.sort, '0'),\n autoFilter: booleanToXml(model.autoFilter, '0'),\n pivotTables: booleanToXml(model.pivotTables, '0'),\n };\n if (model.sheet) {\n attributes.algorithmName = model.algorithmName;\n attributes.hashValue = model.hashValue;\n attributes.saltValue = model.saltValue;\n attributes.spinCount = model.spinCount;\n attributes.objects = booleanToXml(model.objects === false, '1');\n attributes.scenarios = booleanToXml(model.scenarios === false, '1');\n }\n if (_.some(attributes, value => value !== undefined)) {\n xmlStream.leafNode(this.tag, attributes);\n }\n }\n }\n\n parseOpen(node) {\n switch (node.name) {\n case this.tag:\n this.model = {\n sheet: xmlToBoolean(node.attributes.sheet, '1'),\n objects: node.attributes.objects === '1' ? false : undefined,\n scenarios: node.attributes.scenarios === '1' ? false : undefined,\n selectLockedCells: node.attributes.selectLockedCells === '1' ? false : undefined,\n selectUnlockedCells: node.attributes.selectUnlockedCells === '1' ? false : undefined,\n formatCells: xmlToBoolean(node.attributes.formatCells, '0'),\n formatColumns: xmlToBoolean(node.attributes.formatColumns, '0'),\n formatRows: xmlToBoolean(node.attributes.formatRows, '0'),\n insertColumns: xmlToBoolean(node.attributes.insertColumns, '0'),\n insertRows: xmlToBoolean(node.attributes.insertRows, '0'),\n insertHyperlinks: xmlToBoolean(node.attributes.insertHyperlinks, '0'),\n deleteColumns: xmlToBoolean(node.attributes.deleteColumns, '0'),\n deleteRows: xmlToBoolean(node.attributes.deleteRows, '0'),\n sort: xmlToBoolean(node.attributes.sort, '0'),\n autoFilter: xmlToBoolean(node.attributes.autoFilter, '0'),\n pivotTables: xmlToBoolean(node.attributes.pivotTables, '0'),\n };\n if (node.attributes.algorithmName) {\n this.model.algorithmName = node.attributes.algorithmName;\n this.model.hashValue = node.attributes.hashValue;\n this.model.saltValue = node.attributes.saltValue;\n this.model.spinCount = parseInt(node.attributes.spinCount, 10);\n }\n return true;\n default:\n return false;\n }\n }\n\n parseText() {}\n\n parseClose() {\n return false;\n }\n}\n\nmodule.exports = SheetProtectionXform;\n"],"mappings":"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","ignoreList":[]}