z-!;ZDhu}$-$rdW|Y@)kDCb)~Tls3M2?L_YkA`X@sqvMMNQEV*kYH@b8e8C>9!6wql z&iSF7dp`Dt%V&-sV6p80x( zdoTgT%;`0!3=+aP?|xo;B@6S?EC~pB^ %B zi)Zx38OMpvGX{eMMnq=0o( 2v(W4>L)UaufKjSoE@A=(<^}w+SN3Y8n!i?HJh#Py6(QrAo zlInEzm5yu3FP7tey3om=uFlCZec~P`{iPDifh#(m72NX5!*mdqdoN3WhPD%bx*KE0 zo1fm$RqTJyQDuWhA{h@wvh?u%ZOA>$QD6&0M^h6uCr6O2`JbAx8CF1VXU9QWZeAvD z-?O (PKG9iPKIpqhDN5=GPY)RzokH9^v@oMG-|*xI}o+;ItPbwRFB&K zu3h>WJ-iT<2aPrNUca&M1K*RumBm+SB91$0{I%KxodNn4SRsYNal4%q1a)S5w9hG2 zS^3MAtoJ+x8ce=Z`*b;d3Tr@mv0wI*@dIrGrJuz?00}TXJK3tx$6c#3pISWdtqi?H z_{9KI6SWTt{CWI-R{C^2U%zyLlx;J*XSS#VrtLtkPx0)u;bGwZMG~=f`^NkCdXfzj zrk?3*TntTF2I%7LQxla88FQeXRFyQl4+xG3W+PH;QjvzEnuT59Y8*oMPvc%gBw$F% z-3hsaK=A#(lE}Xk4^2OG6?q5|=wTnk{U=Pyj&}B7He)+S)8FBNMCn k!}y^xki<=wIN{w|WjUenfn;&(^_FkW_u?X7Ok!OgCNXZB z=K%Vo3f00V&4iWqQ25 y`xwxNt?BN1*7uZ$olfxZFT6@%L@IRnOs#L6uCl+ zwSCulPy9|+DmbD9@41MvKBzj08b#Vxz`k@uvskNe`1$K(>nT+NL)XAlruMrNdR zac5n23b2pqvu;OoscPEhtuVPiL2 rVPhPSD ~+~e#CaQQ?1vuIQIbCnZ@wn~45O#! zwb=MUX^+fA {D<4MnXywslr2Rr)EhDmq);B9%9Y%&sqJmpRLp`Mk9J$0*k`C_ zhDcUs>L5~joKbG9zXW<*bp j| VC1h|Mc6gL~UqRG@*`JGaqH@b|K%U+)yYvFuArO&lG?9<0(eSPApq!clU#qIw z8}_``XJ`4B@OH#~h4)HDUD5`ToACV2DE`eZ>wuE792`6W!he4k@sO-PpN|jO`#;}I zJSKSTmj43>06xN{KT!OKcm5do*eCuA{B68Ha*ZE@AKPDl!Q#k&!2iVzd(89LBKpf? z@n9PL@1OYp45P;^kGJ!`EL`Y+SRU`{j|m>naDNFDAIj% kmuj; QXD|Rg5630=x4#GYACARjZU6uP literal 0 HcmV?d00001 diff --git a/src/EPPlusTest/Workbooks/sc1083-sdk.xlsx b/src/EPPlusTest/Workbooks/sc1083-sdk.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..3556173502672462fcc501241564efbf4ebe0507 GIT binary patch literal 10015 zcmeHNcUV))whz6FKok%}I)oM=bU}JaXrcF#Kqw*7K~Y4AAT20_8i>*nM3mkH=}PET zKtK>gMG!?n1lx<}+;cs0&b#0H-uvEP_wHo&PG k2C;l@ 7*OrAByr1b+e8LM1{D>oIi` E(0Ahh7OTNjT>xkn@HQ% zHm$DJGE_(zN!yn950fMtZ3e_apz4Vku-S;wu&LDJL9o$qW&bdA5IkTi1tNci&47(e zM$Amir mt7D}vqNjo0p2vZHcF$jkuX{952w$0}Ouh5qM#^Oe zw1tHi?6!^;(jw6f>3_QlAEkdSDk91v+%hVvk ^br8cJU$X$;pt(f_<)P-c;^)CP~sYx1Nj9 z0oOQz8)7dxOW6?|=y57AP^&eJDd|0vWim|ODzQ$krXV_$N#JSh%eU6>#4LO+w$J|( zyuubk2Y~;A3vwqDht0{j@RU65naH@{7L3A#fMtH1|APnr#vt&guKyqK05%MjA`Oj7 zj`T~3|1WU?tfQn$I?`uCGYWJn6&wY6h{UB1V66v+9*>$zLrtJk&?)l~Fl<^{d;n}D zEkPn mF)vTG40Sr#BQlI?rKAAl|*z# FL9ppY804;&MBSUiNzN z-0O9TpFi5Y+;0WxRpj@~YqQ+X-`5B2yZOS)(`VhWk{TvyOWIE?72zK1r{O+Z>506i zKcHMgDeB?lZj(!(v}6i0XrKVT!ulvs3R8DCxSz7Kj~RGUJv8+m`8*cD4lk!49Wo|? zn`|Z&6{_Ku<$7ybS44UsRxo+8?Qkh3!x=z+Bwqz#om-?4cGW lDD?v-6HZ*C z49dzQA2JC5RfbrBkqN^P&Sp5>{i8#c{ZwL~+~F1h U?rizzej zFpHFFD2sE7X_%>$R7$9{2`(k{hN&~o*>u>rcMbpFj)1l?qGDO|!RVx6H^P-XLW2 zW#qoduqUD`srMYwG_A?nQN^~$=z?0(E8@~)YD&}YCgv69-Aybkjk%kiPDs34k(^gk z(NdUPS6RU`yXIb5rB%XHpH*L10SKDBGr> J31uR jbi=3R z<|S319Ga#}zxrvx-N;lqgG^AI-XO{0kJE5|8Nym&0%%#gkO_!AP^(5CfzaU$ *e5SDUs32_%G?H=Futk+$S87*! zmm~d|DB|F{xCgW8PO{~oymnWz>;QdFNG}1!s60rI$dMyljnUy-ktGK%NrIIVL*y_9 zO(j02C@U*V%|=U4DS?7lmZXyDgK#t3Eh8r*os29;yvX;G-$LY)8nLWk5%Wwz%9m1T zd3Yy;1M(q5D^W@WqO8aY3@1arZzJs5Rojs=7~=syD9|JhRhGqB{0<0XPsdt?Sf(3W zT46GoGl5#`3Ls5Qo{}j@pDhW136!&kdPUvTK?Xy;9Bzl8&8}79>(cN#K?1W9-a 5b|^DR^~kL76fYeI#-) zMCP0e5BvFo$YB}vezACmb0Pia)(W<_4e2DJD+%|(;^kWXQ{Q{0A`Nv#;>eXkB5~|a zrO4{NflX#D8ELBf%G`G+81i7c7>OG-6$&~Q6>bQd47VflJg 2lCB5CM`m z|1^C*BCLV@L&kT`=-OUcfg}X*J8)@aB72iSP=7k+k`vFunJ` -(;u?^9_5xyxEX3X6Okfg!>6Mt9EqEPh6h*m~tg?-z(Eu1k z8jahQx8$(0Ox98-J4^kSFYGFYr-*ghD4u4_UqC(V48b>@768DV_>s{0EpQC=L7hc` ze>?v+<2D_flIIP8QQ#d-`u5WgptbG2JeWDNC!3-I8zs+!FxRU{*AxsOPg59T@ansz za3f kDkdbj^PM5Y&aM=i( znJNN0U*%ffe8lV_MhEXO->%4;k$bm?1}2(NOWm|6@?xuW@w#SfLbzV6$7b}U?sM?@ zl-QiN8H16`!wGKgA;iu)kg s!W4?(gRh{}bI+`5e>b-lh8}MElb)Wmkc3) QY(Vc&pXuhxUTHkM{u9n3aQ+s4>>Z-++LWN3s*R z YzgU{@WTh3*8z+Chx+g8?JEilZ z`YNl^yA;^1mx|17l=>OM@jS1RPEGYp`^=<*itX;a%X-UlqG2H-28*`0%icr|u-8;Q zMuujWQUQ$k^|8X&>_@hNDTPV8dL(g?5k7)G{Cr4;?2+M2M-;rG=korCsmvt$CtXH$ zS#8k_OFsBW-ZN$-=lVtSuF6X7o0=EH-@jWY^|+byX{bef3VGTTjGA@PCYdx{-0!iw zd}*)c!%Of|N932V$Gg7jGuz;(gO$F3j*bBhTr+*&hk%=H=MSFmH@SV=UiC=cGfOg1 zi!?$G-SGP~+d@Ke6~t-sl?Hgp;f~5l!Koie-~B8oA3c+m@FdU$bM;*~ql5>QtLuVd zGoRkN&Qar0yW&~E7R2DbR0Hku?M>t4cY$d`n>TJTojk`;DCD#x0K-x5afYPYAw#$g zW(y*&6zLUkn^gxshlD58phC~l%dNDUKLo8}B#5Vb*9DO*q*NSEM*?>@mFs e_`$&(!rN868Jn#H)sq0D3nqBT z?$?ak&);#i^NI(&3X5BxT&CL6**8vytz}#d==n;Qc|ZO*iG>+F_+n^RyIGUI>2n9? z*4el3_XooY$M~Q2Il5FWtX47YfeLrDq(Dzs(Qif&uDQ$w7H1` 1VmD9Hu^1N2M z(!`%gerrAX@r0l*T?&%5G5lV51Ej&ul`XX~Ku2d|NZ6t&)#uI$0j7I`g$Cg=QjW)u zo32M?-nKbDQwTtB-0AEl#jM%R@3wF90vfFoRuYG-!iB2`?wX9WcwKOkt#GBNPO`Vr zN?Xr*-Wqm3IMkt{-Jpzx-LZurTrZCsqkcJEaf(RvzU!n9W4Ry?tZXVQ825Q_-PxE; zwUk9+JQFKA5;V{9`V288WxVZ;8Dfbwdz%*>KS%>Ef~ctTBr9Bewq)S&0>r7&TP(E< z3zb()NbIc8g)W4zy_=cV;wTkJa%!N(zPl$fL+P;Jly;>g5BhKt#K)xZ#xWTe8qUO+ z?;E#UA%FQ|b-gE((Vn(~YPdmY+EYC^GOAdDN=1P8+U4603S!hFkQp7@silfUP`1lg zEsJUR<7= YANfg vt|Au93c~8U zg ;5g1g+ zk9e`fcHVzp<>)0h_wO;w_luH69?1*SY^YE&h9*-&V;)Sfqd3;|3tm}oA-}il!fL0> zUa2{BB=E9~5>+8WYWFv23`eccnUHwnl_?CYZEt%8=dYTZmo{~mL-ZcUN-i%vd} z{Psm?V<>U*5mhNIMeJs9q->eX=P0|A<@}2&=!#h7lnE@??CbWWhFpAWT|D((F~9u* zRyL6?wxRqk1)JVw)kfD+J!9s1xsf3f0wH{R_kO!|?xqU-O;3(>Icv6>PWw%)%0{vZ z*2XdHww!YGMr9e|*d?g)u2sG@r?6HOk7dp$?H%2%_9!9CO}~R7%zj{+A}sfa&1-QM zAV-2D!(+FS0}12L11IS232r {(r`>}pxTRvRC+hG=W z(qk{W_Z)0S*3n8^kX|h(2{-u=aNFzil}jh4pKuLu`E&?Ya?eRZo2P@- ~T9X_!^-d8{^U3ow%5?@ZwGXu4i^C94 zV|L&Y^N2}yg;UvA40;}-l?{2Sy{j8J+*p$jUf{kznG6?vG?`E@t$Eh@3XbX=jbrS% zNFS$9IDTQaqc >YZ}@F7AyN Y~99i4Y^ zFU8??xk}IbhbQ+@*T5SczQflj*?HT~)Ow?M^~e=_;jZ1KDcTo5Jh(y|FQ$ghTD{Dt z)U^Jw5Z7i??GUkz6?M(UG`g}c1vJjfvlK0VTbk2&r|C~|?yUCb*zMNUK)Y9Rb7@~z z`?6N&yb9hv;L*A`qLGr-
7G}hhv0L^i&2szl$?naw2ULRi5~e t^GV(0!4~83=qN&1;`_Bw+0h0QxHsbYso~1B1%= HcVY!bOE)8lF^=fBFJeV1$qns`w^y<){%iiT|?+lIv1{y5PC4+It zy>~cmrM@E?id>Jh{>X#=6)X&>mRX9(Eeqsw^!JW=ATS=fJ_uj`A9&&XYp2j(wM%?C zY0L}g=+}KHNhO}xS8q}Zjx8_`?JaLV`Nr1P?1AKjcD3Ht<|nAAwSt<7=9N_RBe@1| zgbJ}@@;i&c<0sw>yEh0~oJcq}OT1N_fsvvewjrj%f>S`RoS%lKtBXttIrZ|kVP0PV z>w=>1Dhh(Ql=z+J0Now;zP$g~1KIpmxF1727Y6>@{v_5d^X!pZ^vT&4Zt~SLz{3<3 zitt2)BETjHBnkud_X_yYG3&8GbPsv7#@ytd4C2?+OOA?-xd_C4>oz(eLaBjOWRNcX z?s~s6T$y?3*;Cb axqx204pc<{+TNf WXZ-NW7bQw=A%4$@I$+ z @$^A}c zkgco19_t3p08;0X03p`1t<1_Gz`^8c-pk8F%G&pn-vd|Nkm?K|1`@^;#KWPK%aY)& zm9?Bans$loYJY_w1eD=uBDsZ)9J3t#vlAi$1OMZLWas )*Id3YKx0yGKo!Szm#}Ix{ZhDsYRA(U-J!B*QW$= zH@x Vb=c `sfb z+U<$+jx@S|-jCjOCgP0s{A17ZeHyckGb~dY0rH;(JQs7T;}51kbjYfITixl|eSg6s zN@m~18zQpwt@az!AMQ&*DNPOo{{AVTKZfg%>)$*R1ULRw!LN@C{2}<`%0=G9{L{k& zhXoJsbN&>~A?J+`?Rp*-{&fT6rzimMh1}8qemmo^p2Ml?pPC$x{PR!zC2@UN%i+x1 zPc7qYf18Iptl;pn=cj^9asr*)ou7-K!=i_yyPu-#Jim(`j`a>}I2=a()X>fQn}%P4 zs>9NUgO;Dt_>=!4ggLC{S2q8t1OVvd`%TTS+ Date: Mon, 12 Oct 2026 16:46:28 +0200 Subject: [PATCH 2/2] Small fix in WorksheetXmlWriter --- src/EPPlus/Core/Worksheet/XmlWriter/WorksheetXmlWriter.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/EPPlus/Core/Worksheet/XmlWriter/WorksheetXmlWriter.cs b/src/EPPlus/Core/Worksheet/XmlWriter/WorksheetXmlWriter.cs index 13f1e9550c..28cea9635f 100644 --- a/src/EPPlus/Core/Worksheet/XmlWriter/WorksheetXmlWriter.cs +++ b/src/EPPlus/Core/Worksheet/XmlWriter/WorksheetXmlWriter.cs @@ -646,12 +646,13 @@ private void UpdateRowCellData(StreamWriter sw, string prefix) private void SetCalcAttributesForArrayFormula(bool hasFlags, CellStoreEnumerator cse, ref string mdAttrForFTag) { + // #2572: Reset so attributes from a previous cell are not carried over to this cell. + mdAttrForFTag = ""; //Set calc attributes for array formula. We preserve them from load only at this point. if (hasFlags) { if (_ws._flags.Exists(cse.Row, cse.Column)) { - mdAttrForFTag = ""; if (_ws._flags.GetFlagValue(cse.Row, cse.Column, CellFlags.CellFlagAlwaysCalculateArray)) { mdAttrForFTag = $" aca=\"1\""; @@ -663,6 +664,7 @@ private void SetCalcAttributesForArrayFormula(bool hasFlags, CellStoreEnumerator } } } + private string GenerateArrayFormulaXml(string cTag, string fTag, string cellAddress, string styleID, string mdAttr, string mdAttrForFTag, string refAddress, object value, string formula, string prefix) { var cellType = ConvertUtil.GetCellType(value, true);