From d1e9893617b402e4550ba1bb83ad067f61d91d66 Mon Sep 17 00:00:00 2001 From: Lars Hvam Date: Wed, 18 Sep 2024 14:46:36 +0200 Subject: [PATCH 1/3] wip --- package-lock.json | 42 +++++++++++++++++++++--------------------- package.json | 8 ++++---- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4e9459b..3701513 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,10 +9,10 @@ "version": "1.0.0", "license": "MIT", "devDependencies": { - "@abaplint/monaco": "^2.113.8", - "@abaplint/runtime": "^2.10.18", - "@abaplint/transpiler": "^2.10.18", - "@abaplint/transpiler-cli": "^2.10.18", + "@abaplint/monaco": "^2.113.9", + "@abaplint/runtime": "^2.10.19", + "@abaplint/transpiler": "^2.10.19", + "@abaplint/transpiler-cli": "^2.10.19", "assert": "^2.1.0", "browserify-zlib": "^0.2.0", "buffer": "^6.0.3", @@ -36,9 +36,9 @@ } }, "node_modules/@abaplint/core": { - "version": "2.113.8", - "resolved": "https://registry.npmjs.org/@abaplint/core/-/core-2.113.8.tgz", - "integrity": "sha512-0byfQc4NZ+BsvquP/aNcMmwp9AvujSIIEsrQqA6+BuTQAcL/KM9Lrgw7dsUkI8LUPPtgG6QSgfvhmRpBna4ivA==", + "version": "2.113.9", + "resolved": "https://registry.npmjs.org/@abaplint/core/-/core-2.113.9.tgz", + "integrity": "sha512-hpnQ2V77YikecdN6XthjxrKld90Su1DJVbT8umclFx8aJwuL8jp6pwL6gNreh1wlXdUX5iRPbAxPmU9B3kcC6Q==", "dev": true, "dependencies": { "fast-xml-parser": "^4.5.0", @@ -53,21 +53,21 @@ } }, "node_modules/@abaplint/monaco": { - "version": "2.113.8", - "resolved": "https://registry.npmjs.org/@abaplint/monaco/-/monaco-2.113.8.tgz", - "integrity": "sha512-So55yR/omi3vUUhKddAmMmesxxo59uD5FvWhftLORYHjPU7DEE60xkMCuRQkDjk1yiaiUKmjOZojMjaQsvBiGg==", + "version": "2.113.9", + "resolved": "https://registry.npmjs.org/@abaplint/monaco/-/monaco-2.113.9.tgz", + "integrity": "sha512-ctbhXcI4ze+ns71sPi9/sRfTCX/h2fCgvscgB29uA+re/jdwqaZcv54w8qL44lwwDvfwqjgzOnNp29DHolmRVg==", "dev": true, "dependencies": { - "@abaplint/core": "^2.113.8" + "@abaplint/core": "^2.113.9" }, "funding": { "url": "https://github.com/sponsors/larshp" } }, "node_modules/@abaplint/runtime": { - "version": "2.10.18", - "resolved": "https://registry.npmjs.org/@abaplint/runtime/-/runtime-2.10.18.tgz", - "integrity": "sha512-7x7pxlVWn9uliURr4zyarlEeKNneuucdEt9GjZmbXRgAwbaIZjt48eHyFn/iGjnbtQ638dBkm2p4SVTkw9GwqQ==", + "version": "2.10.19", + "resolved": "https://registry.npmjs.org/@abaplint/runtime/-/runtime-2.10.19.tgz", + "integrity": "sha512-xALxhprBVDtOmg23NqPh6+xVgiY1/VBUoc2anWiufVgr8xjij4XSgD/e5zjaKe+9ZNiW5QSMDWi+tdbb3wARyQ==", "dev": true, "dependencies": { "temporal-polyfill": "^0.2.5" @@ -77,12 +77,12 @@ } }, "node_modules/@abaplint/transpiler": { - "version": "2.10.18", - "resolved": "https://registry.npmjs.org/@abaplint/transpiler/-/transpiler-2.10.18.tgz", - "integrity": "sha512-5X0669N/QGDjhg+VoE3xs29p0nIaOnXf2vt14bPzT0+3cFKuZSCnGLwRDY2zGDACbvLVm08JYVmz9CyUEyYKlA==", + "version": "2.10.19", + "resolved": "https://registry.npmjs.org/@abaplint/transpiler/-/transpiler-2.10.19.tgz", + "integrity": "sha512-rHYGq2wlLWElHfjWdDPSrP5GIj/nNxudFVlhZ+WxPR06cXmK8wMGrWomPQHXecYl1Dwoly6QU2M4KeEqRVdnPQ==", "dev": true, "dependencies": { - "@abaplint/core": "^2.113.7", + "@abaplint/core": "^2.113.8", "source-map": "^0.7.4" }, "funding": { @@ -90,9 +90,9 @@ } }, "node_modules/@abaplint/transpiler-cli": { - "version": "2.10.18", - "resolved": "https://registry.npmjs.org/@abaplint/transpiler-cli/-/transpiler-cli-2.10.18.tgz", - "integrity": "sha512-IL7PN4Iuoei5hEqRYA4MZuscjYTxIZXPkb1LYPOyr6z7D5rsRkk83eZr2VzwspU5dvdLgTyG7WRoecgP7PKLpQ==", + "version": "2.10.19", + "resolved": "https://registry.npmjs.org/@abaplint/transpiler-cli/-/transpiler-cli-2.10.19.tgz", + "integrity": "sha512-kks2PLMEJMi+1QrA6lxOP1SNSGDe8FUKo2QHELCv8y9eksHI7TqFAkrB/llgiWIQCH/SuR7V3pntnDK57Gxquw==", "dev": true, "bin": { "abap_transpile": "abap_transpile" diff --git a/package.json b/package.json index 543192e..edb0d3f 100644 --- a/package.json +++ b/package.json @@ -16,10 +16,10 @@ "author": "", "license": "MIT", "devDependencies": { - "@abaplint/monaco": "^2.113.8", - "@abaplint/runtime": "^2.10.18", - "@abaplint/transpiler": "^2.10.18", - "@abaplint/transpiler-cli": "^2.10.18", + "@abaplint/monaco": "^2.113.9", + "@abaplint/runtime": "^2.10.19", + "@abaplint/transpiler": "^2.10.19", + "@abaplint/transpiler-cli": "^2.10.19", "assert": "^2.1.0", "browserify-zlib": "^0.2.0", "buffer": "^6.0.3", From 63c562d9e871c03b9314465dea4e2d44be66ed3a Mon Sep 17 00:00:00 2001 From: Lars Hvam Date: Wed, 18 Sep 2024 14:58:41 +0200 Subject: [PATCH 2/3] increase counter --- abap.mjs | 12 ++++++++++-- examples.mjs | 2 +- public/zcl_excel_demo1.xlsx | Bin 6330 -> 6330 bytes public/zcl_excel_demo2.xlsx | Bin 6820 -> 6820 bytes public/zcl_excel_demo4.xlsx | Bin 9105 -> 9105 bytes public/zcl_excel_demo5.xlsx | Bin 5800 -> 5800 bytes public/zcl_excel_demo6.xlsx | Bin 5795 -> 5795 bytes public/zcl_excel_demo7.xlsx | Bin 6737 -> 6738 bytes public/zcl_excel_demo8.xlsx | Bin 5863 -> 5864 bytes 9 files changed, 11 insertions(+), 3 deletions(-) diff --git a/abap.mjs b/abap.mjs index 2aec27c..b861e06 100644 --- a/abap.mjs +++ b/abap.mjs @@ -32,9 +32,17 @@ for (const dirent of fs.readdirSync("open-abap-core/src", {recursive: true, with ///////////////////////////////////////// -for (let i = 1; i < 10; i++) { +for (let i = 1; i < 99; i++) { + let prefixed = i + ""; + if (prefixed.length < 3) { + prefixed = "0" + prefixed; + } + if (prefixed.length < 3) { + prefixed = "0" + prefixed; + } + const filename = "abap2xlsx-demos/src/demo" + prefixed + "/zcl_excel_demo" + i + ".clas.abap"; try { - const contents = fs.readFileSync("abap2xlsx-demos/src/demo00" + i + "/zcl_excel_demo" + i + ".clas.abap", "utf-8").toString("utf-8"); + const contents = fs.readFileSync(filename, "utf-8").toString("utf-8"); add("zcl_excel_demo" + i + ".clas.abap", contents); } catch { continue; diff --git a/examples.mjs b/examples.mjs index a6af9ab..b6d3a1b 100644 --- a/examples.mjs +++ b/examples.mjs @@ -4,7 +4,7 @@ await initializeABAP(); console.log("Running examples.mjs"); -for (let i = 1; i < 10; i++) { +for (let i = 1; i < 99; i++) { const className = "ZCL_EXCEL_DEMO" + i; if (abap.Classes[className] === undefined) { continue; diff --git a/public/zcl_excel_demo1.xlsx b/public/zcl_excel_demo1.xlsx index 8aa712ad8a99146434451e0cc4f4f86ace7511b7..2ebb04cd65120b973fdb02fea12d8d93dbffcff3 100644 GIT binary patch delta 342 zcmV-c0jd7FF}g9ZIRpf@36firJp?R&lqgNbqpT=GvzA5lsk+A|IF*tTYkw>)vFB@0%qPZzu2s1-PO;z<<5t)*{?1l_Q$mJVL12Ofh8tmjY&#>` zDFyG8_QRE}KyVBtDA2)UnoxXT132YRHnd5PR5ENVoJ99wN7r6~XlKC(* zLM|nU>rGGhH_LbXZ^wX$YA>@g?UwuGWpH!5xI;xs(zBRc#&ooxX?8x!X!_QSKk7dS o)o#eYje9}SzWey^6u(eQ0|b-M78DgFtB(8vx zwrMK5Vmtpg-*`s;`TEW$wJM`ea9$ccMl>NPihN*Nu+nH4qb+zeDROQzZX7&0W5ERp zKB`rzea7t=Z9=da#-49LF`pOn`NIK_fbj9X*N_&ZwzP6-)e1%U|`7;c1rvF(g# zuN1sf+7DN@0>Lqqpg;$YX+rUl4d9eN+t4OGQpvEja27p;9bJ3bfmKx{)u2UFLMVQn zJ{bc*Y&DU|g}BPoE#JXVV<_iVYyZb0=+(Mi--m4inNM{c>~XlKC(* zLaro;n{7|`H_P|?@5X?LYA>@g-Ij;sWpI19xJN}w(u36firI|M9$lqgNbqpT=GvzA5lsk+A|IF*tTYkw>)vFB@0%qPZzu2s1-PO;z<<5t)*{?1l_Q$mJVL12Ofh8tmjY&#>` zDFyG8_QRE}KyVBtDA2)UnoxXT132YRHnd5PR5ENVoJ99wN7r6~XlKC(* zLM|nU>rGGhH_LbXZ^wX$YA>@Z?UwuGWpH!5xI;xs(zBRc#&ooxX?8x!X!_QSKk7dS d)o#eYje9}SzWeyIkOlP;1hxs1TeFE68v?|YoE`uG delta 331 zcmV-R0kr<4HKaALHv|Me;F)-nI|M9$6;YasM_EyXXe$sq%bvCt@k6#D>DgFtB(8vx zwrMK5Vmtpg-*`s;`TEW$wJM`ea9$ccMl>NPihN*Nu+nH4qb+zeDROQzZX7&0W5ERp zKB`rzea7t=Z9=da#-49LF`pOn`NIK_fbj9X*N_&ZwzP6-)e1%U|`7;c1rvF(g# zuN1sf+7DN@0>Lqqpg;$YX+rUl4d9eN+t4OGQpvEja27p;9bJ3bfmKx{)u2UFLMVQn zJ{bc*Y&DU|g}BPoE#JXVV<_iVYyZb0=+(Mi--m4inNM{c>~XlKC(* zLaro;n{7|`H_P|?@5X?LYA>@Z-Ij;sWpI19xJN}w(uiXtDF7OXTH#%Kc`O^Te`j2j1!&RB3k zf{$udYM*gCM(Yr4hOy^sP|PRBg05A$G)}SL6XRCcGXBn1fKx(-SV3Td1%?}cVQf1i z+9?I^l=j1wtw3-LB`DCrW13KWU;{YiPd2nkk5n>jESyC5VMo_qc3@RiNi}HEln{zv zXZQ1V)mZB0QXEi`3!ZTYEErcj&!r3d&LG2;JK4FNTZ93gbowZBK>l6=aTs_ zGeRyUi0e&H_czOT`)|j9h-xn{v+b7q?plNnK%4qu5j6do> h2-R-Lzm0oA(Z2im?-akYu?74Y1hxs1TeGnr-~+-?pW*-j delta 335 zcmV-V0kHm&N0CRcRRjcBLD`v;Sp+M8Q7fV(6_2u_2+<-CJIkK77V$&2A?evza3rpP zlD26ox?(&3H{WiC;Ft)uB z?UjP}O8eoeP9Qjj3KZzzF-<5wvH_g(XB)a?Kq?uw7S5uFu%{a@d$6wSq#ku>N(jZT z^ZP}&YAkhoDGsR21<$wx7K|&O7qh2_tNAR)gJKH^@Z3ooq|xOhq2q*f$gterxne%d zjgTt|;(9yK{mt_I{<|?CqQ=WFY`5hhc^Tc@F7Hs8lJp`bmocSFI?3oH8;#%E@hAO9 hq1q4mxA7n-yLX@do$?p6u?74Y1Xw}YnX|DU-~*%UpiTe) diff --git a/public/zcl_excel_demo5.xlsx b/public/zcl_excel_demo5.xlsx index 2ad300c28b0556b0fd432a2f27b0718ea680d87f..0d19fe211ab77681122c8e359a5386533e8c0f15 100644 GIT binary patch delta 343 zcmV-d0jU0{EvPN9IRpf@36firJp?O%p_C|1#iOh!LbM3P&a$ViMf{L$NP0FF9EmHS zq-~mtuGr51%{QKrf4;u+Nv+E06P%Yuj}c7>iXtDF7OXTH#%Kc`O^Te`j2j1!&RB3k zf{$udYM*gCM(Yr4hOy^sP|PRBg05A$G)}SL6XRCcGXBn1fKx(-SV3Td1%?}cVQf1i z+9?I^l=j1wtw3-LB`DCrW13KWU;{YiPd2nkk5n>jESyC5VMo_qc3@RiNi}HEln{zv zXZQ1V)mZB0QXEi`3!ZTYEErcj&!r3d&LG2;JK4FNTZ93gbowZBK>l6=aTs_ zGeRyUi0e&H_czOT`)|j9h-xo0v+b7q?plNnK%4qu5j6do> p2-R-Lzm0oA(Z2im?-ajKO9KRxz7!g>vjx@;1hxs1TeFQ68viC;Ft)uB z?UjP}O8eoeP9Qjj3KZzzF-<5wvH_g(XB)a?Kq?uw7S5uFu%{a@d$6wSq#ku>N(jZT z^ZP}&YAkhoDGsR21<$wx7K|&O7qh2_tNAR)gJKH^@Z3ooq|xOhq2q*f$gterxne%d zjgTt|;(9yK{mt_I{<|?CqQ=WJY`5hhc^Tc@F7Hs8lJp`bmocSFI?3oH8;#%E@hAO9 pq1q4mxA7n-yLX@do$?n@O9KRxz7!g>vjx@;1Xw}YnX`=)8v;aAp%DN8 diff --git a/public/zcl_excel_demo6.xlsx b/public/zcl_excel_demo6.xlsx index 5233a7adaa1e0a3cf7c9bd1f6997b4f57deaa30c..e7c1bf720555687d856c1b6c8ac5ebe44748e43d 100644 GIT binary patch delta 335 zcmV-V0kHm~Eu$^4IRpf@36firJp?O%p_C|1#iOh!LbM3P&a$ViMf{L$NP0FF9EmHS zq-~mtuGr51%{QKrf4;u+Nv+E06P%Yuj}c7>iXtDF7OXTH#%Kc`O^Te`j2j1!&RB3k zf{$udYM*gCM(Yr4hOy^sP|PRBg05A$G)}SL6XRCcGXBn1fKx(-SV3Td1%?}cVQf1i z+9?I^l=j1wtw3-LB`DCrW13KWU;{YiPd2nkk5n>jESyC5VMo_qc3@RiNi}HEln{zv zXZQ1V)mZB0QXEi`3!ZTYEErcj&!r3d&LG2;JK4FNTZ93gbowZBK>l6=aTs_ zGeRyUi0e&H_czOT`)|j9h-xn{v+b7q?plNnK%4qu5j6do> h2-R-Lzm0oA(Z2im?-akYl?Cq(1hxs1TeFB18viC;Ft)uB z?UjP}O8eoeP9Qjj3KZzzF-<5wvH_g(XB)a?Kq?uw7S5uFu%{a@d$6wSq#ku>N(jZT z^ZP}&YAkhoDGsR21<$wx7K|&O7qh2_tNAR)gJKH^@Z3ooq|xOhq2q*f$gterxne%d zjgTt|;(9yK{mt_I{<|?CqQ=WFY`5hhc^Tc@F7Hs8lJp`bmocSFI?3oH8;#%E@hAO9 hq1q4mxA7n-yLX@do$?p6l?Cq(1Xw}YnX`x#8v;WDp4b2Y diff --git a/public/zcl_excel_demo7.xlsx b/public/zcl_excel_demo7.xlsx index d70cbcd331756e4725333a76c25c3689cf6f58df..e3c3abb29781625e24e784d35938fc1535fc1d72 100644 GIT binary patch delta 416 zcmV;R0bl;nG}1J%IRpiimaPOllRgA0f1#8pO~s?EC_=Od#Llv(twsEhZAf}H795Ey zprmb@imuqs|IIg^k$=9v^GU7B=o6fmMvoCq2#O*fm=>%w8pdb?9!-jz+l(6rkIqfe_?Dp zBibni@09k#m90Q<3?(Sg!DE_Gd|(4OsR ze-NtOkbfKZf}(x*@!u(a0kf3_oe~9~BHsTe8&uandmKmi|< z6&XAXc?|#ncx*3oba`xLlb;zClW7kS3jhEB0000000017lZ_cc0iTo48ASoPlNA~^ K25T1p0001b?y{i( delta 410 zcmV;L0cHNuG|@D$IRph*LD`u*lRgA0e^D!!coaXi5mh zuk-sww`wePdnpd6%mvT50~U-cpBJ;IhpYK4$Ae-E2=LrV8>G?YB%$MkbjYyW-nn8v z%#DyM3F3M?(EZKw{rnUeG(CYLd#OFGHuBpZ$2+VLm- zN1@se`M2>PD7$x`{+;p{vz7&&5(QX6*_k_&I2cp`m6MGaM**&r)fhkl9+MUsJPddZ z004MwFLQKxY-N+685NUi4-g9g000000000009%ue89@P_lh7GO0l1SE8a4)M7XSbN E03d*|rT_o{ diff --git a/public/zcl_excel_demo8.xlsx b/public/zcl_excel_demo8.xlsx index eec55f3622337c74bdcff9616e3aa46c13494c17..d2a177a998b27a99a6b28cf23810f9c3f1a6ee77 100644 GIT binary patch delta 404 zcmV;F0c-x}E$A(%w8pdb?9!-jz+l(6rkIqfe_?Dp zBibni@09k#m90Q<3?(Sg!DE_Gd|(4OsR ze-NtOkbfKZf}(x*@!u(a0Z>Z=1e5&~8nd$n6%PfJmaPOllg$)V0+t1nu>~BHKNTtg yuajyOKmi|7sq6pC<5If7BwifY2wjt@+Sa2k+ zfReUpD!O7j|2N-wM*jKwE~bsDqEB#M8a+WYAt;J`U|O)sXqccacr+~wZgXxNJUU~+ z1qnWCRHc2+?F4N?usOz_Z$L4h7z?^l)yg=T_^RZLsLR1 zex2Vhx>aMT+e>jkWg&RZ9k5_r`Mj7tJzULa1s)VzK!E2?+8~WCvxJTl(jmigd*_Pz zFgHT3B#7(nK=(H*_WSR~fQT9|GxOb+hva2+bGy7lWlGYEm|Vt`E@_t2EFWcW?f8@a zqfqUK{M&dCl-;{e|4#V}P)h>@ll~MMv$O>j4+VPO=Eggd&J_2vK?1N4lg$tslYtg00Zx;w7B&U|6aWAK0Ja{l6951J From b8a5e25c90f2b47daaabdcb7e129dc2095dada6d Mon Sep 17 00:00:00 2001 From: Lars Hvam Date: Mon, 30 Sep 2024 18:52:04 +0200 Subject: [PATCH 3/3] update --- examples.mjs | 4 +++ package-lock.json | 58 +++++++++++++++++------------------ package.json | 12 ++++---- public/zcl_excel_demo1.xlsx | Bin 6330 -> 6330 bytes public/zcl_excel_demo12.xlsx | Bin 0 -> 6150 bytes public/zcl_excel_demo13.xlsx | Bin 0 -> 6161 bytes public/zcl_excel_demo14.xlsx | Bin 0 -> 6087 bytes public/zcl_excel_demo18.xlsx | Bin 0 -> 5673 bytes public/zcl_excel_demo2.xlsx | Bin 6820 -> 6820 bytes public/zcl_excel_demo21.xlsx | Bin 0 -> 10469 bytes public/zcl_excel_demo23.xlsx | Bin 0 -> 9232 bytes public/zcl_excel_demo30.xlsx | Bin 0 -> 6161 bytes public/zcl_excel_demo4.xlsx | Bin 9105 -> 9105 bytes public/zcl_excel_demo5.xlsx | Bin 5800 -> 5800 bytes public/zcl_excel_demo6.xlsx | Bin 5795 -> 5795 bytes public/zcl_excel_demo7.xlsx | Bin 6738 -> 6737 bytes public/zcl_excel_demo8.xlsx | Bin 5864 -> 5863 bytes 17 files changed, 39 insertions(+), 35 deletions(-) create mode 100644 public/zcl_excel_demo12.xlsx create mode 100644 public/zcl_excel_demo13.xlsx create mode 100644 public/zcl_excel_demo14.xlsx create mode 100644 public/zcl_excel_demo18.xlsx create mode 100644 public/zcl_excel_demo21.xlsx create mode 100644 public/zcl_excel_demo23.xlsx create mode 100644 public/zcl_excel_demo30.xlsx diff --git a/examples.mjs b/examples.mjs index b6d3a1b..83c93d0 100644 --- a/examples.mjs +++ b/examples.mjs @@ -9,6 +9,10 @@ for (let i = 1; i < 99; i++) { if (abap.Classes[className] === undefined) { continue; } + if (className === "ZCL_EXCEL_DEMO24") { + continue; // todo + } + console.log(className); const excel = await abap.Classes[className].zif_excel_demo_output$run(); diff --git a/package-lock.json b/package-lock.json index 3701513..70c07bb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,10 +9,10 @@ "version": "1.0.0", "license": "MIT", "devDependencies": { - "@abaplint/monaco": "^2.113.9", - "@abaplint/runtime": "^2.10.19", - "@abaplint/transpiler": "^2.10.19", - "@abaplint/transpiler-cli": "^2.10.19", + "@abaplint/monaco": "^2.113.17", + "@abaplint/runtime": "^2.10.20", + "@abaplint/transpiler": "^2.10.20", + "@abaplint/transpiler-cli": "^2.10.20", "assert": "^2.1.0", "browserify-zlib": "^0.2.0", "buffer": "^6.0.3", @@ -21,7 +21,7 @@ "css-loader": "^7.1.2", "file-loader": "^6.2.0", "html-webpack-plugin": "^5.6.0", - "monaco-editor": "^0.51.0", + "monaco-editor": "^0.52.0", "path-browserify": "^1.0.1", "process": "^0.11.10", "split-grid": "^1.0.11", @@ -30,15 +30,15 @@ "style-loader": "^4.0.0", "ts-loader": "^9.5.1", "typescript": "^5.6.2", - "webpack": "^5.94.0", + "webpack": "^5.95.0", "webpack-cli": "^5.1.4", "webpack-dev-server": "^5.1.0" } }, "node_modules/@abaplint/core": { - "version": "2.113.9", - "resolved": "https://registry.npmjs.org/@abaplint/core/-/core-2.113.9.tgz", - "integrity": "sha512-hpnQ2V77YikecdN6XthjxrKld90Su1DJVbT8umclFx8aJwuL8jp6pwL6gNreh1wlXdUX5iRPbAxPmU9B3kcC6Q==", + "version": "2.113.17", + "resolved": "https://registry.npmjs.org/@abaplint/core/-/core-2.113.17.tgz", + "integrity": "sha512-9Dk6WARa2Rh4bCAzkh9A/UN/j1mZPPz2PcXH2a2ysOynfhJJ87BQk2h2l3No4MX4A9NuhzA0DLkLcFggkir6PA==", "dev": true, "dependencies": { "fast-xml-parser": "^4.5.0", @@ -53,21 +53,21 @@ } }, "node_modules/@abaplint/monaco": { - "version": "2.113.9", - "resolved": "https://registry.npmjs.org/@abaplint/monaco/-/monaco-2.113.9.tgz", - "integrity": "sha512-ctbhXcI4ze+ns71sPi9/sRfTCX/h2fCgvscgB29uA+re/jdwqaZcv54w8qL44lwwDvfwqjgzOnNp29DHolmRVg==", + "version": "2.113.17", + "resolved": "https://registry.npmjs.org/@abaplint/monaco/-/monaco-2.113.17.tgz", + "integrity": "sha512-qb7KZdUM1Fa3Fio8Gvix45DfaAwPw4mFeKdmtCieqbVOAFvw9Jg84e0mEwXy9sc+jLa05+HE1rrrve0kNnQmvg==", "dev": true, "dependencies": { - "@abaplint/core": "^2.113.9" + "@abaplint/core": "^2.113.17" }, "funding": { "url": "https://github.com/sponsors/larshp" } }, "node_modules/@abaplint/runtime": { - "version": "2.10.19", - "resolved": "https://registry.npmjs.org/@abaplint/runtime/-/runtime-2.10.19.tgz", - "integrity": "sha512-xALxhprBVDtOmg23NqPh6+xVgiY1/VBUoc2anWiufVgr8xjij4XSgD/e5zjaKe+9ZNiW5QSMDWi+tdbb3wARyQ==", + "version": "2.10.20", + "resolved": "https://registry.npmjs.org/@abaplint/runtime/-/runtime-2.10.20.tgz", + "integrity": "sha512-eSBMH77HGCzmftzHnzJk2DQiqq5PdxEkDXOIN+5J5I/OF6DPDJnOTQETLMFOpOYV/uUyhZG2qePAVvLnBE2vNQ==", "dev": true, "dependencies": { "temporal-polyfill": "^0.2.5" @@ -77,12 +77,12 @@ } }, "node_modules/@abaplint/transpiler": { - "version": "2.10.19", - "resolved": "https://registry.npmjs.org/@abaplint/transpiler/-/transpiler-2.10.19.tgz", - "integrity": "sha512-rHYGq2wlLWElHfjWdDPSrP5GIj/nNxudFVlhZ+WxPR06cXmK8wMGrWomPQHXecYl1Dwoly6QU2M4KeEqRVdnPQ==", + "version": "2.10.20", + "resolved": "https://registry.npmjs.org/@abaplint/transpiler/-/transpiler-2.10.20.tgz", + "integrity": "sha512-ObHtLSLMF7esJz7aMVaGBOnq6SrNfcneolyyfr8stvIK7pBHW5yGqUuKUiUZDL1Ui96Rih72CAlW2mZqkMPsxA==", "dev": true, "dependencies": { - "@abaplint/core": "^2.113.8", + "@abaplint/core": "^2.113.16", "source-map": "^0.7.4" }, "funding": { @@ -90,9 +90,9 @@ } }, "node_modules/@abaplint/transpiler-cli": { - "version": "2.10.19", - "resolved": "https://registry.npmjs.org/@abaplint/transpiler-cli/-/transpiler-cli-2.10.19.tgz", - "integrity": "sha512-kks2PLMEJMi+1QrA6lxOP1SNSGDe8FUKo2QHELCv8y9eksHI7TqFAkrB/llgiWIQCH/SuR7V3pntnDK57Gxquw==", + "version": "2.10.20", + "resolved": "https://registry.npmjs.org/@abaplint/transpiler-cli/-/transpiler-cli-2.10.20.tgz", + "integrity": "sha512-1LQ6cRgHS9uixf+AAErtNW+aWcRrYlHFVnpzWlhaZloA9uyra0B9dhylPDaQKoMkmwJXsMq1Em3zlbYWCFK43g==", "dev": true, "bin": { "abap_transpile": "abap_transpile" @@ -3322,9 +3322,9 @@ "dev": true }, "node_modules/monaco-editor": { - "version": "0.51.0", - "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.51.0.tgz", - "integrity": "sha512-xaGwVV1fq343cM7aOYB6lVE4Ugf0UyimdD/x5PWcWBMKENwectaEu77FAN7c5sFiyumqeJdX1RPTh1ocioyDjw==", + "version": "0.52.0", + "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.52.0.tgz", + "integrity": "sha512-OeWhNpABLCeTqubfqLMXGsqf6OmPU6pHM85kF3dhy6kq5hnhuVS1p3VrEW/XhWHc71P2tHyS5JFySD8mgs1crw==", "dev": true }, "node_modules/ms": { @@ -5075,9 +5075,9 @@ } }, "node_modules/webpack": { - "version": "5.94.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", - "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", + "version": "5.95.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.95.0.tgz", + "integrity": "sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==", "dev": true, "dependencies": { "@types/estree": "^1.0.5", diff --git a/package.json b/package.json index edb0d3f..02f43e1 100644 --- a/package.json +++ b/package.json @@ -16,10 +16,10 @@ "author": "", "license": "MIT", "devDependencies": { - "@abaplint/monaco": "^2.113.9", - "@abaplint/runtime": "^2.10.19", - "@abaplint/transpiler": "^2.10.19", - "@abaplint/transpiler-cli": "^2.10.19", + "@abaplint/monaco": "^2.113.17", + "@abaplint/runtime": "^2.10.20", + "@abaplint/transpiler": "^2.10.20", + "@abaplint/transpiler-cli": "^2.10.20", "assert": "^2.1.0", "browserify-zlib": "^0.2.0", "buffer": "^6.0.3", @@ -28,7 +28,7 @@ "css-loader": "^7.1.2", "file-loader": "^6.2.0", "html-webpack-plugin": "^5.6.0", - "monaco-editor": "^0.51.0", + "monaco-editor": "^0.52.0", "path-browserify": "^1.0.1", "process": "^0.11.10", "split-grid": "^1.0.11", @@ -37,7 +37,7 @@ "style-loader": "^4.0.0", "ts-loader": "^9.5.1", "typescript": "^5.6.2", - "webpack": "^5.94.0", + "webpack": "^5.95.0", "webpack-cli": "^5.1.4", "webpack-dev-server": "^5.1.0" } diff --git a/public/zcl_excel_demo1.xlsx b/public/zcl_excel_demo1.xlsx index 2ebb04cd65120b973fdb02fea12d8d93dbffcff3..5fb1a5dda7f9fd78f76a1546548f983b8f7f0e9a 100644 GIT binary patch delta 325 zcmV-L0lNOWF}g9ZIRpdRXKTPIA!Do{Fu?-DtuVH|5$%+M_e%TW%1$6Sh7uI$;4w`o zKCl6t@+TX*WI!qz8Ve`Uec02rmw!E2RaH`rIy5DO;@A28qFXhVy1f(!ROEtZ+yM*5 z70-*=)5Fz#mg7OO1q68Rqz%&O;v%8rgmlQT+}^olKFp1fD+%Jd8R-6I`ELL17!XnI zWwzaNpS+B2ZkKncNJ)AYlgoHSmUNt*(~PEX?f9eqgHY{;{M)z}6y3Xz{|8R-3s6e~ X1e4Gf8nd$n=nw=5GQe`PpB5Veo#2|< delta 325 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 literal 0 HcmV?d00001 diff --git a/public/zcl_excel_demo13.xlsx b/public/zcl_excel_demo13.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..89d0599bb2ae5a29be9747589ca335eadb31e96d GIT binary patch literal 6161 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 literal 0 HcmV?d00001 diff --git a/public/zcl_excel_demo18.xlsx b/public/zcl_excel_demo18.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..f0a506284ee798691634474d3dece9bf9f68f454 GIT binary patch literal 5673 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 a{xgGA6_Mdg|J*!c0LI{fBk^++4EP_&->D%0 literal 0 HcmV?d00001 diff --git a/public/zcl_excel_demo2.xlsx b/public/zcl_excel_demo2.xlsx index 128815c9f878c854b22c70dac64b7dc1c82fca23..8e0a2ecce50baa9b1a2e15204983b52a455f0198 100644 GIT binary patch delta 346 zcmV-g0j2(=HKaALHv|L-GQe_^I|M9$h$v0PqpT=GvyV5KRb*A|IF*tTY-Xr~!|rMb2%;je|#LEVv-S zN3|-o&$ykSO$au_*z*l2<`ZK<*Q#6@r&#cbacgWDe`jmJDIsI5ATYrK!>urXw!IPU zl!Et4`{Bw?AUK8+6zJeFO(;IF0i5zD8@gmbDj6CJC((V_)3uj9SXEV0jXE?XgyPrv z{i0hnmb$$Z2UO&OXWRh`#ud+t+0(<-e3s)uu>}Np?xYRU=;9)wZ2$lO delta 346 zcmV-g0j2(=HKaALHv|N>36firI|M9$lqgNbqpT=GvzA5lsk+A|IF*tTYkw>)vFB@0%qPZzu2s1-PO;z<<5t)*{?1l_Q$mJVL12Ofh8tmjY&#>` zDFyG8_QRE}KyVBtDA2)UnoxXT132YRHnd5PR5ENVoJ99wN7r6~XlKC(* zLM|nU>rGGhH_LbXZ^wX$YA>@g?UwuGWpH!5xI;xs(zBRc#&ooxX?8x!X!_QSKk7dS s)o#eYje9}SzWey^6u(eQ0|b-07#fq}7#g$71-cRhwh5A3vxyiR0v__AuK)l5 diff --git a/public/zcl_excel_demo21.xlsx b/public/zcl_excel_demo21.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..4b4bcaa08b0a34dafb46e5e9e1b06602a3536138 GIT binary patch literal 10469 zcmch7bzD_T*FW9e(u#DqG?Ice0!rthyIVj3NhxWhQ(8I>NOuc|LkR-X0+L7IcYu4Z zUhaK<@B94op3lsly=P{9*E-)dd(Yl8OXVp%0s#yR3oAX z`IcUMMC5OnGanMbZlc$ajeO$1I`Qs4?g2x7lpV2I!}N8lgvyB$y^#43sLF=K(24Y9 zZYZBU6(PQ60g*{+D9tYKp2X33jWs6`349_jA<%$lqi>-!{3Ht$$QAFl_=XF0!_4M$`4 z>YYwX>iurm^vLX2nHWfyly z;yLKVYw6Ql_~omx*GJCX@mr6g6@i*4Ysq85o6Cty1;=vLqqtwL=xXFu2Hg( znB&d5Y+PrI3AG3rdQ>MN4mtu&LNWTW^2mEu|K=8ZH(sPe2{k&UbUofu-h2kS=m31z zW2vs)+EiJzLi_?QrG_L@Nv3oPjYAP}M;d7sOmlhO;0)UAcfn>aBkZ~Z4CiazsewY< zRTJbs=BrEgr2-jTdJ{vwVgj?(-cj*C22nDLWOvW zMz(+Q96R?KTLeoyl#UKtdj73yo!JrfH5tIoWC=;gkCMr($4$kaG4i49&F+El>3e17=y4=`eu@@Cd51|T4TFsD%m6UqJ zrL^CLMT!V9*5px(HnE6Wxk~3_;f(hh?q65n&jP+KF8U8%jCN%sFTX5O8;~vv3+&39 zl~zzG;;v|{1IQ)?JcJ>ZB*xb&ChW5=1=WoT=o<#}xKuvgO#2SEQCMji7{Yp9fED{q z#8RM_hnA3mJLJ7X-!wV48ulzV5M?0bI4iOe7# zBD$dbiH|4%9{=WPb-W-wg98B9_Zt4FHl%Eux=-QGhNCkv(1^_b1Tn-wr6_^PPcRr= zDbGu`omN!~%zJMo=|%6QxS%6Cwat%*QD5eSqC3*{qJkYx`U~lCtbaW1lzfZwvlJu{ z>mHiuyd3j*h=iXcCQR=;eI|c=oo6|n59&te;vsCE(o$`EVm7EQDsv(GJ)bb@+LyF| z<+(8Vg&$ne}}2=g)2t{Ar<$zk>2VRW+Nwj&o7Flk3b6)n~%^6lOsv6ZN} z*PUT6&iS4My-{b_`w;w_V4yi z79(MCr}P0$tk``6OUHJO(P8nq9Z9-f@Ku>P+kpU=)6WrN8)9fve!aj*YVxU=f+cP4Y5)vj+a(2)P2O~!ZZe(``1Ifq>?!K*S*ok?xDxpA*f z80(qg!lHg9Jdz~>olx1eS2>ePFkIbKEu<6q_~Ko}{d=?zz28~zDfb&yg& z>)mn~>afrx%Sw=8T{RdT@BuL)1Z%Oytz5O_`@5@dG$6hLkg&CKDV6!B;iz8cXkdRw z8*ZFi3;4tL_CWj6@3#I0(>7YCaQ!5NIfS#=+L60mQ^PS*Ra;8U_&mrv=NJYm85(+d zEgV}`ksW$PNNPzB8Vn1?0kLri5Ac@RI0T;&?2PenldMwb(%nDax@@yQJz55{M1_U6 z@xcx>riK0JpL~Wr9+TaGx*rvIzxJ(3{~Hd5*Vah^xU z!*}{)E5u*e@AOCN$kop;0qFFSM_!2gs#u?DJubiYtSeJyL375Uw~yam;vwW@Wba~| zqd8{3Uk##GrB{>|K9}@4iPf4#O$+HnTt0QHPn91&qiM#M?+c$de0&xSJ!45N8*NO-&yuX+Rv+W=uTBXaJ9rPj+^{US1?z3?7}T7@c;LO;i9k7=W#? z_7$aMa+8;YY^iKOXgJereO{(1w)8%8-2$g+tPpWQhkW|(#1lDI{Gc**EDSofoM_9G zhRA&L?tUYuRJ=nkM86QVP5rM}dIT@)CWizF*=={8DvEeKRrHlrHP`W3?7z|~_0hX$ z^C95GkOeEWcj093I_e5dW=`595G9h?Ox%?`ionhIN+*oA3=w;r6 z&X{Dx^F^0;x|S30=?Tvri<|wFFjYfUDVJG=FcnxnPHoy=%@a=VFShi04#?5TNj#_q z066C+@?DmNA;I5WsC$A7b67;BCHXW%a6%qgOy|Q!6!9HebU%C1)e^d_)|4_ImXHVt z*CBYG(QYGKnd7OOyfCyzv_ zd|5ma?wo;X7;~A&C(A8PAk;9Br#eHk?iupmpSLeFzvpp5r~FH3#=f11exHIO-zwS# zaX@Du;~`k%%=@-93b~h0hVuKFUNm{2l|r_zK2RN@aX_X&|{P%pRTv!gu?!i5+`{ zT-EOiH_ig<)}T7ifR$@ZL+z`udjRs56y#HF>u^fOE;yz7c`EB{=7#Zo`{SXF>=dd< zg=3WloSLDZqWsInVwbOj18CM&g~6u*iPE&LHHS6~EBfyi%_qJHD4e1Ho!<4BAnGYp z7#O}O7#Pf3dYxT7ZOojnC$g6GF}r08yw?VZjzCNeF_LDuH8@nuT+o=j2(kB5Qu@bS zH~|y#$5U&@RF(!t8js@Ww4t~5kMyv~z()>YYo|&0{%$`P4X&zBzpRd8weqbGT)OCD z?M!$)BGGN!ajdgd?g0q+*s^s{X@);NndN&=m6}i1Og_6}Cg8K(SOAQcNo0>6GV(ri z@v@3y4>`Vc5w&R=D3~}ia`6=82hY=HxLC-FQflRNxcQTp5%sKhtc~i)lyqHe%;+H* zD2?>k34AmH8rIbR^#1M&W(xsyj9KlkPG$@T9d^t+)q^6+4JuFTMR+bcK7-x--4}X3 zL3WH5TaUvz$;jgl?`%q*^8vDA+wtL#kw6x2?HP1akyr9f$cQ!`U+sNHmD8) zY!>Am__FU}6I{|Y-*J9Ed)%XUIKKU^!^$ZE=&7&Ju<$crxx*7;C2A(kUf>1{zZy#Y zdestAVZjJDR*V<=xklWjg(%dHuO3=)@)Wn;Agt{|4PiI&fdh~r0HQ(b04zq>)k69a5B>?dFmU^AoEplH_lkx zOU1eE-I|Gh>%A*R+FO6LXuzosU$9*Uk2yV}#A@{Y8JP`?6jSV>0xqe(%8{DZwGVa@Q2 zmz}vc&lI6__o1^64JL?mi8Of5J!fjU+211qy!(SEjLL0(gF~Cu4YJd*QEzL~WK`c+2>aLhUnjAsNq?nmAVS=4m$9gYy$H`t;h4B! z36o!jDTu$`MSg&<67xqjz!dIo`c|gG1_@+QAb zQ4m+8%cR3sfmW+hcjIvqyopq$Gf_(85WN6Wtc|F0)CX#2BSuh}#KpO@LzWDoOXfc?1 zy}`z&k^)s()F72u8wPp4cv>>FILy4h;AK-u&#EkOkV>`m^9#lMRD0UpyxnS~6zdV6ZVjQlL636QnY3 z!(hc1&r61uikUYQybO@^tj=l!sVv(tIPt{`kfEhx<_!lMn@cuS=gfgrcefeb-QtCW z`qL>^hohX#W&h{u%yEnVG62I?IVZB>7VtX5?&4%=XMXb^bl3eUaPg?&@NCGByzYIS9xyX;S--^FdbeXqG-@+%Mm;Dy$l!6@m0A* z`gzK|5`sPEDat)&=qYowUGz!9pBdQyN9}dXNWRE|R^uNzD*Lw!eUXFQfjBnhM&XTv zT=0r--rYR=FLihOTwf2w<&;!nN5m(~kf#n3K(v%eWB@7-MP@<$dH`X9{t zHxvG>``zS$>dS(5y^N!NF!Ufl2_?h2MZ&4B2ckVPH@~yr`k7na9jfz4q362k0>SON zN$lR-b(1^Gb(5>y?y-l#7Vb@pe>LPP!!IN8LhSE@+Bji&3Wx>+L(KsLL-OmJ(b>Yx z%*7cxzM%!@_4iGrHrNjQ9PcOL<2~z2?7iR*?b;^;Y=H&s69+rDW1fOmx+rT2)A=IR6~)!@g$ub4GyAlps~^d@9tSx_nX988Q`A(0 z56LA%dB-B%O7!Ld=%}o* zIik!yvC6}$b;E_cf%=I|!LkG8IsKf$Wj}ZE`g%ueng--V-LvdMl5MrJ5PRzE+{>e> ze?kcYJg8T9JiEBqv4?E_(3}h@4_V2&920hV^k`>qntgp!%}3-NcE=t8p|_{oVHbO} z7{zhornbnmJ7lv{!v82O`ardkN~s(3c!TSn*51*+1Dlv0()7thQT;Z zKBCRdpZN`W?nTe;c?+iXAKJ-VS+P`}7 zeUBpq_I$+HXDs4;!tDDqQR2OxbLXQ&os@R)bTOX=JKfN zHDJ)hmpKa&!o}1pfAWmY=@277S&1J6Jp|LrsL6Q8>JRdzF5;6I9mQykH(0N(Pae2mREhA1Q zEH3z6_4hR0r^AmA$DKnXzQH^zPg?zG$4os?|AB~ZBm~I7-&zed;)ni&&8a6w+(a31)_npN`oY3l z)x-$JT7zgq`j19i0Gg(?f^e&309rr^{%EV2CZJXj{sy1iQ+(bzvT>dCY(i7{rO@%W zd&3`i<|>NTrOpGTD=4@x<-7!pXCfQcbG>-gW+Gm%f7N!vN=d{Wnc7AS*d(l$sGhq2 zO`n^YONS!h0J9pedJ5HIk&BsICq3Yt;=PAql&}L7ziFM6e}n`014_h~AB4^h9r+pf z8|XysZiA=v8~Z3L#{nAW8;d@&p#+Xs7Zg#&!CMf(x$u5a)7`A^>&8!xX5(p z`&=)$xk}j)hx0IjdL#9bH$M==4WR_ZeOrBE$iMbMrd$Rswek-SbA4$@X`xnWG1j!G z6-1b~26O>ROjKHpG>vNoVRv)@W`GiI72pa!_FxRM>WS{eZbSYM_h4X~u1LoQ^V(9d zq6qysF-zc1lBZI3B2B=2QZ;D{DWgsICub*C0py{9_;st}K=Grn7g?Z99GCKB!qn2J z$7jJWia?tPAMKM9l1qohFQSx%IbCd_2oP~Hfx=o|;RL;JKA{buI zbjg_^0`~Vm!IzNdvg`N*o}zS?zamPZ#eRILZBYq2Ai=PC^)7{1x&4!-MMLG=px5bX zeuhzEy+(sFmRMB{j;bHA&%S|H$@jBe$?1{=u%? z;CzREm>eCZF-aO%->b)if!uV-ETO6n!w>NhIZ@f9>fZzs7>dyHs2AhbT9q7=3@)2g z))J)@eMV`ji5yjEl6hWk`x=18_bJ#`Rt-HRHq1+&Y16Xki9Cr34)Ts19i_1#6gXEB zBLoWU5DJ0<$6<1kLV^2&2@DNrc_ylGKik{_Pe6e;W>E%ep}_MpGj&j4QvOf|Y_yXVbetx*=QRrdMhu+I$5#NaN1qo;8&r;Ld7^EjkE8oTtu8R zUGk$hmQMFSDW>JZFtcSP8%I?n>!1#~IKNt*)3(UZpxIvM+sR7l>It)B=20KVt#uK~ z7dR~5DlGVxosl1&>%$rAFq&ZsN4GY>7^l$M=^Z+LY2Jd}$Xnh!gFa&agvGDYl2W->rR{*gZU z?VEef{SWauIgN&sZqx|GDKvMwG~j%p(^Gp%n>4E6Dmyb@`icm2!t^`{b%?;@73KnT zz;)2D?APvq$k1n2{^Wvb@Q8peYT}XEP>*ynyf5UQ~Z_)|lGSqPf~;H@moWgY@mlUeI6N*(fnbPb+qW zzU=x#GtEC^j}ij3`o>s;6(9INep zZ8P4_CGTg!JZU>#Ym&DkC$s{Bpx0i(JDkC)JcWfLxcScf_xLZU*}wh%B^vB5z}?8D zU(zAa{i5IEnC=SR4fOdX7z6zpz8m&)SNd)o$}edSXe8TT(tk#!+!enYT=7dh1sYlK zpF=I~;@piz_=QuAbc1s@GT|=3-OaUM05ljk0Kadw-4(vOb@WR(5W16ey^!$NM$%o; zyQ>bri4xz6-d%&Zi*WZ7?-zm=G+YI${Mzz=eDK{xxqHw2LQ$Z-i}J5`kjhg;DAU(b QbLcQ*(1CLa6@!8Kf7M5#{Qv*} literal 0 HcmV?d00001 diff --git a/public/zcl_excel_demo23.xlsx b/public/zcl_excel_demo23.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..124fcd26cead8f606713fcc3ca94f8bf601f63d8 GIT binary patch literal 9232 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 diff --git a/public/zcl_excel_demo5.xlsx b/public/zcl_excel_demo5.xlsx index 0d19fe211ab77681122c8e359a5386533e8c0f15..1d259436e14701eecb7912c7db80194a1d896140 100644 GIT binary patch delta 307 zcmV-30nGlWEvPN9IRpeMt^X~PJp?NPpoo)d1Sx-uNu#Rh6P%Yuj}c7>iXtDF7OXNF z#%Kc`P0E7XoEry^&RB3kf{z+iX`gdDM(Yr4jvjx@;1S+lnEwhaj F8v@$ik0$^C delta 307 zcmV-30nGlWEvPN9IRpf@36firJp?NPp_G$q1Sx;>Nv+E06P%Yuj}c7>iXtDF7OXTH z#%Kc`O^Te`j2j1!&RB3kf{$udYM*gCM(Yr4hOy^sP|PRBg05A$G)}SL6XRCcGXBn1 zfKx(-SV3Td1%?}8Y&#>`DFyG8_QRE}KyVBtDA2)UnoxXT132YRHnd5PR5ENVoJ99w zN7sK|c3@RiNi}HEln{zvXZQ1V)mZB0QXEi`3!ZTYEErcj&!r3d&LG2;JK4F zNTZ93gbowZBK>l6=aTs_GeRyUi0e&H_czOT`)|j9h-xph?UwuGWpH!5xI;xs(zBRc z#&ooxX?8x!X!_QSKk7dS)o#eYje9}SzWWIH?-ajKO9KRxz7!g>vjx@;1hxs1TeFQ6 F8v+gri|qga diff --git a/public/zcl_excel_demo6.xlsx b/public/zcl_excel_demo6.xlsx index e7c1bf720555687d856c1b6c8ac5ebe44748e43d..6a247e5cb8ff28b9c0a8a26a98f2bccd3a4114e3 100644 GIT binary patch delta 299 zcmV+`0o4AZEu$^4IRpeMt^X~PJp?NPpoo)d1Sx-uNu#Rh6P%Yuj}c7>iXtDF7OXNF z#%Kc`P0E7XoEry^&RB3kf{z+iX`gdDM(Yr4jNv+E06P%Yuj}c7>iXtDF7OXTH z#%Kc`O^Te`j2j1!&RB3kf{$udYM*gCM(Yr4hOy^sP|PRBg05A$G)}SL6XRCcGXBn1 zfKx(-SV3Td1%?}8Y&#>`DFyG8_QRE}KyVBtDA2)UnoxXT132YRHnd5PR5ENVoJ99w zN7sK|c3@RiNi}HEln{zvXZQ1V)mZB0QXEi`3!ZTYEErcj&!r3d&LG2;JK4F zNTZ93gbowZBK>l6=aTs_GeRyUi0e&H_czOT`)|j9h-xph?UwuGWpH!5xI;xs(zBRc x#&ooxX?8x!X!_QSKk7dS)o#eYje9}SzWW6D?-akYl?Cq(1hxs1TeFB18v?ZTiL?L! diff --git a/public/zcl_excel_demo7.xlsx b/public/zcl_excel_demo7.xlsx index e3c3abb29781625e24e784d35938fc1535fc1d72..221721f11d65427a9f2d8f7c47f9789e4d325d35 100644 GIT binary patch delta 374 zcmV-+0g3+7G|@D$IRphNt^X}MlRgA00-%VKY6K~Ni%FxZ=o6fmMvoCq2#O*fm=>%u z8pdb?9!<)E+ngH*kIqu(#Yf#K5#)58CwKPt#;1lCk*fRdk zR)AANMp!{$f(3?KVQhON+9?I^mG;9`oj`C56)4cbW13KWU;{YiPd0SPfK)PUESyC5 zVNW-IUiM&J*GZjqXi5mhue1Akw`wePdnpd6ECkQF0~U-cpXbx3hpXANz=L872=LrV z8>G?YMM6gj>5yT$y>rEUm>D6L62$dpp!=H@yZyIgKtzp~`F6{F@{--$F78m7lJqPl zmvKfGbd;adoMvzB_@n-VQ0<2N+qf5$-Mfzj|4#V}vz7&&5(O%)|1CR{I2cp`m6MGa zM**&r)fhkl9+MUsJPddZ004MwFLQKxY-N+685NUi4-g9g000000000009%ue89@P_ Ulh7GO0l1SE8a4)M7XSbN00PUOyZ`_I delta 380 zcmca;a>-?;EejQrgfn^P5d@K5PlqX!|30+ zu!dl#wg|_BCe}9T#2jnoTbiuzr+hm+b*)1IkE+IngUPc3Y7&?&p8A_@@$3&V%F&tQ z@;%Z0dVO43LTIR`X~xAV0$uUx-#?dKjd=AeNG4z+_q;-O9f@$8^UMAD!#8L4RUc&& zc(8M_naASp?iN1bOGil0yVX<+Q6r`qw_*Z;fu>GI$C#~V7b^f$kq_WMa{LGkV# z&aPgUHqVGTROJY|JG> zn5MB#-pDF5d8LFF0Bpev!CyPqj@Ko|LFjVB|7nfA#q)whMDLOfmUx1qd4q_(v YN;)#mpL|}@m2u}}Q7JRFY;lkz05%$(=>Px# diff --git a/public/zcl_excel_demo8.xlsx b/public/zcl_excel_demo8.xlsx index d2a177a998b27a99a6b28cf23810f9c3f1a6ee77..91be5c2ce490d7468ea9c7a5efbabab79f0c2972 100644 GIT binary patch delta 362 zcmV-w0hRvfE$1z;IRphNt^X}MlRgA00-%VKY6K~Ni%FxZ=o6fmMvoCq2#O*fm=>%u z8pdb?9!<)E+ngH*kIqu(#Yf#K5#)58CwKPt#;1lCk*fRdk zR)AANMp!{$f(3?KVQhON+9?I^mG;9`oj`C56)4cbW13KWU;{YiPd0SPfK)PUESyC5 zVNW-IUiM&J*GZjqXi5mhue1Akw`wePdnpd6ECkQF0~U-cpXbx3hpXANz=L872=LrV z8>G?YMM6gj>5yT$y>rEUm>D6L62$dpp!=H@yZyIgKtzp~`F6{F@{--$F78m7lJqPl zmvKfGbd;adoMvzB_@n-VQ0<2N+qf5$-Mfzn|4#V}P)h>@ll~MMv$O>j4+Sc%|1CR{ z&J_2vK?1N4lg$tslYtg00Zx;w7B&U| I6aWAK0P(}0TmS$7 delta 368 zcmV-$0gwLYE$A(%w z8pdb?9!-jz+l(6rkIqfVQf1i+9?I^l=j1wtw3-LB`DCrW13KWU;{YiPd2nkk5n>jESyC5 zVMo`0UUpzrRY^5y(UcI1UuXC8cGXzw=29F`kqe%22P_y@JkO_34_C8kj(f!h5a79! zHb|q3i-Zmn(jxtGbLW!zFf&3fC5Y=yPxm*=cl&S0fQV`@v+b7q?plNnK%IM&&8GqD&5USmfe;fCLqJ8%X@!u(a0Z>Z=1e5&~8nd$n6%PfJmaPOl zlg$)V0+t1nu>~BHKNTtguajyOKmi|