From cc291983d704a724a87579e2c7c75a12988f4686 Mon Sep 17 00:00:00 2001 From: sandraros <34005250+sandraros@users.noreply.github.com> Date: Sat, 15 Jan 2022 17:38:30 +0100 Subject: [PATCH] Fix demo programs 3 and 33 (#956) * Fix demo programs 3 and 33 * updated reader reference files ( affected by #935 ) Co-authored-by: sandraros Co-authored-by: Lars Hvam Co-authored-by: Abo --- src/demos/zdemo_excel15_01.w3mi.data.xlsx | Bin 6314 -> 6325 bytes src/demos/zdemo_excel15_01.w3mi.xml | 1 + src/demos/zdemo_excel15_02.w3mi.data.xlsx | Bin 6532 -> 6541 bytes src/demos/zdemo_excel15_02.w3mi.xml | 1 + src/demos/zdemo_excel15_03.w3mi.data.xlsx | Bin 12659 -> 8523 bytes src/demos/zdemo_excel15_03.w3mi.xml | 1 + src/demos/zdemo_excel15_04.w3mi.data.xlsx | Bin 8923 -> 8987 bytes src/demos/zdemo_excel15_04.w3mi.xml | 1 + src/demos/zdemo_excel15_05.w3mi.data.xlsx | Bin 5793 -> 5803 bytes src/demos/zdemo_excel15_05.w3mi.xml | 1 + src/demos/zdemo_excel15_07.w3mi.data.xlsx | Bin 6722 -> 6732 bytes src/demos/zdemo_excel15_07.w3mi.xml | 1 + src/demos/zdemo_excel15_08.w3mi.data.xlsx | Bin 5828 -> 5837 bytes src/demos/zdemo_excel15_08.w3mi.xml | 1 + src/demos/zdemo_excel15_13.w3mi.data.xlsx | Bin 6149 -> 6158 bytes src/demos/zdemo_excel15_13.w3mi.xml | 1 + src/demos/zdemo_excel15_24.w3mi.data.xlsx | Bin 8860 -> 8984 bytes src/demos/zdemo_excel15_24.w3mi.xml | 1 + src/demos/zdemo_excel15_31.w3mi.data.xlsx | Bin 10056 -> 10065 bytes src/demos/zdemo_excel15_31.w3mi.xml | 1 + src/demos/zdemo_excel3.prog.abap | 128 +++++++++++++++------- src/demos/zdemo_excel3.w3mi.data.xlsx | Bin 9337 -> 9159 bytes src/demos/zdemo_excel3.w3mi.xml | 1 + src/demos/zdemo_excel33.prog.abap | 18 +++ 24 files changed, 117 insertions(+), 40 deletions(-) diff --git a/src/demos/zdemo_excel15_01.w3mi.data.xlsx b/src/demos/zdemo_excel15_01.w3mi.data.xlsx index 2332ea97eeea9981ebb5da8123c6d65d0c1e9d6a..45a0fd96132f8d431fce132872c2d9b8c9082872 100644 GIT binary patch delta 2824 zcmZWr2{hDi7oM?aD@$my=Z|5sh7ie4m}xMUij=J^A#0XjCW>Uq50xb|)(ncoSjS9* ziAuI?S+kU_B%17>>VHmO-}jz#&v~AE?tAZh?m73p4?($FnHzPQk%=Dyfv`csv5Gd8 z+*l~nPf(QxW&IcBGNeNH{q*G`;vby=wV2>QP+W`KT|Qi*KVQ5eNzN((O%Yn6TQj$Mfw3K?B5T2=`@YwfWwQ)5rCSS@vkqLynD_yv# zD6F&Kx8m6nJZh~-2zO!%;l}b<-cmP5=k4tNS3{R>g%i~%6qO^-zm;~H@EkJszq$H! z!AP*L-l)CR5z;(Lj|8ZTwb2G*6VWGgPv|sOSvs+V^uE*S0FRr!co5@SE191*Qa~*w z*6%uOo5?0y?)Z2!hpE!nzqA9;zq?$O%Paup{@K!0gQvU}%n(Qr45YHi@e@rWE)%7F zQd~tgLJ{4(UU&FSNeGtl1mGY)HWJ#QhjmFEBST<}MIoAP^V)3;hZq&4{1WY+Yp z4D;(QRLyCe)xNg9hTfI)?Gk;?QeH=5fSkgGIG&|!G~|quPEujGXP3K2uhI`!vyXL+ z+f%;$SSMnyB9`AA-0}kk&klA$(k;g?g27D#WfR-Xq-yNdaP4jP2CSl<@;~0su-~^Z z`5~nDny#gG;S|#aFX=uj04kGEXotAnLY<7_uY6=hhsCilKDZI2{yoJZj8n0 z@V06#qc5DBcX|4mtLfIxo8~upw)RXl%0fLeC~>=60lKCv*aCAv+k*U3S)3+C;T>%$ z{*)p^M({Q~Fe+;C!7~aY$f8P@8CV?%iF##SLL7Y8^`hZ%N>uilYZ2H=qq1Zqng2bj z0JIvyDkm+yJj?$$k*4-q{zOtyAm^Zatk=+}oQl9hNeu3##e@Voo-0Iz;2ycNEeHUc z@QsD9A#cT^+yI(g+2$rPcl-Oo{a~C*^jlKYDh)JwOIqK0D<(QT5h^u?5ZCRAzHHtY zx-pedoZP)>laS0i(mL= zrg%%L+J!!MOu14+PgbQ;GVGmZSgth#=MqC@{dUF!K;M>V#f@n*iD{KyG0^M|h6Iw+ z59%H~HDhB|cvQfpqg%WMJ?xq!fiHS3`grgT^*L|pfVg$aU`>dy!P@kwal^29u5G=GmV?J->Du`+1po-6z&rT{JDV;ng z&%*Qv0eS09G@3q+MvwEfWD1NIuk6~&ISaBJK0OinauC`-w-~t-mD{{qy49pWa6aj! z$Xo3-*3Xd`zcwG$ZPKf+hF>+cgpYwn@hQVQlc@ayITyRvL1Wm$>|I}G!F{sBrhaSt z&U`(?SyJR6kBOVM2$DL}QK+EO={Rb1uOl@Q5Y5Q19$u%G3qY!c28`w-&fPy|n^ZHL zP+VKLktb*d-f)(UjO1;*Xv@pR5g$CYX4=ZP+OUAgYS@2ah)>K&Qxd;^N&l63#WvW=vc*5ZIOo31q^JdoH*$P zgs5qtFiUvr$XOT(!>2bK)V6WGB+HDj*523yO|&1_*Y~<>SGuY|pP>7)Hs+x9%nn~( zgWXeWA8@ZE+D&s|xU}WRGZ(bZj=d^vY30D4@_A)d?owRyB-ndd z{{mvb@e*;v@v2h=3}I64HF7#(tOL;a@##s@7Kya(ZquGHhIut`fWCUo{L7YbQ_XB8 zygchnkZ-K~F64iHQw2`+zpE;SYxQ3gv7eja*U}RA)Qn^UK^_%A4+6EtzjrLjB1rlS zNc+ddig?s8x;^br(CKk

d-?Sjl7TkFAK0G@8|J(@xGdE<7(nqsc zg76uq$%g>Br}-h0e$Lx1zH)_3N>y#PAv|J=er^6bW$`P_4hOHjU`j!IGdOVE4VY^2 z?AlLtAs;B&$^evj#9Ws1#1E0C9H@SUj&Wpu_)APiL52+Ml`i&@sdv`KwKfN?I5oVX z2xlMNUOjBk<{VBfmf)Pn30973`KP)&71?fe(d<>43i@+q@Ax8c(9(}`Rp#saEtwxRH$OP2NJ)= zZk-L!KKxy*b4bphzE+mAd~N@z*l@Zoo-4|b)fCfPKb+3}&8pnP_02jaK~!8W&b6IB z&eSf3zc|#-mg+%r4!FKQ2V2*RHXWHJlo~8oQBPY)6rWvMe%}}FRc*jpk&BE4)Xs9{ zyz!3)U$&W0cZZ0D&^ zH>U_v1iJ*a?B1O!=kj~JT)I7uRuR)J9-TtRiyo-wnQe2!kL9wH=!Wl$U~|?2mKQy( zielRsIXf|t_unxTpq|96`HHR;Q>0+G^5{F8rH4{CT>^vEH{42-6LlBYz;0O! zlgmO`%`GBue`E7S;UmP4U2~exPi(r#P&f*+GPO!da^5~Rs7`0p2%0WP^1d>HAMUu9 zr4@{(sRs@2;V#QWeHl!`cSb%D|~ZTP?w;BQy9m$G$NOj zj5L!%(AN~AMy1br>iZAcyob?d$sZWim*?AisdxZ(u2)^1R1x0_?ND+iV0kBk1_&0sEM?=6_!6V{7GyIxmMhK*l4FVDRD?>aFn9T$Gzh`x$ a#+};s0#EIgJo48C8t5ye&eD1Cr}IDAFdI(* delta 2810 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 ZDEMO_EXCEL15_01 filename + 15_01_HelloWorldFromReader.xlsx MI diff --git a/src/demos/zdemo_excel15_02.w3mi.data.xlsx b/src/demos/zdemo_excel15_02.w3mi.data.xlsx index dae1e6b44cd8675067bd084e7e554e3c480b74b8..9c8995ef2a777b2784df02b508a536d0d1fee45d 100644 GIT binary patch delta 2057 zcmZ8ic{tQt82*j5Y&U~3rYuP`Ot!9M*Vtxc9n%m+O1c>&+mL0Lv zZpOYPTSl^GiG&i#eo6PKd(ZQn=e*}U@AH1&`Tls{uw&83_$*GbvIznJum=dBDB$z? zC=j+CP#6p0{DBf!?nCzOyd|I_|JDT6*^p$Ph`LL+^%-&z`jLqFxUWDok@?~^qtJi! z&rW?;}|FdjuQS0u!`+{Or|NaV%HnnmFl@L5JO_HU*5f-ZVj zEaJAnc~*xE*Oo=NTYNXN;i20}+P%3n|DMiCO4nWNXMtSW1T{YL1~UaXgbV)sEMCHThfXn~UKAG!+Iz`Ou3mS?xyrB8Jy)EauJ_ z2=|m3G}qe#)q~4HdFsBm9l-PmP+ALbx z)|n0LkvpcFZm#V9$Cg*-o5_&>PPs6F9R}gs8R>n!T&M{<0QexlS`Jx38Yb`xP1^0Q zljy1+suN1QC5Vv)A)JTE0cQr1=q{{$3d3sae(j@bv7Rd*D#MZmP*S7RnI3t6z8ciX zK}SnwbI-RMM>($;)H2*p~i39mp(z5(@)IbHBACk#>q zaLP(cf0`707Tu`QCZ`#b?#R1SSr6};F88ojDoS$`!i)<5DWHH4DT?h3tPT;aDm z7L{?Qb9=YX>8O=&wZ6H*d3l*!yk{r^Y{9KP?LH?@jT&gW*p~X>inX0b0KGJF<_lIK zT&l=%dHQ#yd{x~e%K4K1uhsk$tXOzvS@O#^9zG_cPt(l!2n|MI_0kJ^YMs7-H~oQ- zw$RB5JT~np%(10Yq7K*Z6mu{sy-n;{->upg&@85e)!n{g(gD4t@j=7#ehFWvi78P% z>R1zpREqJ_IZ)T5xsmIfOr&;>)sv1!b(Q{`3xAo|=(`J0hfwtSedv!-0|%o3k4FXm z=svQX)fx`BJdDE)^Vh|}hBFqnPRlw7bL>Ag64cZO>7D)BXGy_L0IDWB<}LsWnk z5r=xYqa&9-1a}&Bqg9d?F{a2N&>-?||K_O0Z?O0aohzUrVrKHTJG=1SBmEeUrM;G) zEqR`&pOGU(jGOpKS+=CfE4SMY8r*BSA4C>=m{QcgQkx9}ir`Fx4}oVN{eC*8xIZeR zq;xe|7z>6t90>}7He5Ij<>ij_9b3ZmRG8*Z+1R+gwr{9WsYn*!qO6-n45LJ*JJ@g4 z4w$E{my%THrhOWy?&a=p>@!N0%&jr-QNm%zFh`z)_F_YMxf-J7Su+I0Y&LC_NG7SM zS`cQFtb!&HRRjUuexHWb>(8HHGnbkxx**Xu%)LEr9b3|cspw4YrjjrrtBFm47y~CA}<3#IQPSNW5+2a}%vyM0`D~uWhm^JnpF}(e)b6$p} z{818_x#p6TmRgz~@`CA{PqQB9CGcv<4ad!>+YPm5)zx!TPP(<4WjkgR=lHsQLZ3%5 zZ7s3`N&iLl2Awny2-}0iD@%;LM%Hqj?)9&+G{ zP~I-chH34BIhe{WkP%k@CG=c`kBjf<9)~0szS~aAtZiMy_W5(&2djmV-#I@$9RLJ= z61EW)t<8 delta 2028 zcmZ8ic{J4f8~)CiktJgrOLo~}xX6|zKTEpE%~-SVOLo~pn2|wJp^AMKh1Y{O+7apOMhl*z}0q z204*a+r4ct#5@w`Aa}2R==O|yA+1ULLZ1iUe9ovtSF7qckna(mr~vsbY@!;)-1b`T zd5-bjs~-Qe>7~nUK%%Kx)kJ9<-4)UO2cDW4o4Tb6zTaM ztw`^6zbU>!roi^2kF94XYKayBjLm%i?txuB(CtpAtfaTauqOI8i;&jhbDZQjX^r`Lh1#7Ojq$g>IAOV4>|g z55}@VyXiSz&TNYDHIFb`Inz1!>V@~^LHI?RI3Knth>#CyS}_P`Q5ZBD?3(>X({57S zE!_LP4p?7FXF3jiwQ>+s8{FenL(4QHK%EdWFUbRYap0)$#tUNmT~i%(CAwCb4-3o= z`5Si~bfhmDMPEgS@GhxN7qo9b4Pb&6ZfXp!ttU+_+k|jjHZ>dK3TfV#tIFWUV8eaI zp7%DD4{v6al4B3U|3dL9U1zk48ECSHp#?r5N=qFn_1$*kSc^HjTDt+N3OmYmiF+^6l(M zme$%;V+Wgg-?C+f`nUrUk+d(7MC0u&Q<8|+zz4fVB%g-pJwjc5f=+SPc%XM%q&C{H zSI`h`Dfvw%(I9bDi{pX?`l3T01eRY21HaUAmNb}?qBGFMoH0MgJ;i!Y$}KVioIeaI zr+ERrfRvSuR&vwuQNuggP2P~tac+2h&IUIoCFCq?)`rY4BcJp{&7)%h#_$h1Cy#zn?!;ScO#S451N{Bm2L5_d2 zOFuo>p8V>(Ir%k*uxHr4d>HU;qH&m#B^5U~l`H=VG#ivezaTtF;F9zBBe+PaI&$K3 z%hpaVhxWsf@>4-+Plgr*;OQ1Ab(xtZBymvOH?&26lnLs6_M&xS%%e4C$CnBF$g4p- z0D1BqT~ zaq(E-)h=1+pcc+C#_=U<_;*y(xi5*ChS!>O!0TSZ)w`G% z+vnm;4Nbb-?@WIV7B+g9r!JhSKfWU<_XjN0VspR~HOp8q0(`8n=RZG7+0`}H@hh&6 zptG*-u}+bv-LB~$6mv8%7ws)izOH1Kbcr+yPka#DYQE$uX(NQNVq$XfJHPMNsQZ`? z$>SC#vDia+vu1D&N~l|`bq&MKw4Jv->zHbtjxmap#e`PgYOYxhS}ep{d%UU|)4`L2 zeX>hXpS23YdlVv;MA5Gn?rkkSBN`Yl8M=wFeYg{h(;!h%{8B~OjJGt~ppyI&16fS5 z(C5OvmA?7W6(Utu^-J|{r&Y%GIFxTHbcU+6MHkIkDsEZ))uOVSHc`@8@aLux&(r73 zxVzdPqSr?&CDDQ@p3J0Vnw;v#Mm8zMJLZ!0D0ypNqim1U8?3GH4e(QY={e4Yj&wZ! zU1h94oI&ZvJaOc@jywXE9Fljp{*CsS!>4k>da2dm@VZ@;ejO#+0XbS>;x$xghU4X~ z6O_sKGHWTdOD9#SF_;$*C@dp321Za~+jDsQK9LxRGZsl41io(uYOUt!TmF z0n)06z<<9pxjr%GaYLUrO^2xhaN9EK(Qgu{Z_%YPKHuh}o2fbZ-ICqRZn);F{(QDJoI)q*>QU;0r9UI~V}m<= ZX3>qKNz_pY{jy;JYjj4D8pnQ2{tdDAnC$=n diff --git a/src/demos/zdemo_excel15_02.w3mi.xml b/src/demos/zdemo_excel15_02.w3mi.xml index 42a5866..86884df 100644 --- a/src/demos/zdemo_excel15_02.w3mi.xml +++ b/src/demos/zdemo_excel15_02.w3mi.xml @@ -15,6 +15,7 @@ MI ZDEMO_EXCEL15_02 filename + 15_02_StylesFromReader.xlsx MI diff --git a/src/demos/zdemo_excel15_03.w3mi.data.xlsx b/src/demos/zdemo_excel15_03.w3mi.data.xlsx index 2d8f791828a48e9a985f37bf4aa5d0415f4c90aa..2e189eb5b69b5b2a5649dc656cb6b22829a3502e 100644 GIT binary patch delta 5707 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 delta 9872 zcmZX41z1$=v-ko_O6StuwSXX3txKMg!j=^>5Lz z{~IeoFGeH1dsap^ijYDBfdbG$AQBM#0|Ob{1xx@mK-AwnA;qj=B4yY3>NtaOzuJ7l z5PNhrGI5!=kpRN#zViGMSd%K_ygt7e>6J2nn78niXBa1$P5H?(#)A~9l2DSFa8>I! z_p)Nf+dI-I&2$!uzKon{PLa$+!9?O)rovWb%W?HyZI0VBY!uDH2D_z@pi+DPI8m^G z-$Elm((_5Aut+yn%U;fG46hiW6M{u1&4Jr)D;6?w?tL^;L0I{o zryPs_>8SRegKU6H9u4n=lLpADi9FK{q4a0U=0Z3}Mxaz%VrNb)0xXzaS70GZ%dyO% zZdwe?@qJm49ePy$6K{F0b@!5XwU>bIA|zgRqrbjWO1pn^A-FD3KE5=yE277wT#Ny1sMSpk2OxdMb0#%s0UwY?>YSB&f{2WbJg%ACe(9VV0I z<_B~UCJ3dD!fFwNC8AGsY!tP`T(*syL$#jOTV_$t6iZ-M=iy~B&m7}&&sneM`OOLz zi`*~#oraXrH6AE0N1KC0=F1it*myqa%EG^GxFfJsO3of-LYT^os-o z9JDs&raO4km$~&MR4c@rep_m}toJO}ofxzHNPcqvAaQBO%$rI@-(ZTyyYouqa~5p` z+~0+>aIB+t`Y5YvF7np@H$eZuj_7Il&kjq%5To6YtAmZ`{0aD~%}| zg6;DvmEFLGdwm%bj)uOyu7tD45`i)92^&0HneX2>fOp)5zK2LR<>M$hyjc_i(@bJ$ zsD$MQk#>LC(}kIBxYX(NB;q((Lo4H|<*U7(2PWZz)zbj2jF4n&`Pb@U z>|a8)$C$N4O!!Wqahh?nid5ppAu_OWFkxvqA^HbJYd+0&emqTu2x>zv+9k4h{ue=k z=%v$WwK(rE#dU;)LLa=4cb2ZUvRHh1zsMT#iOVc!o}blP$e;_4T#w8b$IYtKJlx$l z54i0{B7!Za#MfI23BRjY5CkyS<*LnO=lS{?-f1s^-Cf?g*o2;i1v48CK zp1(0@;aAu3c`=nz%1kY`=bMbFO(yb8eQgze%rDx!H%sR-~K5kRZz7nxZ zthfdL#XN}aX7pW}8Q4l2Z)MrIks>`dSE#J>WnQ`E<*wlgPr&tMEZw5~>F!;Cq`J7a z{NrO_(AMf87&#-l`_m&)eWmI$L&v}P1^Mov*<#6SOY!eHeyk6kN^=)~XwB9(>QF{M zaAa$|h%dxXtdo~4>*Mm&iUitud+=xo~Y+$yg& zwg32eUb%YC%Q?Ri_@!9pKPnoy%@Oi(GyZtHpjA_MTl)nk#kXj$9Qk34Yu8kE3f*Ic z9!x$)o}YQdk(h;SV+}5)p>^z^pSEnbv@J`{Us6fc@n)g2 zz3lDL6S~|&lAKtjZ=naX4SXTY$qppLNjOD~=}*j(E6xr1T7dheE>H69@ej$m$q&(U zEd|#hn|+zp)dLNYZsY_HUT(C`*eT!VB~0=ziEU|CnuqmpyJ0bb92W zxO>&&UI6ynRir0(7nHgM{ihW@m3SR&gK|x8;4pj$py1L0CBBMvEMQPq3#HVM*VpGs zk0r}a_f_Jfld5}+;ksF%y+QRwJyy+sqkEG&z}9x{^3d^<_*!gGzSsDA2GIqx?U3I$ z^wcrP;XTRLj8P5i!~pBp@vV+jheMZEG+=>#DE8z7Ob37UgyD9wkFO9ElnRabV{1Io z9d2~X0F$UIdFhE94aei>VZ88c_wTJFAKoG0Ch7eh`{#UVc%KshEaiPdi6&Xz5pwZc zo?=y!LuLg%t5>yUiz{pfm@2#DnRBbL9E{t?{a0ZDSQ%*I#1)vR0Bj` zW4oHd7iOxX`<>G{n4hrsBk(b52494%Tn=`1K0pmFi3g}wEh3Lf1(`aRXUOncCa>4@39h*AN0&iQ+z2jcd(gr6(rI+H9xdBQLxa|`LUXf_?C#Z) z$AhmvNv9+VXsD~}mO9v|do@3^?BCfYd`n69v2s;DceYMz;=RpLKJB9J#ENC?%=%-M zw^?&P*w0o?_dZ&=?ybGZ1T<$2=Lub*{pbE6H5WykQh`7N zIq)$WYCuT9*V!o{2kAa5{-(#Wdu6t&B<5CrpkJR;%g1KW)Er(l?bw}cZ7}#oHAO1N zuc2v5b;ihe0G<3dU9f7OGHDJGSmEX&3FAx94YKX_^uQI65g5J6u6YpmV`A3h$MKr2 zZPxbIpG~JG|F>;2w?fG5+wHlP(;pX!!<~VxG63y>ob!CHoYUt~R{;SrAELwF=~7df z(LAh`;D+FA=U0iFu2flT$AKruUPZktkvjpvzPPD$&aR_xy-T^Z7tq$2Wm&aj!LX)1 z8^peO?*57XX|tcPw5x`5q7VNMnUSBsSLxfexs83lcZ-8oO;b0%RYzA_`#ZzSvl9+7 zmp~oe>kGl>wmv00lSGvlz1?&E4JLE0%>`e6=>!k`VKK)SZD|fnxNZ&hY4V>Ipwd1> zPTFRr_ZBF~&5x#6>~@yR35K=_w#qp9gvR-#Q@z@56^PQSE%N-7i$r~{a!b==7o+8d zE;-7>-K?V9JZD==+0pdF=IyIZ$GO|5RRDt=a@ZTY?BZtq5ZE3WO;G{zg0i%2<)V6a z9Evv9=3FwqUcL@Ask)hp~P9 zf8J_l+)fy6D{ZrDcb2AyihyfE^WjhR zKIxl3PV0|vD&zwDeJoEObb2d!HLvfON(7dOb*{-F?E%02wdz>DRyoRq3ZR=P?VaQP z`}c30&OeYU@!$CKJ!QEujCoHfXTTzn+W%o)li$L~^rXR8FJ@V%^oP1ygRiNxJ<(#f z{BnqLqVxsE+D|gX z$W;`dv5{lt_r26!ga?^*rxtD(K3XACc-He|tMhGY?%S8-62B6QYL~bwBRcT7oFWxX zV>><-)RN-y7Sw{2Ut>SgnF@^WQJIs7)0sliYQB|gK+#5bBow)k;sKobZWMS*f^)o+ zQ61`B*%2LRhRZfd|cqK}<|ya$f;8jPk#VtG&emG}rVgO4EY?rCo!3-$?f z?z(h$V7RCGb`DPTQV_&Fzs-<cDP1gRloBq{4>F5~I@p29@;ttE0~A&Kt1|m+ z%zH+B-U6QAH;+jZG@grFY^HwEQ3~Z?`r!ge{z5{oK8~8WaJ%;^hw;V}S$}0wtcTkiU2WVhhvXm66CY-2oCgwm6}it&rdCh=T~_WmSZ- zfISL5N;Fx)fAMf88(PiXO^F@N@gEKCwU7|@UT#W^T1a_TNeHcxVVCatGvyCcWaj*7 z^lq*fT3uGkdWyWssy)Gj^iX)`Veg|R72&@)VRC<1k$^cx(RP4sb6z5e{pq6wsa@LcN*|6T5Vfjc$y@xr zje$6uuWCJc8)4@v!WL{x%EAoE`_b`&lbXAaPY=tjifwwT&K}2z2s0$@3j@>(^9IEI z;ABnlADH(NY{JwyqHWMw;FwulnNHo8vKim613w~yhkJ(4A4~9D^nLE4&SZk41zW^K zwdzV_`o1Tkr0tI`ZFK>&l96QAdAu-<6(yRF60n*jMavAzCX7pUpw0;Tg(iTQKv;N(%>G&ui6l zc6rmFm-zwXysWlc8oS$7Mh+n<3%F;-+mVTkh8%g>%g6&+Cm3tAi5vMN$|$KqTy+RP z_sTks>+AZ03evK<=L|LNAb3q0j*2>r{7 zyW0Fp z#bX)8W5JBSVqwI$iLpRfLxqYT^&m1-po?b#CGJqH(EhNpoE1L&;e?jWk30!@>uylBq>FfcDeUlq5b4VLZ-i4Rd0Jyu6RnDB1DulWe|woefq)dm`SAZ91bhGKdrzxxq~ufYNPnNffeh?nT@V#?^E_H-NzuSu>cz za9J`!5Ma+Gs`;5PNpY}(ea*Wx- zUe~0hQFQuGe7|KQcnlHNeHuKsOO-gC*FPQ>ByC+3bCJ*CD97n^ zfdj&Yx8e{fG4)W-KRE|Eaqr+}Jh03;#CE#);I?eCZ6fJ*0#1(_Os!f5xNd0_E+vU4 zY47`Uf?6%;w-mgi*eNleCf*rLmY`!{HD1%L!KU;=Xz<-Gdtzag;3%7UDXbo`un#N{ zq4W9ttxFc)na3kx31WUoWsDj~QV7wa9)|9oA8JW%wZ3G5aE3DbouSm%BN~Rf6QV%o zn_bm;yg|2!fV6xv2fptSVvO$(p4=ZD4~e*RPNfNcTCXt}?g33XU3- zpFjvug=-29hdOM$e8<=U%=&uAhzA=^oRLyK`o(%W@YTG;r1HIXPz{O&7BaoI?@!9+ zcKInCKH;UO$+V6T!6*qzpEJvJLx$o4X^t02{m!sf0k_S{R)0v zRQ85)DyZTiR0F+8>j++jlEkr(l2k+t!3-X#gNERWd0~0?@eWh?*TA;}O1UTZU&zEHrXa9Y>p@(Gp%>G8l&24X^25QCLy&lGlE zMbZwzjhA=^tF%Y4ouEWn6K7m~4VBRr2=g90%^`ZHZRqd-xML9txh>(VbWT#n|4O9FdkS?Qjh(~~N&akM<5uZEu<*UF>R=MP z(LmjZ)n8^-Is^c7w4z!LA(gw=y9sogczUX&C;Q04QApC~aRALK6FUzlcDjlKU!@$x$;10O zO`z4rR1KrDOe4C=lXB7F1rb>`AGM zZI3j4yZ53S%_9%x8r@FsruAe#=A>1Z8X`%Z7i$0UR0{=~Lq1$WZ8&tA3?V+U$K$E4 z*rbOFfgAExvUgf*@hNPn(Z}M*c1x}vo0md?kPxz<>xu>V#vaXSGIgEG&KX}Uo|LgG zZ`FzsbN;`CWcUtL-k%BJL;=UDRB8rly#*>$#wTbzs#uhSKHWvwwO|w-YcW*$Ansml z#Dk$kdN{4GK54g`gMy5VT^*}n66v6w6wIX|mt(wyT_M;<+1}~=S`=F~Agu+#UJ7kF zy&E515Byi4n8EminE*i)tgZ&6X60diA}kaP-yWF}SU9$jhExj9lJPOb|EOOSrC8W* zS>L{!)y(tCnl0Lv7Ah2o9Lfv~38HWFtewFcvF=SUu2R(dp*X%@j>X@WV`Cg!9Gx)u z1_=6JYLrN@0E}1VzXJ2<>wj?8Mz7AtiR{a~jj;ru@U9Ma_zNksYufC?@>}UBT3S-Y zG4y`UV%vl)ofa}v3a81>&`cg33q zz?m!dKEy*AQ9?$LaU)39wcSBq$<55?sx@f@IX9WaDnaqsBXYeMm>BWE>+pto>Ah=< zqwBPRrXh>@bJI`K!J5m68?Kp>ZBAetie11=%PM!)gmkzw5 zB%O<BiZx3PIXj|E*!LPkmh=HYoqxjl;$9uvYz(ptz0xlxX0QhP@Q&F^I zPE?E_E`zyy5h3hn9lnGJXBZLK0g5=sMr9pf~N&uy}CPi**s`->@PYesCzOf=HzUZ3x6I=;K#Eax3|) zD}o`Civh*lp9ScQU}BD-RypIlAoLq~(0_*(FLi_E;Ri}4Bq8QP0nF#*x@CkO2LY<> zA?oK6S}o5(9tR$Do~ann>-HGq?1;!0+ai3`BynUPqV*0i-lj12*nZbmq<()YNnh1G zip0Wtv7ElmO#x-jqo^qdbuzy9`99`F!rM@$52!H!#ldo^ljDC{HxrSgD&_jl>)dGr zyAw_1evE+v$|Uau^K6*U8%>|GG5n<5C%?CM$s|jF*uC==Eh2)^urP4c^8SRfbhV-# znCu}`0Zc{=VbZKi`l>hJIp48~ITb{lhqZ8e7Z2eB(JUEUp#^?d_?k|4@#o@4;3}ka zh4ooV?HiV8kS%2u%N^E2YY z`S4+$IvwN9XvV>J??3nZ8obE{z5bAX7f_J>k(a|HyA*?Z(Q;*QX$>aYJq@Ou>Pk1B z@1Y8>Q>DURA#Ilj%F|&n04%>vALAXUmoZIESzUi!UaqK+rkpD|R-99=P~zMqziAjw z_u2b2gzw7CJ#XHU1+p%9tjhz-|EtMn#s;+#;lWJRRzm8C+ z3=`8h&XIL1*lg~3c^QncIDtcY`8O&IzJHgfNF29b+R*^*5R_k@wmfNXCpQ|kD9B<| zJTi2gEC;p6&z@$HmieTk!q2<(W-It33xqdRLUe%9nH9ntMuKcGLNS3*s;do0UIS{zM=O{b7w_l?c%ujCgF)KVtijzpju$oR)?Cc@Nn*$nIa{q362KsW<(b- zDDLvxRX&iWz2d|dB}N(`mjOzIp*AG4CqHYa*3XMjAnqeq*mP-e~YZU#Gf|kHi75WJH zdUiid{i4!$8033teC}|u_z9K&+Ggi0LCt6F|h`BNg7QOO#P05B0i;da7?+HM@O-e>@o(=;* zG8J@F+wIl>epWRHzLJU7CWD?yTfor><+$$-GTxCT^1vO~SX+$*W16mTR}QE`Te??j zBMBwFuiG`pRnu^N1BvrEUvKyJa1TPD?hOK z?kaAjs-9+o$Ir>sfHlFFDk@rQ+K5$7))XNY>WddLDn0j8NRXB3U7j~z6G?pg0kn^RP99mXhc3*dl*?Pq>@Hcx6Y_K4OpOa~<3Zg&$ z%=OYbVK+ilkhE__@MSD!@j=;s=ylxPX?4q6XWLzYHbUUm`jZ*{t$?96Esgl>jc;z7 zjHQ6sEb4gGz3Jj6SR&wJY5TnT^0@Xw*3Un9dVb_V*7WCsj2UdX>dA`ZmwSiAU!T_G z))*r5EC7r{^O(_D#z6(7lhJ6W_pRCJuFs|w0e`Dy6{F=Fk>j28ZvQ6Vx2^($gaw0f zUqbnybRCDa$l2+O*+qMgPuWPKs|%O(>?VuA0P#S`$;AZ{Z7=Z#V&EfIR z#17`8(~2J_dw;AfPuI>*R{YLx7w-#o_hI$R`ff?QxFGwCm@QCZ(9C^b=gx5{*~~oqTqn5PRw~ z$ff&SN!*ZZESYltyP|t#d+My3R|>E&pqQ;ZA)c#BHz7vH!ndMo75$}@-H&)B7j8(T z!1l~o>C^jy97)xs71fTHd_I>udfdL)%wnlef<7vAhNKUcIrFm3L*HExlr&2Be(Evs z)q2F8`tBIqkwe;2EfH6T!$Q$?+|tKF6)0{^jO1Qpz=S)GpCfh52|HWenw`jQ`GyZWpaiF=C9$l>YW%D1R zfZd>W(}VcLq{^6+o9!7okK-9T8`iFo#@r}91J;Y06vI)S4>S(o(Teq5%zy~3(4BZH z($7tAH=xpl%el}OvEYTZ^7&g}8;aey>G9ig>s>)TMfrZNz4%&k_FIV@z86p(k%1L^ z@aVEUgw0Aga;gM25R9GuNzCXqa;v^9&BgGUn1Z+U{jHCxvap0Wvsl?AB|mzxHo}kh zmD76c9YVn5Q?IQ2;i}kVXtE&lzVh^JNw$G2n?-iA)1fKtQVU@(^<_@L*1~-?MNdxR zG{qxb^Ln}Ck${W?eNfpI5 z55xNe*_R!-=`(o`;&7WBG~gsZ1v!^DxakL{1-X`ac<9G44<6w)y?vW7JSoVt{N6$A zCvRJ2Qbomdfb+u<=ZW??$${ce=st1aW?W2a)HRjgr zwN;dgmX&tVEgb&H%z&MPGRrHB|8IfU{_T*0&(X{LgD^0N{(~4XNaFraqZIrtgBau8 zUH1a--Uh0}N*n_OqCs8%{guOa8Myz_{M-8j0+IbofWijh4;Weg()>@28?~c|{)0vy z?#syV&k)`+(nyaHfIz-Zf*ziJPR~8=DtS7O(9p?H1=#=B<@KLs+5i2jF8CfJ>tAXA zRs=yH$p0n*1;B-wIRBAm&P0R$jvG$QOpDs{c<@{%e5SiE{&(O1U*4xY@Bt={f0>o| NQOu%P$NYB^{tL)C!pHys diff --git a/src/demos/zdemo_excel15_03.w3mi.xml b/src/demos/zdemo_excel15_03.w3mi.xml index 9129913..96e1dba 100644 --- a/src/demos/zdemo_excel15_03.w3mi.xml +++ b/src/demos/zdemo_excel15_03.w3mi.xml @@ -15,6 +15,7 @@ MI ZDEMO_EXCEL15_03 filename + 15_03_iTabFromReader.xlsx MI diff --git a/src/demos/zdemo_excel15_04.w3mi.data.xlsx b/src/demos/zdemo_excel15_04.w3mi.data.xlsx index c589a7f5d06f847f25a1d6c5ebf390666ab024bf..314a14f0f4efebc84a92c1c87a953f2912b77f36 100644 GIT binary patch delta 3723 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 ZDEMO_EXCEL15_04 filename + 15_04_SheetsFromReader.xlsx MI diff --git a/src/demos/zdemo_excel15_05.w3mi.data.xlsx b/src/demos/zdemo_excel15_05.w3mi.data.xlsx index befd4f7266be3e6b5c131f47b1649d3999895f34..add90d35910c0593f84d4919270423ac74167439 100644 GIT binary patch delta 2072 zcmZvdc{J4h7stP2EnAuyLsNt#!&sk3LL~dx4TdO7Nl%R}+mOaLLn4uUwLD6;P-g7Q z*qgC0Ew+qgeMBS_N%o)8IsKmB`Q3BwIj_$>_ug|q_mBHdm#4}LSedeOAOQf_1%y%* zZHojbFpeKkk_6-aMX79wu-!jmso0pu#~}?4Suncs{4IT^T(o`+dOrCZ5JzN{zG0Sx zj2&9x35tl@Te(oY@q96*2im+!z5u0QDV9ovq)WGqk(uI!@v;`Nc&5lKGXwWnIiYqe$?uemBALH0skVoIR4Trph{H%d5Xq_s ztw@Fewtjt>r5hMD?1BhSLfWGyDar4R8cN;H*uN6RFxTG^E27KYjOJ-mjNIIeOPy(9 zVH6kP#hl4!=~heGB5B9RvFEv-%9(4YXuY1?)A9CPR484Q$y7O1x=4Lxw0EE3<%q8Z zGX}!FRR(QMj==MwWir_CsUlqO;AnWN_HnJ65_4xRQqLQ$cIX(c{z0UBg=A*Z;FAU_ zy=v>!22SR-`KFgAXUHGREAwq2?B7c+dCZA|3H;b-qFw>qj1vF?(NH~?ERt?~^&(x` zE5TiKH5l6kC*DLF%O-Lk0z*#?rZXvsEgc4dRMlkbh{Y zO-jPDswMsOU^$LN-Jz-vWrG~M`~@TQN}^@p>M6 zHUYl3{q|Jnh)#8UpXfr*xvQ4y(G=S&88g96Etd;U2Yt}B&AX%eKC0=0v>Ia9ktJOV z{me?&l4&(3P5+H0{FbbDr&uXhUS%B{a59bL=)_#DP8q5@(SS}XzSuS7v%J5IXSj33 zfjR$ug--Foets#m?hE!i^>+ey%}35cLA5N}=muw98O0}5bHk&WqNt;M*t3}OZJm%w zs(YvI{$e^%u4Y{A#_TFzold1;z}*G2yx201IX~szYxR|ByYwz4|D()-X0e+XQqr{G zO&Xu^uBSh`70mJ1Ms2=){xZYPfumemq_)G2_5)akn9@Zy?o+vOI>!sJ@Up9-ke+*Y9zi_;yHE1@*TiA+6PHRDu!1PZG`bAa8C6gWwuw zb><7{^}(?7V2eF%ZOt-uxSwMRW?6lk%7t><1mxqH#x$v2cy88fqp zQ;d=-b6cMNQ@Kb@M@FScGUSbVNU9AR-z-~E)yBOCpspR=LV(b06xk%bpr_sy1Ozbd z3TX?SoUp}Z$)nubyTlvu1Mcw>>De#Dp7!5tD1}p5;x-BW<)j08OYesas|Un`+$W|) z^=RX*TvC}PkLDm9-?kQ>Ge=^y^KBk>wrHphTwnOx%t7B9K^w+0<^^>>#STiu0>1Z) zLv;H=Ih!>+et86sAKBZOj2g*V*s_y#5$4)&I!bQshxJW=B5#JJKHs9Q*DBy;$6x#_@Wns>GLTj!igWlMWwkukzyw@5cW31_k4!U9dvYU&IDJ)1`#BZ4GV zH7mkwx(#^}T}MFZ3UU~Kqm%G$f(+!JrVD0XG(YYmE@_kx{6V zB&E@3u4Yv}N}$qfN%v2;gf3%0C}{4x-Ez!|XoxzaWiMOw%31IcDL5Npf)z~QcikxSme3ol;;O|e%5ux zvK-IRR~>zv3(;7kJmR2f>~K4%_I)Zpe!Z@4#lyBOc9_t?5?uc3Z!*7rptgLn2$T2F zI?(&N+!pXZ$5fsV|4XPM_=k1~a^FMUQ89$z7TZsPP>8}EXh&%6054K?2lSB||D|s? zkVkjIOe7kX2n`}J2mgJl0RXYBm%oh$NeM~rl$Z#iK@1-N1bZryeEf)KeSC-t!CszL zrZ6@H@LOdyg5VwHFaY?@4gmbW8*LM~{oF404+!x*@BjZw$)b+y0~BZ*$%A zvlJQ^5*7b3utDy=s+Vj40C59=$nUgm+9L=_2%;ek6yL9@QD_((I*&Ta)%f#g{{j8D BrE&lO delta 2017 zcmZXVcQhRM7RP7C3`1fJX2|NI1!EDtY>pD1h%$QbAxaq0f`}nnkSLiTHhOep3=^wF zNr)0m5TdtLLe!|yhUM9l_x8Pe&OPUIzrS!unoK`MBd1hgAG#;BwTHUp+KyXQn*Wq23ePbFHP{Jk_Faja{XzxbzG7 zhT78BrSh!rJ(`{-%6rZ9(cDA`D)%yMC<|0X9DUpZ_M^yJI#q!xsr=ni&x=}X3QsjC z7R3p=C!Wf*u1Y@^HgcQ)xnfcdgaycSzE7Ah)cz&}0Pz0>0AL2-#F0qcBsC+VNGrsx zM$j|)4(DMYs-MXt4xy!p1JUqdgDoa=-#JnxXoW6*pHqn87FgIyc}S}vWUkd>F(f%!bi^Rj-K<|TgP{?0jXRc&X5 zU4rlRXn?fkH0Gm0dey^`_5Qscb+quWJk+rP%P0<5@ri@B3nviyFV!2^+u`*JTsXku zh__+)NoV@1LAYL60Oy+0d{M`KmJb|KvZFG*xs^D#ZXLj?X>2mW7SMVuRr88H5*O?x zl-J)v9Nl?UJ{ffy{3n)E&XvJ3VyMLq7RJ*jT3+rzY5Zh6o$W-AzVEg3IiP2^*dMCd&y34A<3h2ZZTl5`n-D+R0fGA!9iCE?a%f%}lKd zbZFd3@bTn!j2(7#vta4uWZ-Ty<*q$B-L>!&_@Gw(+!*<#VdbNSL=fQx>Kmsa?PNo-PXy8fkNwU1^d zKI|Ukv#LKIBhvV#z8qQML8O}}H)Les$-=>M9LrmmQn)rY!$6W4y$IE8J1oQ??@sJ>bG^e6P*Hvh+)tgh|p!>H`k-pv6hehl)G_ zcidJu)$uEx)cmgvGr5vfygzo(+3>|q5u{%AcUZEmX^wUpo9lQng-mLZ>j+-cTBiru#dCML~I z?&48nG8;p_iMJNYk6xmK^IZ@d-PW@O33l>>nL&JVmde8Ul}#D?W-S_^Ef4=T80{!vc?cP ztJ+?xWNF&{x`AOK2OU$veqxfVoNeMw@;D+sA*#)E%^79QCu#|Y-@#lzc6qOr#)al^ z2@+ZDCB5C$F@umAR_mREGQYN8x4G)@!YVz|AX+jqu=-(Z-MZgu3Bk(kP0f@BVbb3- z2alalD+=zF30V^id$aO%cP+O`$8b&GMF`pV#6MGoOhv)G5I`F4szVLN!=l7zhCDpC!Z3_jBOJ zVUS!GGm?>PKz|$_$#GHkoRy}yMI_%v31eXcLEt!1INSgI;O?c2()(wU!pL;V)WZq9p(T diff --git a/src/demos/zdemo_excel15_05.w3mi.xml b/src/demos/zdemo_excel15_05.w3mi.xml index 6d97620..787d713 100644 --- a/src/demos/zdemo_excel15_05.w3mi.xml +++ b/src/demos/zdemo_excel15_05.w3mi.xml @@ -15,6 +15,7 @@ MI ZDEMO_EXCEL15_05 filename + 15_05_ConditionalFromReader.xlsx MI diff --git a/src/demos/zdemo_excel15_07.w3mi.data.xlsx b/src/demos/zdemo_excel15_07.w3mi.data.xlsx index ede2a73ceddb54b29d1e5a4e44c001aec2cc07b9..7698e22a4004f2438b16c769337b3f6a1cd087be 100644 GIT binary patch delta 2058 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 Y^v;hqm>(hVOS=**j6MI ZDEMO_EXCEL15_07 filename + 15_07_ConditionalAllFromReader.xlsx MI diff --git a/src/demos/zdemo_excel15_08.w3mi.data.xlsx b/src/demos/zdemo_excel15_08.w3mi.data.xlsx index 23f4e0771f191a388852af16915af698871066c2..aff3d2c6a2387d82c7b3debb4bfcf08da1c1f757 100644 GIT binary patch delta 2041 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 ZDEMO_EXCEL15_08 filename + 15_08_RangeFromReader.xlsx MI diff --git a/src/demos/zdemo_excel15_13.w3mi.data.xlsx b/src/demos/zdemo_excel15_13.w3mi.data.xlsx index 3c38c257fcd0051366c29144c05c9fbaf6d416ac..d0a65157ee7b5b48d5f45e9d1d651f3fe7d2126f 100644 GIT binary patch delta 2037 zcmZ9NcTm$=7lwbKi-1T87^RBTNZUoE8ah#$AqGT6vEV{z(gIQfp)5se5M2}rT}fyn zgl+b(DWDYs1IccMBOv{6k5~W4G>2I4OhLcK;W5YGI$5l8v1z0WD-lu+03;3gy>CJ z8;q$h(tAK*>2C!H=(Z?#GT|{zMtY@1Tea5_`d6yBLevLzbxf6$**xhprKl*!wVMzc zin}VZSUCMG+h(ail%P8Sy~XiV$x=U4uWS0ytM@megUA|Gs`~L4i^R8PhmV-viTF{< zG!f~qHR+%^053;T{g!8dUz3X#o&UC6TT z$v4H;0-!wt=r|#B#Z=DY*r1EU*%Vh+K9y0ejexh~T4~;^Um7BF1feqHBxb*IAYT)7 zOv>pzy`z66;v^@W9m>{uWKP=_nn|=%Zmx>EgG)(w_C8u`MMBoj)~a_mOR9Vq`a@51 zS{jsJC+%$nDs(^_j?{jt9A@M4;g2v@@|))7L~g5|SPTz~%O%)j^NmL!N${|PZl|A3 zVJDG4pTgu|b%_IF3w<|&t+irs$h$er09xCf(#!sz43Wht8k5nq+p?O1Tyjf>R>rwC z*D7W-FX{MfE+MuRJ-WqTa1_@xvH%7IjKd}BT3zNykn(HA#fSFW_(m*gV0&en&Jq00yOP! zh-;U>IF-)vHbif|dHE*if<0T6nrQEojig<)x4t$AZ$XCfO!K6&PtL{G2RD zfeO?;G%09t&t^RarHHG#uy9^1N`R5NMGp$zg@r4`s5Wy?`2^$2O-M=B6rm5CU{EE% zsVFP^ZCdDQLYu~GCEdgVU!FndDD?XgMRo8$(kMc^#h4T&mKP&dxxXao4fVGME z!la&^dOLSUt8V+%`v}h4%h)O|Mhw0avHrO4iZUsFxc$cKy!$S8m%M@~HL=V^xJtB4 zrPK1vpK9frFnRTI>A-hdfmyaJJhLq2wVUY=v4$7OR(z;dvq+lkf{|8_Kj2HbFRU+Y zFolHYp9DK~_DHrMhHfTGWf!~_e>xb~{6c_8m$XeDtil{KTACa&ts9c`zd7|;%!oA6 z&LNX~_VFAZ=GD>0eMK%-zr^-Ycbm4xP}IUd7WT#-f+Pl%GS6@LHGWts9`JhbJkW3u zt7N;5KrD|U5Tl1%GQgvS3)>eIuZnOSJvSE8J_s6^`5Lknn)Py^yYwZr$E?p#Bm0NBr2+$Q5}Q1kb*PT%uj7daq5WbUO;L8vGypUKm6kk|f zvz8+Q$A?{&4+#-yy?#M}_h795#FBY`y=D1ldwaKcj;&1^^*MsvxDCsgQRtDGZuYq5 zVe9;j8jR-Lj9)9sqt4^KV_}V&wVk=>IO>E`q!W*nqd23iR7b3i$V5SAi^=0?EJj1q z1~r>)8!`=PL2D;|h=-i(|M` zX`>}m96Yf|A9S>_D7B&NBcc|YAx7&wN2VQS&uCR8$~&v8jGF{mwGEn4eFN=E-bCj9 zRUKQj?wXySS5px7g6>>SwwvTd@#-jzW-zrcFdPV17{^4_We&bj})pWT+@uTy8 z9#Kl$z<-wMNgkWuK^4vmW7!KY+98$S+6sRt>n{y|SEy_cl!f*7z*AUb51tBZ|6jl{ zg-=QBF6UFAoQjV-$w*`Y0Lae0e^T%;u);6T{sIR8!F|IH5%Do#>Amkuzz~o;z5^`2 z_hf=0y1~2v5a6cb;~VI9%SSoD-Oc74h(!?C590Jv_Uj-J0CeuuuDX9Hcmt8+znW`^ mG14tq0U(td07Ulr0in}*#;r9 zZ%Jt^DPzf!JqFqO*}ZyoPH)|FKIc65x%czjdp>_W&m-ATSt#Zb6EhqD09F9}B*~-% zdJn|>6O=vyvHU_5a4d-JCl~tQJ4J ztB?aL)2NkhP<<~6J>ZXLe;_b&&*3y%2=r^!tH=%aGCr4oNI1R*i$oh7B$aLIm|G~R zHM_WKY?nBbv2MMRJJrKF7$-ha}-SIsr}5Q`|u-(o1e!GY)ulU6f#juk%D(5~Fds7+KVXlaAW>Ht#grau}HrIR5=XzSTy3N=rM}LPakNO4DrJ$;Ff@EO2&)v9v zw=IET6l4%c5SUk)$a%Y->IsA7uBy?OmZQfPtO-c%E2e$CgywCziX^@evcH=|Mt4(j z|7uddU;PEc0!b1C<+76o$3XTKg;j}b_|Cg`)={&wRQoBXLaHy=KYH-nzk+lICG5rAZ*bHY?NRJy}oN4^BaZQivi__ z+v0ni&4_RD(80BH0TG@LXC)a4d3oi`3!dmtfvT_5ST%1w9YZto(wX$M@1@;2`ljl; zv7Pm-ThRhXZP+fYjd)7(vKR{K%T`0p11qR49(7kf=e`TDE%2}c764bV`eA$#y%+>Q5@Q|g&l6fO=NXvCG{_5&Ft>>+^FB#%o2E^KU!KOw6iqPU5dZ3w-O$%cvdh%N$P&Iw|ydyOzQ6X z*f-qj*tg8mEyIq5JH6eXSV^~E6$1QQ$mqcu147~Y)p|SVu zl!&yl{O2FJqGTs;!W>SyD!z@u^f(G#ad~5JnfEzg)-<(0BpLjWjVP4O;OX@wq>msscWl4;nwr+v-I56% zP+08siq@Sh+=|EeKX-&Lwp)*7J+eLfDaB7z$x`*y^OCw`L-Qsr@UpX5^^;*& z3{Bc^+@JX3BWCnI>w;La-pGcq++`>cyV`q;G|iba0DO9BD|BXhXH&;m3!h&bz;0F9 zX%#Eaw*I<@E@7{4cA~pD=BAQO^hMerJnB*C8?*WAC~HwEOBn1L{>-*xqs}uy48NnF zB%`ymdP(0LQd+~Py6%@U)q3Wti2W0*gb<@JbO^EhcJu26Z$>WF%BiekSc^L3DEVekPNZz za<}ZDm*N$cwez+06UxI|$aB65?})0cL3uM4ifh=fEy|luM++Kr5?77*Q!}_yA~m~$ zmIupGfx@x3xM(q~nU&9stYh;x%uux?c`G-gG^Zmg+;8A3;8a_gnSbWm5~$So<)Q9y z4keG-x`CTo@>0+kLRMsLwdSzh=i<`kLQ8u8vdvw+nw=m!%-~BC=e}Ii6al^(VcBeF z)0RS;1X_hEhgp8F!h+OF?*K_+eTGWiuB-D(F&2-a1OKjiX)JEndZsh`Eo#8wo-!(X zz+Wz^cm(q+pdvZczz3n#!71~L199DD`X5IQh8G_ICB*pyKtw1UfD(lA{{`DBLh*n; z&BF_hfshL!{8E@pATT%ZJ0E{LHUMz%r{?dKM~>wYvHt1m(&9*h1PB1u_lxuQg?%J+ z1OSLGGQN0EX9qmq`83hhMI ZDEMO_EXCEL15_13 filename + 15_13_MergedCellsFromReader.xlsx MI diff --git a/src/demos/zdemo_excel15_24.w3mi.data.xlsx b/src/demos/zdemo_excel15_24.w3mi.data.xlsx index 9f5361abe98f4e8401dfb950ad4891fbbe314409..cb9c2f0e23403162b70530707d5862ad9c6a64d5 100644 GIT binary patch delta 4875 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 HwXy#IZ3)M7 delta 4803 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 aU*aStvVWYPSb^ot&n_pFe2wMT*Zvn*1FW6^ diff --git a/src/demos/zdemo_excel15_24.w3mi.xml b/src/demos/zdemo_excel15_24.w3mi.xml index 876e98d..9c6f35e 100644 --- a/src/demos/zdemo_excel15_24.w3mi.xml +++ b/src/demos/zdemo_excel15_24.w3mi.xml @@ -15,6 +15,7 @@ MI ZDEMO_EXCEL15_24 filename + 15_24_Sheets_with_different_default_date_formatsFromReader.xlsx MI diff --git a/src/demos/zdemo_excel15_31.w3mi.data.xlsx b/src/demos/zdemo_excel15_31.w3mi.data.xlsx index 689e3b98f671da0fe0a498fcb8fbdf3f24d5da0c..40655cdf5b0358a6c4337bd34d2ac916732ef9a1 100644 GIT binary patch delta 2268 zcmZ8i2{=^iA3ie}OSpDAWgBA{CR^7PvSgpKH8iABT67s(wjnW$B@(Kmx1@BO{M-}9a4`Q8@GPD@_vV=Syf003|RK@?@% zLf+dj)-6z+4rBj`^5MlW&ModSHs;U6kSnVKIlAG}O(VKuv{4K=oAe!sBlbOiOD_%_ zm09NU50B%om@8U;F`wKGZCne!3?*YJRw{%<*PCWS=~B<)6)a=%bg^lA8tzZkHnr@yERD3}ptEr}+P+uL{ znq=Z@>)nf4yp923m&Lelr95gxA%8SzsdPDFf4?JviF{8ik1lmGouz)N&B;k~?MMj; zp_~<+&z^XiYQ2~xmU4IudkOJG(Ly&_r+wm=m+vk_1(m7O>1s01=X2kf^6xdd624F{ zWh~lLY24cA0K6Dl3MSWoDGxK090_}@dswHs*uoJ(>VB)!1|7oHJ&3qij!aJ+%&5;T ztK2-fj+0NY*l>4a3p}{AJljf!{rixM+u5)%-mMe8V^|Bz5KZ*B25sB8l_J4CVeJl-UrxU&zE^y%`@%IV&1j14)wHRA#^x&pr~N+~*yi0<{}9!98Lc76A-8B? zX_Q`Zu6R=8l(x_MB7RfBqeJ33BCmo52acqW98S?!s*;Cjdi7vRkxS>0=hD6sE=I?& zJ$?4aav8-F`}MW(niskMRDTC>*JAiQeP*QXR z8nwRS&z=74R4~I+6SeXB#p|>a_N=96TnAR-o#EaaMzSD$9Ost%QmToc&}@oIbTfY>(ho{V+_lN}1kJrCX-SeJE4>LzM0X}tlE6}E}Z@H61kLv5e>EBS08nsQKH5Uwp@6Xao5G}lvhw~Ma&QP<{AMmZc zE37MgWZV{)c|gRety8K2KX5T#IyLK+#FPFT_0I)z`=o4c^_P3g*{bDfck(apDc*wL(|J`g$ghq=9xhai=Kt)1mF_!2uP9SeBf zFA6m1Co9^l;_*wvc>FMbLz2jF_T1(Pg|niFeaA+ETl!(WlV5^2LLR@^%w4Nd$~mh? zR2C>9GJ5yK#Vmdf=``&&P)}Vjv%oMQ800h$NryT!u`*sfn8&Y@(d<17==} zoX5W%=YE=XQjrk-!Q2mZye(5n?Ty2b@$I%d!DNYh=_Lcp^?4#diCCZU=WD0$|9T?6 zbRagnykaFy6bFT#l@AUUXgYsFfM-vP|Jb5gPqjtiCwqIhw~kG9>eXq2T$DA7=wa;M z$qu#~^@CQKYZWAonMuDUsz;T_JICw_RVzC)u~CAoQ-l+@w4(&$S%J2ARqhl4oX#s7 zC6Y<%8rFpARGZ)lkVX*HAMk5hx%%`WE@!c|x(gO(-^bbWs$&yfoMDio+fp7OY%{(g znD$IR5vA2@pBXS9JGY}sHD9&q4|(C(M05oj-5i`8%MrJq<}1(WaB6X z>@?p``7Loce;mObW9vhVG7_WLJo^h@Nlp@PY&%xg$j_G4q>?M|tfo9_9Aw$tZ%X$K zw99`Tk^XymOwOunYGy`7R_OCS=fX0(4?F}OZN=fFDXmkCm$?m%dniZTUs~olWtZmr zyL~k{hwXE?P`2XW>G%x9n&uG)kHs?D$QnOB<;SnlXv@yFt+5Qk%RauP1)rm{Yx`?T zCkion50CqKL@I6q|G7pL1MQfCKDBh_~RT1M+1 zap@xSo8(qkB>F(d4`$BdSpfiKes`Zbh$e&C*6hXs00{01m}m|{ppZNESQH5JgiKKq z4qLW*OR*RP901;N0szmyN*0*Q05@eH-$1uZK1u=ZZq~m$5U69$atWsGKIk@DWQWUTwsMu+ V)(!qsH!r=dla~V#naHg<{{|EL=QscW delta 2256 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 E12((m9smFU diff --git a/src/demos/zdemo_excel15_31.w3mi.xml b/src/demos/zdemo_excel15_31.w3mi.xml index eed800e..c3135a9 100644 --- a/src/demos/zdemo_excel15_31.w3mi.xml +++ b/src/demos/zdemo_excel15_31.w3mi.xml @@ -15,6 +15,7 @@ MI ZDEMO_EXCEL15_31 filename + 15_31_AutosizeWithDifferentFontSizesFromReader.xlsx MI diff --git a/src/demos/zdemo_excel3.prog.abap b/src/demos/zdemo_excel3.prog.abap index c51bb05..1c4f24e 100644 --- a/src/demos/zdemo_excel3.prog.abap +++ b/src/demos/zdemo_excel3.prog.abap @@ -8,7 +8,8 @@ REPORT zdemo_excel3. -TYPES: ty_sflight_lines TYPE TABLE OF sflight. +TYPES: ty_sflight_lines TYPE TABLE OF sflight, + ty_scarr_lines TYPE TABLE OF scarr. DATA: lo_excel TYPE REF TO zcl_excel, lo_worksheet TYPE REF TO zcl_excel_worksheet, @@ -18,12 +19,12 @@ DATA: ls_table_settings TYPE zexcel_s_table_settings. DATA: lv_title TYPE zexcel_sheet_title, - lt_carr TYPE TABLE OF scarr, + lt_carr TYPE ty_scarr_lines, row TYPE zexcel_cell_row VALUE 2, ls_error TYPE zcl_excel_worksheet=>mty_s_ignored_errors, lt_error TYPE zcl_excel_worksheet=>mty_th_ignored_errors, lo_range TYPE REF TO zcl_excel_range. -DATA: lo_data_validation TYPE REF TO zcl_excel_data_validation. +DATA: lo_data_validation TYPE REF TO zcl_excel_data_validation. FIELD-SYMBOLS: LIKE LINE OF lt_carr. CONSTANTS: c_airlines TYPE string VALUE 'Airlines'. @@ -60,6 +61,11 @@ START-OF-SELECTION. lo_worksheet->bind_table( ip_table = lt_test is_table_settings = ls_table_settings ). + IF p_checkr = abap_true. + PERFORM set_column_headers USING lo_worksheet + 'Airline;Flight Number;Date;Airfare;Airline Currency;Plane Type;Max. capacity econ.;Occupied econ.;Total;Max. capacity bus.;Occupied bus.;Max. capacity 1st;Occupied 1st'. + ENDIF. + lo_worksheet->freeze_panes( ip_num_rows = 3 ). "freeze column headers when scrolling IF lines( lt_test ) >= 1. ls_error-cell_coords = |B2:B{ lines( lt_test ) + 1 }|. @@ -75,7 +81,11 @@ START-OF-SELECTION. lv_title = 'Data Validation'. lo_worksheet->set_title( lv_title ). lo_worksheet->set_cell( ip_row = 1 ip_column = 'A' ip_value = c_airlines ). - SELECT * FROM scarr INTO TABLE lt_carr. "#EC CI_NOWHERE + IF p_checkr = abap_true. + PERFORM load_scarr_data_for_checker CHANGING lt_carr. + ELSE. + SELECT * FROM scarr INTO TABLE lt_carr. "#EC CI_NOWHERE + ENDIF. LOOP AT lt_carr ASSIGNING . lo_worksheet->set_cell( ip_row = row ip_column = 'A' ip_value = -carrid ). row = row + 1. @@ -104,47 +114,85 @@ START-OF-SELECTION. FORM load_fixed_data_for_checker CHANGING ct_test TYPE ty_sflight_lines. - DATA: lt_lines TYPE TABLE OF string, - lv_line TYPE string, - lt_fields TYPE TABLE OF string, - lv_comp TYPE i, - lv_field TYPE string, - ls_test TYPE sflight. - FIELD-SYMBOLS: TYPE simple. + DATA: lt_lines TYPE TABLE OF string. - APPEND 'AA 0017 20171219 422 USD 747-400 385 371 191334 31 28 21 21' TO lt_lines. - APPEND 'AA 0017 20180309 422 USD 747-400 385 365 189984 31 29 21 20' TO lt_lines. - APPEND 'AA 0017 20180528 422 USD 747-400 385 374 193482 31 30 21 20' TO lt_lines. - APPEND 'AA 0017 20180816 422 USD 747-400 385 372 193127 31 30 21 20' TO lt_lines. - APPEND 'AA 0017 20181104 422 USD 747-400 385 44 23908 31 4 21 3' TO lt_lines. - APPEND 'AA 0017 20190123 422 USD 747-400 385 40 20347 31 3 21 2' TO lt_lines. - APPEND 'AZ 0555 20171219 185 EUR 737-800 140 133 32143 12 12 10 10' TO lt_lines. - APPEND 'AZ 0555 20180309 185 EUR 737-800 140 137 32595 12 12 10 10' TO lt_lines. - APPEND 'AZ 0555 20180528 185 EUR 737-800 140 134 31899 12 11 10 10' TO lt_lines. - APPEND 'AZ 0555 20180816 185 EUR 737-800 140 128 29775 12 10 10 9' TO lt_lines. - APPEND 'AZ 0555 20181104 185 EUR 737-800 140 0 0 12 0 10 0' TO lt_lines. - APPEND 'AZ 0555 20190123 185 EUR 737-800 140 23 5392 12 1 10 2' TO lt_lines. - APPEND 'AZ 0789 20171219 1030 EUR 767-200 260 250 307176 21 20 11 11' TO lt_lines. - APPEND 'AZ 0789 20180309 1030 EUR 767-200 260 252 306054 21 20 11 10' TO lt_lines. - APPEND 'AZ 0789 20180528 1030 EUR 767-200 260 252 307063 21 20 11 10' TO lt_lines. - APPEND 'AZ 0789 20180816 1030 EUR 767-200 260 249 300739 21 19 11 10' TO lt_lines. - APPEND 'AZ 0789 20181104 1030 EUR 767-200 260 104 127647 21 8 11 5' TO lt_lines. - APPEND 'AZ 0789 20190123 1030 EUR 767-200 260 18 22268 21 1 11 1' TO lt_lines. - APPEND 'DL 0106 20171217 611 USD A380-800 475 458 324379 30 29 20 20' TO lt_lines. - APPEND 'DL 0106 20180307 611 USD A380-800 475 458 324330 30 30 20 20' TO lt_lines. - APPEND 'DL 0106 20180526 611 USD A380-800 475 459 328149 30 29 20 20' TO lt_lines. - APPEND 'DL 0106 20180814 611 USD A380-800 475 462 326805 30 30 20 18' TO lt_lines. - APPEND 'DL 0106 20181102 611 USD A380-800 475 167 115554 30 10 20 6' TO lt_lines. - APPEND 'DL 0106 20190121 611 USD A380-800 475 11 9073 30 1 20 1' TO lt_lines. - LOOP AT lt_lines INTO lv_line. - CONDENSE lv_line. - SPLIT lv_line AT space INTO TABLE lt_fields. + APPEND 'AA;0017;20171219; 422;USD;747-400 ;385;371;191334;31;28;21;21' TO lt_lines. + APPEND 'AA;0017;20180309; 422;USD;747-400 ;385;365;189984;31;29;21;20' TO lt_lines. + APPEND 'AA;0017;20180528; 422;USD;747-400 ;385;374;193482;31;30;21;20' TO lt_lines. + APPEND 'AA;0017;20180816; 422;USD;747-400 ;385;372;193127;31;30;21;20' TO lt_lines. + APPEND 'AA;0017;20181104; 422;USD;747-400 ;385; 44; 23908;31; 4;21; 3' TO lt_lines. + APPEND 'AA;0017;20190123; 422;USD;747-400 ;385; 40; 20347;31; 3;21; 2' TO lt_lines. + APPEND 'AZ;0555;20171219; 185;EUR;737-800 ;140;133; 32143;12;12;10;10' TO lt_lines. + APPEND 'AZ;0555;20180309; 185;EUR;737-800 ;140;137; 32595;12;12;10;10' TO lt_lines. + APPEND 'AZ;0555;20180528; 185;EUR;737-800 ;140;134; 31899;12;11;10;10' TO lt_lines. + APPEND 'AZ;0555;20180816; 185;EUR;737-800 ;140;128; 29775;12;10;10; 9' TO lt_lines. + APPEND 'AZ;0555;20181104; 185;EUR;737-800 ;140; 0; 0;12; 0;10; 0' TO lt_lines. + APPEND 'AZ;0555;20190123; 185;EUR;737-800 ;140; 23; 5392;12; 1;10; 2' TO lt_lines. + APPEND 'AZ;0789;20171219;1030;EUR;767-200 ;260;250;307176;21;20;11;11' TO lt_lines. + APPEND 'AZ;0789;20180309;1030;EUR;767-200 ;260;252;306054;21;20;11;10' TO lt_lines. + APPEND 'AZ;0789;20180528;1030;EUR;767-200 ;260;252;307063;21;20;11;10' TO lt_lines. + APPEND 'AZ;0789;20180816;1030;EUR;767-200 ;260;249;300739;21;19;11;10' TO lt_lines. + APPEND 'AZ;0789;20181104;1030;EUR;767-200 ;260;104;127647;21; 8;11; 5' TO lt_lines. + APPEND 'AZ;0789;20190123;1030;EUR;767-200 ;260; 18; 22268;21; 1;11; 1' TO lt_lines. + APPEND 'DL;0106;20171217; 611;USD;A380-800;475;458;324379;30;29;20;20' TO lt_lines. + APPEND 'DL;0106;20180307; 611;USD;A380-800;475;458;324330;30;30;20;20' TO lt_lines. + APPEND 'DL;0106;20180526; 611;USD;A380-800;475;459;328149;30;29;20;20' TO lt_lines. + APPEND 'DL;0106;20180814; 611;USD;A380-800;475;462;326805;30;30;20;18' TO lt_lines. + APPEND 'DL;0106;20181102; 611;USD;A380-800;475;167;115554;30;10;20; 6' TO lt_lines. + APPEND 'DL;0106;20190121; 611;USD;A380-800;475; 11; 9073;30; 1;20; 1' TO lt_lines. + + PERFORM load_data USING lt_lines CHANGING ct_test. +ENDFORM. + +FORM load_scarr_data_for_checker CHANGING ct_scarr TYPE ty_scarr_lines. + DATA: lt_lines TYPE TABLE OF string. + + APPEND 'AA;American Airlines;USD;http://www.aa.com ' TO lt_lines. + APPEND 'AZ;Alitalia ;EUR;http://www.alitalia.it ' TO lt_lines. + APPEND 'DL;Delta Airlines ;USD;http://www.delta-air.com' TO lt_lines. + + PERFORM load_data USING lt_lines CHANGING ct_scarr. +ENDFORM. + +FORM load_data USING it_data TYPE table CHANGING ct_data TYPE table. + DATA: lv_line TYPE string, + lt_fields TYPE TABLE OF string, + lv_comp TYPE i, + lv_field TYPE string, + lv_ref_line TYPE REF TO data. + FIELD-SYMBOLS: + TYPE simple, + TYPE any. + + CREATE DATA lv_ref_line LIKE LINE OF ct_data. + ASSIGN lv_ref_line->* TO . + + LOOP AT it_data INTO lv_line. + CLEAR . + SPLIT lv_line AT ';' INTO TABLE lt_fields. lv_comp = 2. LOOP AT lt_fields INTO lv_field. - ASSIGN COMPONENT lv_comp OF STRUCTURE ls_test TO . + ASSIGN COMPONENT lv_comp OF STRUCTURE TO . = lv_field. lv_comp = lv_comp + 1. ENDLOOP. - APPEND ls_test TO ct_test. + APPEND TO ct_data. ENDLOOP. ENDFORM. + +FORM set_column_headers + USING io_worksheet TYPE REF TO zcl_excel_worksheet + iv_headers TYPE csequence + RAISING zcx_excel. + + DATA: lt_headers TYPE TABLE OF string, + lv_header TYPE string, + lv_tabix TYPE i. + + SPLIT iv_headers AT ';' INTO TABLE lt_headers. + LOOP AT lt_headers INTO lv_header. + lv_tabix = sy-tabix. + io_worksheet->set_cell( ip_row = 1 ip_column = lv_tabix ip_value = lv_header ). + ENDLOOP. + +ENDFORM. diff --git a/src/demos/zdemo_excel3.w3mi.data.xlsx b/src/demos/zdemo_excel3.w3mi.data.xlsx index 26e3c8a605cf6492eec8547308d1756413b5d444..46eadf322e9a0ec4c6f654a4989eb1a15b013753 100644 GIT binary patch delta 4365 zcmZ8kXH*mG7EMA3AU%W*CUgWuiXcT==)Ftmy%*_4N(fR!kQSwh7^Ep8MWhQV2!dRc zP(&iVN|TE;Ap{=idhf3L=Fi!4W}lf^`#Wc?vk!GXXw#bLlYwCX0Duxe9xYf;n+qg6 ziwzY(%0HkUR1Ty(%UFD**6GALfZ=GoQI`ZP+0lKK^d+3ZAlDR1UW>CVu4`Ri!?i*!^zfH9Q$%erFt!UrCXh^T%Ersil3{F+Xn0S7|i9XF1`g2XJYH6$HM$9ptAFT|5ZSZTP@-5WtB{U^SXBsV$u1 z56#bFS#`XYCf-6%%{OL)c|E0b5R2|UZo#O-vrLtu!XsBMMX^sBS{>Xe=Qngkx=PvL zopb4=^`;9?Sob_jlw}W_xA~nmC-dH$NIh@BNlL)c-y>oaRO%hBqgvkD_FNE6|-*cGYn^8O3~pP5vY#cY4I zsM}H`$BNlp#m;A3)ijQOT&Sl2wBne!D-2Z@^zwPlyHS5jS#K;}S8nOuR*tVeuGNqK z%a6R92u1&LmWqmM-j8cBNoy>A<$se)X3kA5c6B_NWL2J{U)U~VXWm`>mM;EaH5~H* zz3(L>yzE?=)v)ic>7eZvBe?2fYR|6VY;?seJoS>tBH@^jB zBzddvOnyT!06+_9(4d-Uh(gHm(TJ%WB|bVs6_f*3Gs3cc6T!m4fYQ33=xm? z_lq6YH|myPfXqHeOKR>uy5Fv*^OHE?+1 zD4nx(c3z>|4n992pG1A7IJAqP^QQS7Ltj+2IR6gKuAJucMnCNJe5G1l!?yD>-t1T3 z4JX2)ll`SS?y2mMd3yIWqM(X>{kI!<6YgmBR`>aP4s zP>$4J=KIp8)_+xE3BX_3fn{?cMBG(LD<0h;WXG#~DJTfiD>lwDNFA0kLoClmHE zY@YzkZs~RUBHQoguxVGMO|U{u{*2YNh4D6JJ7dAIBg@TU^jekN z(~c&;wBWoiM=xUvEKGkq8VYun`6zv7TghS>hK7WE7N(z)Gi$XO_ZjIuv4*u* zh7o8oH1HF9Zwe3lOO7tbnhxx$M>M5EUKkJhbA>c$6{pQd^9}CVH(GSCptl@9`ZbL5 z)wD_aEM?AXl*v>q+i`X>3ezAOAA$nxW z=gVS<>3C1gql%yglw+_%)4S#3Od*{tK4UFI|PR~a4RKdVTJ1ovB3-dpxZrKD4(Z=vl){ufR+~4PD^s7TDM@){bkoy)TUn&Nyp}bpVX`(%k-Nt9q2;qYi}Ko; z0ICAR=|YCyNKf{1|JTjwld{UF-ags5ru0$SlemDgdjDe=cD1kC1ATrAlTr!Oag7T1 zzxF1LL3hK^-i<|s-Unkp$0v=hW;3y@eL#LLOsI=kk(Ho0Fl-U@a!s?oO70I&PZ}1D zJ|IJ`G~+-F3fB?}j)!|Z&2cIm_6f|gl^&m{T(>RjR2&UMhHl~eVKl+IbLkOsToa&o z#|So10uLgeJb{ujftKu@1OpB59SD&w9?MNpfTwvgX+q0CE8S%3$ zl#qx`GB_l`6(I*opipJAPpI9O-%?``VPu%3PavuVs!(PmFvKx{fIJKgT_8qnG(#dA z1nGnTgOFg=d}0?Z&tLSnpoXnQTm~lbYQH4&+2Sq?8>{ic_>pP^SdpWTe0sur zVV%ST8WV{F@`D2X2Bfu^QW_ufqL8MR0>y{UJQN;Uh_vvioi;dSIW#2>B^9%=UCn1 z>6L?g;!vY$CCCZ{QBsU&R zFXfB|3TmYopyH{zb3~v|TXoYV<*!Ng@popS7|mC-#JYMw256G*pw!oM;yb_firMbf7G@eRn(O z$}&rRr~?%TS&Buv+9{1xYAj|C9jEHZHWkG=wk~lkJnW%9E~^r}gp?2mmpRk1N@Y>2 zwKAkrQw8zxh%dhHneNV_rV89%*Dr0i4^6^AV#)h;dvmXNj1UKzU7o0Qzb zMwX)Ts~0!I1T7^dL0X31#+3lYGXg@WV88B{*s=8{VKn}l>w*NU%~aZ=Z=_ID2T4MJ zJFc!n9gnoQ7P>%o$45B|Tc2t3P9(MC^>KZbk{<LR#LFwc={WFF)@VpbL`h zX^hYO5luG7by?`ysr%8Bn_Gd~R;SP7pdb`TQ+Y|4<*XSHtRZ!OV^BkRo4I4}y3|p} zng^5LQ)_I7C|pKQJ!0|b4@oA+ji(=jwr~cY=sx-H&ZvxB{}x&qTOv`VLbv8oRgLYMR2M>m<8e%_wnY@9h#XI{F@Br+*bkX5~?-ys+(9 z&s?a_Zl|@@p!2+Ian3hm>xm*_wFee^_2F0U(8MbF<)bGzybp6W(a%k5nm8Oo1@`O* zet3CDlxz{=Mq}EsHKZ}$XqTo|7lOYnY;V)yOD8)bkzzZ<8laU>3%nd>JymFNS#c0&=M8>!hFgQ|^x6`YyD`8omLz7vFs`C$e{^c;=zxF>&Ww z$BZcZhAJn1OufK~xkahkGCLsM0p z=tARsF0#X;V(hIxy%{>^o_49RK@dJsN&U%8H^x%nLS&cAb6mYrDy0ANGnq!O!Bj)$ ztrBy)n@yW3AWMCiC{L175(?*Sb;#A zp^bPO7%O!$W?aaDwng?d4-dn_^E>QQrlI%j}=XxY}+u; z5N`_U*?P{2-Hqj07bRsIPyW0<_LaP?c|7=F;SQ5$RiN$)2F!LhBI>&C#3#uib)0l? z43qptgvt!WC;%ixHoGAkc#BDn+vkx3V&ZL({=tIcxGz5cx++o=XBw(aHXhqfeCx8F zH~Nd&CT$Hi7Pl*2Xkwk@^_g+KHP5N}#robMS_n<{-wylJU@%1ed4pm55X!$J6_4!i zh~!cH$Hyn}T>G7T!=w2-Qt&GOp8+-Fm4KhO=f6GC*>3*7O9)%S%k`V{|NiKI6aWWy zl9%r{=l@sye>hRti+n1krIc@9GZK7DmQa?aoYptm$t zF-QDqLNR`f|28Qoq`y$@IAG6K>gUj;kMzt2`w`*l3*HDGbzn3*n=h}Qg(^7fhVO05 z`Z6S##M2H|m)WZ9ZL(faCSOI`rXAZf74%)YAgY2&zuSRzBiqPopi9yWP4Ed=-^PrO zm3sUIXf?|;BFC$kSHImN&`ceF$K^#jv;dS%u!7yNzOQ8H8o;XDp6Kg zn8RFUe-9mPW;eQeP*Bd7u1+co!-kNNNP&C0G1$Ie?$Un!?zkE#r|)7i<$mF`OOh#9 zj^fee$1L*gjzN`bZ3s@~N#Ojvkc_kWJc%_@Q{xaP#XZn=>bo2CNT~wG?eKs&CRQuy zp~vaOFPS14(*3u6Epf_tPOH-A_kJ+`tJakrL~Q@mc!l@_5#?o#55=FOtnmPV6wG@H zFk0@i&?nJOZ&~lF1T(10B9VO9=xeXAzVa{@$qID>x6QYj8;lM2qgDJjx;B{t?Ce&L z_nd0PR-*$my+5y|QXfI>2K|QdlSjaN*Guz%q7ysk%TcD;gUabxMwI1!TjA6tQd&$UspYzxBI`Y^3Y&{7 zg-GIZ7;%h^yq(f%EqdjGdjgNGXrbz1zN(Z^ziN<;#GB(j}s8cfYg(Dw`} zqy47%my1zGm`OaQ4Aq9IYA{lD>pi`%xsjIk7)|v|mYxyvdYuM+s%l(Te@P7L4)!x& z7SBciPi(-MNH!GbKVW+Mot01;kwBauNg@iLZ~Bqm3;%TcU*J2z#`15@0sraK4ANYTz4Lmm0ZpCxp=rFAaU`s&tnQ<2(} z)RA%cKRwSxum?fjjV9)(^ITU{kJ~;k(T_g@rNIHHB1*rh_0e3TaCry^L^y#oK_8-x zOJkr!zf$#%dT8t@Kqq6;t3Ib}e&+iSyGsGAG!JR~==qvk2T~x#$?$Q&ncwT)s}SkR zhz6;O>}O*9VC+Gtu~jLfv)YnzDM(5`(;7v+{0>h3X#f#zG74HPE;tu=c0Nt6aE#m3 z!DIC$m3~S8=&K_sp|j0vqm&7Eg7-7U-RBC0*Ux2+i2vOr-e8OH4j=#!gh`-*qT4)X z#c0FL6yI%57!t|?a?}ox&UThvpOKDIcLH*`dTqmKt2ya=_8bGIlxOrGB@o_05ZDWo zD4#Tr0Cw@T??#=UuD0x%p|+#@sCCEv>RZy1itHuQ#?))(trhF_?~YRIYNG33w_wK) zkJJlnvrZ59KmIClpqi{SXhP{UqKljPs2xiMW-DfF;+l(1?e^blPv<&S@!Q^x?sUek z96PWrHZWhy{^GhWLAJ6{%SwcQWQ|cgY3)EEuBSt0a%DSH{=>53 z*QZ``d6>B)|J??`q95;ueNHi*)BcfjCSr>|e;W8UJ!Xy9AKPYb-^;7?%0+X`eUjWV z@|F~gS5L%^*E(vm`S{DS`4sZZ?~iGcEFPZhmpFt?Z#{kDSlhQxSC!2DV&>}unZ!-{ zl@hhpUAy;RH!FuQ+yQ=iVTN}dN4w67U_L{e#ZBV0iguGN)q6U!`$h+aDbo?G&etgo zGiF^`JR6lv`+o-T3wV_p7S5yl4+V9b4K^g-9|w%}<5rFX4Wu^GK5xF)bz6;aF6Cw$ zB2izq?a#&JO2Ni!>h;4|XYza{`X+WI?AE(w` z3vhHZ>@meE&Yiyg;n7r7bqGJ6K0SZq_OkX##yV5wS>Ty+j&hy!#L=g-amhR557X=e zSuDRL=)6K=wy#}B(=H{2nrJU2g`50(mzD~2m-xtfE6_SsCgcHx$u^-*M{IM%$7v1f zR59zP+pJlLTHjRs3O{t3(}-{yf1rCKb#-gE4QE5W~xeW4w)S2#5y+;n$Gm2Bj(4z2?ly=eg#VO0yuN>HK z!p7pm-rONN^z(5g*h9^SJ3XtZNmV4ZKQ@OYn@%^ffh2J3+(E#1XU!fhh3W@FB7A zpyoC2q#OryNU%8y)byaO+3=POkhnzz1}bM$hz*LQ0hJSlbb}P6s1#y@FD!RJ=m^*E zXroSB1OyUF#Qq$D1`1P!w#ottLxDj;r|p!`2So6NXdkNGQ`(9H06$XRYF4)cvR9u_S6J=9wvZ^qO=n5$a2kwhY&C6`z@m$CZNb@ zA2?qk!PA=1T^*HAI;v$D+^4wKCmF^nskD2Iz3voxjG&Hs8rv#v=~p=AY)L<7OY~1I zT9H`!Z?B_nwtTpK3s~V{9iy;uGtrV$J5<3RYNgtfs3J_ui(scr5RxG9Zezd0>Dw<% zTaXcIW}1tleeRrSU!>vY!e{}5@rRCtb$;gF5+aM3BVV>Kcx@?224bQplQISqIE_Av z?E?W2OkP5RE1B}J_pY9#<6j6@5NILzGJ-*|R|S4y2*Ei!yTA*X4BfIiydzB>WPo}Q z?nIE_sDI4?pqBZao30BX4Eu%9P+U`iUFo+&!;WYZ!pzPjLfyf>bJ%B%&j1axK>Tr0 z3m*J%s5v7oU%L{!`IQbO%w6_=qq;9)$E&gjp<@WL^a6&Vi86&?)$GCj>76{uo<)1H zLd^-LG&oHs zdo394K?7!V=iQ>^s0Sv;wAMv}7-_z-ho91thP&@#=QN*fKc>NhXGuE%V7u`(0Oq8}Pn& zANZO2hy)e{iaNMR-Ivvp-3#VUWpRMZc^e)G&v!{I8l(Sk$h!$QmLvWXumbFo@X)5`k zzdoRp7)&sk`%as`#w%A3iY3P@NbLxVT}EiZ36~HEW0gp9arg2=p=AWV@yXHWH8`Vk zZGEU|woWp6SDjWuw7Bt_3jFtgSG4gMZm$BCU)c1;v<|X|I|zEZ&m(0enoF zd~{o>z7vcE=U7ra|VKa{Crz0=Mn)FVEN6!$4Gl64Ik9A5r#*KXZYnm))T#Qma zt~*Zjp!7cOX3DH?mD^UYyVlkSMjY2?PtM)?%H|`eI`6)@Q*b7KDs@AiSnlOP>aW^j z$Bn)QsqOSL5bpkKfKFrjZq_E15a=vnW>==2tzRw}_$9=Y4MTV&qf`e0(#yk=*WJLe-_3_6Jqg z^sG^2ZZRJiJ@S|lUVu%bYO?DkjW%=z6;PIUAHhDjt3x5XXyA?&0b%!Rs?TVn=sShmEaN81N;dD=TvoTAAO1FNzu zS_f7}Yv^g+z+R`}xph)bvkR(kMzzVf9Pi=P>%5)3XZMgHSUYj{OAO4Td@{CXS&`Ur z=xyebUAqExHkx`UO25IS>b`;^t4UpSJ8+PfC~2%{he`maWt%cZFT=C`VvoiCgTXZ= zRrNw$V8oFcuo+(NK-J}XGB+5}G}OEx;Mc9pGm+nfZWNt0ZW3jk29}EyKbFSS_>{Br##_E+x5=6l^3OnqU!iH2%)s81CFXmGaA~=aSivhaJ}Z z+DrFF%Z50_DMiv?wvRKv^I-Ehe7Q;5GeJ7M_Sg{KW0{4j>S~V@TbTgEbz6GdYu1cP z9jc8h1QT_=@74&!t0pb>wq(^tkq$|@Bs{WmPkDx=;;EGI&HxPwQP>A8Kf9@OO@+K$ z2dOoh&T2La;N%i%}^n`hh-hCYjy~=s5UT>tt z&p3IM8gx=;Ju)w09@*=yEAfqQxt87|@J^tNYEf^!lSExwi$(pr5;AZBUi3}!$0;oE z2Iz2BWxP;V+_2$}=h&3mqyjIjC~O$Z!(26~fRpqbFhTu{LI3Yr=fGI9m0uop34DCF*ylM4Tky#y|D1*2x_U};a|Jrfmc^1NTD(j=fVpN!v#a+ z_}5n%%oumJ>zGgM3|A>A{UB7ZyZ{9e{6i!EVxutx9RH;7cjo__0_%;76qqsQ928g8 faO1d+PXf7!&&8mnMnrrWi|XPnyog;7xwQTd5;YG6 diff --git a/src/demos/zdemo_excel3.w3mi.xml b/src/demos/zdemo_excel3.w3mi.xml index 051eff5..680c2c0 100644 --- a/src/demos/zdemo_excel3.w3mi.xml +++ b/src/demos/zdemo_excel3.w3mi.xml @@ -15,6 +15,7 @@ MI ZDEMO_EXCEL3 filename + 03_iTab.xlsx MI diff --git a/src/demos/zdemo_excel33.prog.abap b/src/demos/zdemo_excel33.prog.abap index adfe106..8e3add3 100644 --- a/src/demos/zdemo_excel33.prog.abap +++ b/src/demos/zdemo_excel33.prog.abap @@ -46,6 +46,7 @@ START-OF-SELECTION. io_worksheet = lo_worksheet CHANGING co_excel = lo_excel ) . + PERFORM set_column_headers USING lo_worksheet 'Client;Language;Country;Name;Nationality;Long name;Nationality'. lo_autofilter = lo_excel->add_new_autofilter( io_sheet = lo_worksheet ) . @@ -94,3 +95,20 @@ FORM load_fixed_data CHANGING ct_test TYPE ty_t005t_lines. APPEND ls_test TO ct_test. ENDLOOP. ENDFORM. + +FORM set_column_headers + USING io_worksheet TYPE REF TO zcl_excel_worksheet + iv_headers TYPE csequence + RAISING zcx_excel. + + DATA: lt_headers TYPE TABLE OF string, + lv_header TYPE string, + lv_tabix TYPE i. + + SPLIT iv_headers AT ';' INTO TABLE lt_headers. + LOOP AT lt_headers INTO lv_header. + lv_tabix = sy-tabix. + io_worksheet->set_cell( ip_row = 1 ip_column = lv_tabix ip_value = lv_header ). + ENDLOOP. + +ENDFORM.