nfTlWNl rn Ѻq$³*4A8t+SjįF)&y8n6$Mýy#|RXFvs=1Oc!4gn&aIYuAFs *r 2PWV CӝINg|g~x {ᓲ/S,_JRnPQ?ltjd_?ɑ,O%' Ѻq$³*dm^̓|[N  ThVV$+e"=В\b#&vIAfKN;!dzY1P\TȤBNcnZXg\֣Ųz+K sLDRA8GT,lآ|C.mlz=Dnf=l3WT㑨}ub#PF- +ۅ K,}B4~??Ao+v* 2XP_XJ]ZXP׎u)Gp2es_GVmT.+s4Aۅ,*rfF26}8>]tF ^XVZcA8MlfhbN/(MP=gAXMЯ_H~Tx1{꓊<2ƹa<] |\-+,aʇh{k5 !핟Ղ w 贄7) V_ NN؎a97(%T`s='Ք5ib 8v(<8yI)<#)ɷ!-1ooт0i4IߕUzAEc2Zh t %}=a=^V;^uX?l#W\RB_OxPgS; gق* C,~_RVlmq1&g25srALrPBM6L4ae5NG'bXx$(uSWC沏mO!.Aap#)]Ss!Zucmf`-tTz@7;gS :)7FEb09`%X@C k#)ɷ!-1"KQBJwؐ&s +,aʇh{k5 !핟Ղ gBvĪa'M&k*\dz ϱ`ntBÉ15xިi+4fvd`GNu1cc RȥF@z ey7 !핟Ղ gBvĪa'M&k*\dz - L{S\i[,QT$[j *vtaIq 美f##}:`a[?{x v}b z+[_YSRx>I㤷MM 'HzvURF E˜e.J}zZ3e`Ԩ։+pr񹫦|O3ڜ<4a^uX?l>NQ+dU$,!;dwS?#i&1~&2Oen)Y>ԫͻ[=VUSMP' %G:,G80KٜWnO޵XeY1F)"B}Y_zxl<N"f=@ukX=!JTw0eɺMqhz® ds%qM;]7v~*핃&Μ6ݿl{бZVFM/ (=ʛ^kT/<`U2`o䂀i84ԸћE>h^he+GFc+c>W\d݄\wrZmgE5Δek*hÈC v2LT6m=wSHa8$XRD<᧫KI*#)ɷ!-1"KQBEZ.He}} EAzHrq0~5dg^B%ރ(pt6LGet}K/Gϝt+ y˭iH ȻK LmO1^C [89js`[a1VwǾ7׋{e]z]#]?JEд !핟Ղ ĠL @kq\uE N^O#sJ .[#=ptHh ,a]md[?::_{ν?B^лP T=o]ۥwf_3)RR|rgkFGtƞV 2=ҝc80N5xިi+4fvd`GNu1cc RȥFv G4ny_ᖑY[^8ۘJEAzHrq0~֡";rOUrЄ )ī:(:#.OgfD.ҝ Jaa8L zǨ*e9T=<}nf$0vF3V^out}ïA< 3Zm;T.mq3L;%;+_Y#bujϊܹCY*4[&iz-=wydm1ui#\vcB% B79g:m*7 ){5!u=XKy\9$ m4kn3VN2yԑA#)ɷ!-1"KQB`6@1oAo99^H\%>3*6g*YZ]$PzvEfSҿr#,̜DnDqnS@fo!X)ç~dpI%GW>~ )i{GA҅4=aNV(:,G80Kٜ1 Hi+ rH'=nx@﷮K :999 ~?Չb$WP8]~dpI%GW*abpk-km<۟~ e: ծrTa (üEgD䕪/w9'NP."T_m=j cŌzaIO 9;7F &)[0A< 3Zm;T&Fbpr(e:֛ :TNg U%]8b(Z !<+Nң_tk.0go))s̭5JV%dg!hDԾb Worksheet $worksheet): void { $selected = $worksheet->getSelectedCells(); if (preg_match('/^([a-z]+)([0-9]+)/i', $selected, $matches) === 1) { $colSel = Coordinate::columnIndexFromString($matches[1]) - 1; $rowSel = (int) $matches[2] - 1; $objWriter->startElement('config:config-item'); $objWriter->writeAttribute('config:name', 'CursorPositionX'); $objWriter->writeAttribute('config:type', 'int'); $objWriter->text((string) $colSel); $objWriter->endElement(); $objWriter->startElement('config:config-item'); $objWriter->writeAttribute('config:name', 'CursorPositionY'); $objWriter->writeAttribute('config:type', 'int'); $objWriter->text((string) $rowSel); $objWriter->endElement(); } } private function writeSplitValue(XMLWriter $objWriter, string $splitMode, string $type, string $value): void { $objWriter->startElement('config:config-item'); $objWriter->writeAttribute('config:name', $splitMode); $objWriter->writeAttribute('config:type', $type); $objWriter->text($value); $objWriter->endElement(); } private function writeFreezePane(XMLWriter $objWriter, Worksheet $worksheet): void { $freezePane = CellAddress::fromCellAddress($worksheet->getFreezePane()); if ($freezePane->cellAddress() === 'A1') { return; } $columnId = $freezePane->columnId(); $columnName = $freezePane->columnName(); $row = $freezePane->rowId(); $this->writeSplitValue($objWriter, 'HorizontalSplitMode', 'short', '2'); $this->writeSplitValue($objWriter, 'HorizontalSplitPosition', 'int', (string) ($columnId - 1)); $this->writeSplitValue($objWriter, 'PositionLeft', 'short', '0'); $this->writeSplitValue($objWriter, 'PositionRight', 'short', (string) ($columnId - 1)); for ($column = 'A'; $column !== $columnName; ++$column) { $worksheet->getColumnDimension($column)->setAutoSize(true); } $this->writeSplitValue($objWriter, 'VerticalSplitMode', 'short', '2'); $this->writeSplitValue($objWriter, 'VerticalSplitPosition', 'int', (string) ($row - 1)); $this->writeSplitValue($objWriter, 'PositionTop', 'short', '0'); $this->writeSplitValue($objWriter, 'PositionBottom', 'short', (string) ($row - 1)); $this->writeSplitValue($objWriter, 'ActiveSplitRange', 'short', '3'); } }