From 141d64d6a27230d2b7224d26da272d0ff5600fa4 Mon Sep 17 00:00:00 2001 From: MarkBaker Date: Wed, 13 Jan 2016 22:38:34 +0000 Subject: [PATCH] Minor bugfixes and documentation changes --- .../PHPExcel developer documentation.doc | Bin 865792 -> 885248 bytes Documentation/markdown/Overview/08-Recipes.md | 24 ++++++++++-------- .../Chart/Renderer/PHP Charting Libraries.txt | 3 +++ src/PhpSpreadsheet/Reader/HTML.php | 2 +- 4 files changed, 17 insertions(+), 12 deletions(-) diff --git a/Documentation/PHPExcel developer documentation.doc b/Documentation/PHPExcel developer documentation.doc index 2c7c81a6e493f56d67a559654ec0d7380c2056e8..bd5c0cb32c7ce74e8a826da5179edbdd55df716e 100644 GIT binary patch delta 30824 zcmeI*2UHZ<+VJ}-D1zExz?{IGBVruKFy@>C22epTAtL6`=70%BDMm#x2T(Bfm@wyr z+0k*#2_q^d4B!9hrX8F)@BPks=bpRPU2B~6tKQvRy>nIVs@lbjds=DSq{^Y?Tko`2 zEdMeo${xZh@4kHf`c*!R;r#||L@eU437fG6Td@t>VZtxiv1$Aw)n-^|Sbm#AStIR~ zW*0Jc6&GKt%5TK!s&6`zE=O2@o7J{&Dym`GZ0k37t*9zCd{ux~`S$w=CN zk51_Y9@$hbE33%AzkYA|T%vBE@qGbR$z&_PX=0pM%o108ZOb}Tsku(ef2{7Ydlcn&2h01l z^3B9zQqu+W@{eqaRF~Y8W<~4T<|tT{EoceF7FU(7>8Q&7isH{lTX}85>!VX)KiIcO zFEuOw>Q^+!85X74*%v&lC`TNq?t)<@9dnu+^RxXPTT+;~$HBD6L4DoT=v04rFW>%d z1AKc79unj`*ez(_FgJhSK7RheZhZpW0tfa92p(M8ZJ57rkgr<>w?IA}>{g*%m5Ocy zd%N`rV4Yt6Zp8-%x%KEda7eIQ`LgaF0|t~R>(HjSuWx``dGq>}%2$&g zTXR!h-pE=#-2D6a_^=vzFKdeRQClz6Z=bcRIN8Q#vW@LF8?CO^VO%d&`3l8HRa7*^ zCp7d`l}2ccFl<7;-l~!xu1J1%=X%27J$JT8M@8J38!~souz`2{z1u&#)1p0J>FYJE zuf212|4iu~}-WnMfr~s`~gJZ0qWwRkb?$-pjVd z!mDVx_3~vjCw**Z7UgTQ@UF&Z1F8`k&|b@|$JMme^qCG?UAmK>kEDLmLG$pF63mA+ z_kAeAW^BPd+=rc?sx-kITt*&$Rq;euti}r@p?V)xse%1CfG^0>S5@}*RrT@ClHaVh zPI~Rvw&Zn_jgy|>rcKbJD%lp(%a!1Zs64h#6vRp2kWOo3%q4XxIk^jKP9%kWNSi`t zQjk>QEh#Dcczp-geyUOm?x+M0_`n~1&=>tM00Fpwk4V9%ekD}p!}AB%FCO22eP`^- zpXXi=`FYIGL#~Gegar5ngskk^?z(x~VWIEMNJV?qAmby8Xz5L#(rdP=zSK@D+~1Xw zf6LE%!q$99dXvAUr7D&Ct4doG9H1(N&=!Lbj-$AXdl(#`D#3_F9Nyv`vJIq$i)*Pp z!s|GdD>WRRj!ca?ZBs`d5NA_Nzj2Ju{|Lo9X=U{@Uv1MHrAMUqOj4BGpU9LoGgryb zD-Os#0w{b%>S|*w0`c8ckA_dC;a1 z-!xU(h*-oS`BC!a@l?%BM4X~brIM0U;DG&8$aPtBb(oBzckBbDs_F`3FL<(uSH z1~f|NI2ekakVDJXKMw^|*5L}S;)ju{(hD>38gF3DZe*J5W*W`5g5lVK_ozCCtfLin zLW)!*wOCKb(t+}76Jo4NNA;6WBk(J(;VUXkW~)aybo>sLMv#WEgEKNrr6v%CWsn9MlBR)D2zfeZt5f|AB#i@efOESQ5sz0YyC%j%2L8-LR94} z5-?|$szf6OPw@=TQGPb9i_Xw_!C1_|Y%Ihwtijq))kRrPU;}=^ z4(tpy&C9O^sD6~poRhu029t{+X>xR*aP1kYG7|f+A9s;!rmECJe=I;Es*=-okWxqq z(&oOxZ1c`O&$q*Av2Tad#pXSJLV0RXh6Q?50nOWs_01(7%xl^b7ofDhkdn`blzt!j zP#~!VDZQm|^ajG2=W?J$5C&r*_Rak+FEwbt79U96a-^?87NmEZUKG?atHzyaBB{%d zTVfEb5rz@|84_`#yv}2Eh0SOlM#Ulu`|tn_=kxmo97z#|`B;GKXc^8%h}LL>w&7}e zzQi=8q&8CRF26|qM%lNNkr(Pm zsY-kF#{eXu)G~HAh``R}92?Pm1uV#OzcdPftU9$ygc^uzR6gYmha-Y ziejKG+Tk3|qyB1DX@CVdi#%&oB`;=U4z{D>T2e(%=!n1(e1>5itzF)>rRCtUuNm8& z44?I=jHzSjn!6b5)x5#y=JSA>ZRKR3Jw3y_f)-_znzCjo;ZNC;EafKof0d<7BwZLq zPyyEL1ri>Fa9Fc?fbbzmb~CKwdoa4Yo^brG$ykxfG0G=np(6r6qriH$Yc#=DY{Pc+ zj8>J$F>J1Q0^>&3M=av87x!=<56~! zOj`nLuHDG3R&5>u?M)n>g+u+h$d%i62pK3*)mmo37SfKj$Jc{y*J}L56EJ z?Y2>hyf!tGqp1-^6Nxo4YeYjWktvV1F!BwN*OoF-`bU8>{vr z`-=Q}0oLzi7X@o9wTP(>#$z?E;31yiIle$8#&SrTVrnW%xjmfG>`AR2>v{Me1BW@5 zI{J1VZrzdOW?b*0$JWtW_v6>fAY8^342Wk3izr;gCD`v}_>A`GyN`W84&gAqLfua( z&>K3|AQ~GHkNrsA|3@R52NJ36XC52|I?2I}^H|gKx>^?1D4CMXyuyVv8IepJOp|z* z12pJCRat_ih{L2q3>`29_tEbNhaU_;%26%?!08y<0$h*{lMs%@ICM<)QjQXMfQNX5 zbjSGt>Y_dxAVoI}z{dH_66sY*BWKu=^o%^(W};eOimdp)h7+K(zxqy&Mm zmY^s(u7TFDmLit0l;jIsC`HyZC0avx9UjA(lGQ>>v_%K>MxUeKbr2cNnKvDCw=kck z1m0#yXTFYLe#^C-Vsb@cf*#*ctLw+_l?AZYp48YBL}Cl9mE@9IF+F)5Mr907Q!yE+ z6el!C5LRFdOxTGNC&^=Z8RsbXf)92J;O3ZmafC)=4aOlKQ zd_)R9q2oo<>Smg!>L;<5hBZcsiCC2FsS$kPH7`F%8<91V@)so{HWp;MM1O@3Cg30v zVRxA$;pIPV#ZLMSXFALCx-86{if&^*N^zFLphbF7>f7?;rH?Uy)z7Bbrq^%2wsp|s zTWWQUl5SsQBn@lYD+wP+O;;n`-j=i#e_p2`5*@FoN+)#2E%;xhtD`UOVA-$i+3_oW z!=`JTb6^X8x~?iiG3>gUK^acK@i%sRznMZ>X+u>nO8G6NC4{Z1>_|=NJ+Ic3cBQ6f zOA5QN8^NS7Bu#2J2xlY_NwwbfKQ=}#7gVJ_(hl*yyWZQDO@WKP4ED0I+JJ1-=h(K| zgf7G(IX7o~IjGoQfF@!v<#zq{#Vf;vb)~4obcWU0s zkq38lfgh&8n$LBFH{cfT!J6lfgfo%fez4}Byem)PdP`N@ZmC6;0tCh&^KCXbxS#^I zU@Nxaf@xI;t&8eq{V_i@|E@#oZ|Cuv_P5Q_{+943Ot?$sVJCLsB^>WjXdFc0`+wPF zYNzgki|Jk!7|xlu5vMD*mT`>v9YcI4-PJ*p19c|L1*E9Xnz!)+2?pO`4}m-Qg0DzV zqT?VL*@3i~aUc`>(`2a0eNKf?{2{gbNL8vl=E4N3VKb8NoVl|<`A+iojVl(lFM-N}`TGG9!J%0nk~n#0?uZkl%$Dai%o zNu*C;3Z~)%oS!fpc*>p-Yp@UJ@$Bgz+ot7MV2bLld8j#8!wY=<*ttBi)|4j=Tz2JAp0p2J!P z)2V|H#N$35pz13+&MQ?PlvO(QC80bjpfCENKSI#u4W|<5hI?p{%(a}i3@hGKq38@x3`7tny;tp($pr41CimAy zsa|CFy9Dk2l)!S{TNBumnur~VG>0S>f(axz5t4A8cO1>p45Q!CZ)NcG?e36yPyPK3 zBR;BR9sjdWAE+f%;djagY(z4oFxg-&Oi#kCKd>9c>5q(WaO0!-ytJ-d-z{c}3Y5*` z9_!u515{z%s%Qo4Z^sgzi>o;GM?6Zo6e=7w@B?aMHs)X{qOc6xkb+NW^ohnmS9HUg zPi!7RY#vVJO!*y;kz#TR)?TY6QwV>8$}jEVjGQO}Yl@OuREq8#s+G{ahiWZk;bhu4 zRBNNA|04&w^Jd$;dYMNyF?!q}EsN>ia4oOuEIHeb{kT9J!P*DiVU+g4`2rtY#Ah`8 zB$4kiogA%ssOcM$X(>ckKK)aaVu-n@7-`R2i!i8uG(j5~O9RpP3+RSV}NVwD~{ zNz1DzOwvZ`EhcMKHQV-%svZ-hmC`p&)>>pJQkjfeGXIx)nj-Zig=z^;^#7b%Pt&L; zm;QV*07uZA;zZ8W^o*feadX4!G_1W$wCJq|cCd9e9SG5WR852S8cM19xV?r;;a}Cy z`tZ+cMpMRcEx^Xcy_#ukgf>An@uiKLfw;_7N44o0H{0e(+aqRb`BZ1Vm+IVy^RiB` z_QLdKHusL@n+v#wPctwHe3$4FJyIP{QrP(G6a6Ol8+= z=T)P0uhAHT&5$2%#Wv(*MTsOg^1vEdC&Ch07f58?;f)^X1z-5V9|0JMKm=hhMqngH z&(S(6V+f2z6qaKpVz2?{aRD#z60eYgPbe6wDTPoRB~S_#P!V3CdVGxLmSf${tx1QH zRxVDG|H7s|mj8IslVY^`*|V8vnQ+fDGxt0dEdWE^?OCg0>0c&BB2$Okzzl}|CQ@@Sc0yUSlEG5(AJ&5od zeOV>jT&9X~+8MQ&7aw>d5Q7kmAsC8bc>U=0t>3PmPTlU<8XL);AiL3$aYf-Zf2L4H zVMdL-e!I7uT6Sx><$f<^&tcnFrfpc(rTE`gcaV$?#-G!Vmi4XwR$2qf)N)%jQ@O2n z?E+m?=7=fj73C)-!^?^UwK}Rk$J;)e9$nbJm5oOZ)91qW#u|FnTn2-K<$D|X-dDbQ z>urDbwTo?<7;2kiu+;}1cc`XkZtvhJs|{%H@B??>|FW89SuJ_8Wwq8*9MqyNc7IvT z&a&E)7|UuOV;p+sb+P};YWA{Pn53tjaL86(0(m|xNcX9el z1Wx+X#u>~JlxdRTUZh&bl;u%|FHR*B7#zvGMCRD>uPT;6=JNaw`6p|*F#A!j{x(B- zr^bBJ9QipG7BCHan<0aZr%X(ec{1iH4%0Y=3grYPoRQ-a%PlCmts&Rk<-)RDpOlM3 za_K@&bmg>6&Jkq9DT5(7Aj=L)HiKcIrr+LY@U*e(!1Tw?rWz?EW|a9^GK)xNw#fVv zndKo97M_l^+`yL`&T@lSZe_}CM!B~pH=X3JhTL(G%k6SqSu!G*5#Vz#^lsN&IM#}&uHCfKFg3HsSE*S;3NYj8SKb_M#e5ON|BL>j5*{;EJs^8 zuFCOGh726rTRdS5cc+vsjN zoGPX3NVRl=r>T}|7-;C)hGI`a41R?+hpZzPRWTNqkY%2#ltBf!qba-)v4%@M_y{M8 z8~{1FGq=7|)~}|r&W28QI?KZP6c@wG5=H0)?J)`wSc#K3hih=8gXEGci#-gW14G4^^{l=kBi9^TLoMP|B(Xc}a3V-&5GYSL)VGEjVsMb7aIZSgeKv8E2FQw@Efx++#};u_lYjyQm#x+->n>FE>KqLnni4(Nkm7QMf^x}h>NKT&?Mp^%_3505>ZK-qY};WAyt;mY*=_t zlZb;fi-_E1QG{j@4*M+JXcAH5s6`H%MC_(nM7j$WYi_VZ!~&W`WO;0nXrx^dVfW19 zTrwB4zA}+ju~*h*b}gOWJkwm>t^e*_^mp%KzI(UfyLTJEdl#GLU6U?M@%*K>A*Xsy zKUdq(m>2qlt6sg1p^56EPp)HFV9ZBOWCwAytfHL7N2ui#B@YUsC;DI;PU10=@EI!e zzwMC@>ky06xP)pI6r~ot;e#I;Kh!}GhTtHMR8)-01p+s58~2ce5BP|5?ux>}S8+xj z6hdK?#uGe8hDv;oUpOM6r~D0;e$gsf%|xZ^feVF3reFhyfFxaF&0LI;wj!j`%zJ{8Cm2& zK@>tIgdq~YARg|uNEioj3};cU4pod+=z!-)!Y6!%V_j+n24uwvT!!sWWE2MEgt1CJ z+6m|Db1=Z=22>;NA_>W`X-GT68I@2UjnEkZ7>de`6s0!0A{Z5$DoS<4U@M*>8IKr@ zy~KN@G^71DGDg{scpOGT3o?T1xQhpPioq>8f?+*2;}|ZWc`MoxGZ2PnNXFFGiZTa1 z+R%ZKu`P3iQ34gP6l>ZV>8%8A;1W+c+(225m6hR(0SLfQtU)YpArW7ZwF4t^xWNm4 zFk(7tb)-*W6Lv_r6a5P=o$1VYjr2xOa)zSlj2>|7q9~{O64BURL$pLZ&f+|7;1+BLk#XceZWKdBc%UX~qam6MqWygd48?HF!W=9_B-Y~- zT!R>1q5`U+2|B_L#|A6PRb0mdJcc2dCV(pnq8zHDF#=%3c!USj{t*OLU^TWt9l}8d zMNtv8(G1>0+2k+~BQXY1SdNX@gm@gsd8EKFjLi&%Pz2@Sj@r->Wn}RL&co?QD1fr4 z1#kG{5KiG&+{RNRBkKs-8ZFQP8xW8EIEAx#g*UJpNoPeixS=dOVEmDVCwgNxbnHa} z&f_5-;|+GNVqbt2?KuJKzzG?mu@MiEh&Ol#jUlH4f<3uSj4>FCshEaPEb?Tu9!Ve? zvDk%!IE14(g)=ydOSpwQc!@Vqx-c3?Iv9`{F35`9D1u_}KsD4ybF@Hfbn3$J(33zH z^gw?EU^K>ICgx)SA`pqCh{9@Y!WQhuVVuLSxQ0tzIgdfJZj4#c8Gh)8v1rnr$wo#N z9pQ^U7>u>pioH02Q@DoTk%%db*ykb)%diS2^zi0{92;OlJg(vf9^x@xA_aCmXdW1| zv2a64l!iN6qYJvBH+JD5zQD03H)4?;IZ+5j;EwT_fmxW3rC5h(?7$(MK?1JeMNiuQ z1A!Ez>qXlkA6!ua6;J~;(FiTk8C~E5e*|F^CSxk(DYW^BLIWS#8?E7sWmu05*o*x> zMkXf`xQ6?9i05$R(uF*>mKFKX939aeV=)o4FbCn-h+nW1$8ZaYc#4m(?aj#+GD5Dw z6hLv5HnOOUs%VBb2*M@Y#BC%Z2`TuDbbg$nAvr`xLui5a=!9PI#b6A>3`Aoa zw&OC4zp=Q7M7)PXAFcqQG=4xsv_nVqMt=-PC>CKIj^i0#!iEbz1>uR2*n=ZDjx+cb zx9}7n`qKXCxdh;hOvr_TC zfd^`!C0fH5V=>*xVg?qVC}-Pcu@I{uPk`;jKAgm9T*pm3!E1biO&|#)Bl4jD%D@9P z@e^906}qD*0x$u_SuExt63egw+pq`Ma32rx1|Q)xh=h;>c~BI^Q5p5n67pDDclcl! zMqoT9BNX!xg^Gh||LTLu0G1#g`%!5qx5dyGLy%(_J1F!-KLlVLCSW!~u?R8PhCSGa ze8Xu9v_*GZK_Uup6|yACjG+B%5vYUaXbDgFV-QAQG)jzQi@^FZTx!I?u}rPPNX*6w zT)<^KLL!o2OZ?8rgdC`VYN&|@7+_>E3}dkbE3g5v*pB14fJ?ZGw@}8>=E#Dq$b$no zg)_K<-|+~Ec#HS29nXFrE_e&MVq?rXfoei$_`(lC7>dzQCvs?oGjgE}JkSQ+P;U~o zhSu1dDs7>(Juin~S@5AYrfbv8pR z!zwh0plZ+n>#V06>*(0J9TA>TP7SsOz1Y)oY zg(BI^&>EiT3VA>%7)DIQOkBrP)LugKAppZL0wLIjeK>^E$g`B46yk6aZ;>O4T8T0; zoFXs}8?Yb8aSaaoD%%Ly?BPeyu^Bh;1uf#~#qdUd3`ZE&AQt;@8lHO@ z?V>NnVKQbT6p>hgSZv3B9L5>=?=#Zl_i+H)Pqm{S8ln$^Fak3%7mE>vb@<@`yJk#8 zIOMsEwTQ(597O`o;|^ZnJwC$z5JyDhKrSPTA}9?HR6#woL??K{4+Ah9qalw>cNz z$o(q0Ino0@n1VS7$2vq~J9gqAx*em&u?Q=V(f-i{;;|1WaTZr`4G-`f@9+V3$2smJ z8*-p9%AqQ%qam83170BopOO9q`wTqAYuKM;i-F5Y+CK*YHxxuQ{DfwBgU`@Tu?}*f zFp8rB-0=hIqXk->rpfTb88%tSgBfk$2_N*vXpF^NL|~(lMH~)8JxfPKM&y7iN}v?# z;3srIHw?xQgdk@E1wguU{1&b#2)T7A_o$xXC9<67NQi={j2bXDV9^9^A@>*MhE_gQ zz!XeJG~}s_T{w$#_zk!47?Bt0KUjIlj{DS>Bc8&J` zjll1Cj8{m(XUM}0eK8PYFb-1@ig}2_9o)xLB;y_AA%!f+gM285gE)l?c!J2t27?2J5;g3;}Ckf&pw|eEiqK;*drv#qi1zzJFJ|ovn&Tdc)rO^N_um^|HrBzg9A8&3wQwgd(;MUq7<^; zr&b`7HmcmG{i_kEhel|PaR@_)2ONmd0|W6EU!gu^_lbviiFZiY)QV z!3VuD2y!QQ8sc#PS8-iFOnyrHKV#>EhG>Ki==hxRJC;51|w`W0NmJv_u~ zyoF4*cSJViL{XGPP4vSM425y5EHDXEFc)I{n2L~>wEsK;3$PeVAyeezup9eu8E>H^u^pp6T0$Nh@I+6@l%)O$ z#0ZSWL`=bK%!Q7HSb^2pgsn-m|6T$Ia2DtB0FUt+?_hYvAr@6o4Gqx*ZO{P$h{G-% z!Z}>TP252e-ry^2UNg*t3-ZFv$f5>%AOJy_ft@&rBRC8BYjq<38>$_R&^|1 zGqzwGw&NG*7_dhNF|5Tp;?dQh-?GOK7`knFL>R!_7)|O8j{`;Bur~UtLJ@j9GZ_B6R z&kew%5`X#Z&+B~m{-6H;U3L7Y)%Um8|EK@|?JE2ad;It5{d@br|6U*Yr~SWgkN<4% z_4j}KPy7F^&F617*Z)7pKmTn1|E(JMr~Uu-CiJ(O=AZH3->Sa<1wRbOc!Xjh&fzK^A`u_) z74CVsQiBF)f-#tkxmbi~#Nrqda0~a4DK8h!F#^-_a#?6kJ`%w*H}0^ZPysGDj6WeeU*Kh}} zKQWI5eK8z!umU@A2KRq5a`}&dOFb^rp&>e8I40l#&fqRyU}Sx20gJH_`*9q04Tu9B z;fpbti?!H|3%HAqaBRq}B~(BcBa6P61szv$4{aI|8QL`F6)*7#Cz>!f4M9!WO3=F* zO@=CMs1;1WToh=_v;ipXs4+B0R}5)SAHZiAI#9zA9qBN*)rk^fduQ$+K=I^<2*4o7 z?A;j1tlT8XY}?9^Nwi}ilVcCy4Q#tI%>>Oc4LW2}tUqK9Y;VY1*X!MBf0^969Ot|# z8D#Qm5@gb9cF0`SN{~6Kevmn-IUsXS7eMBm?u5)Wy$YFPn!XopkCKonrHvs|Nqr$x zN9Q8H54R6wT4*Z*y&-c&_d%wJK0rZV+6jYTgiHa|AyYq(L#BMDK&E=SL1uO~M;Mku zW^_J*%;Ze($K4r!IxUtU3O8}z$l?t?KxSm-h0MtO5#8a3!5D$Dn1q#Bi_cK|5-B=E zW?r6!O+Vs7K~#iHtn37tP&ot9*npETUSv^p05`876C|5LCPdDFOoY4!nfRy%5FtuJ z<}rrL>p(V7$o$1!ka>&0LFOmshs;Ctf=oMHg2OlonP!*_rVknwuR%=b4rcSg=^>N= z6^GKJu@tNE5$Z7RJ>VzEbig?hnbMsdRHN{ z^xk3ecy7MH&p3fxL1x|MMj2Fw%)09inQhktK9HGqr;vbTe1uG@%Q%($R49PH)7T^- zlj)qMQ%cmp#t?29Kqk=@M-1X%{1{Fo=pDh{4Kmkk1NPxCWG>ls$W*WksJob(=ID!o z_y~tcngz`vGr9U>Hp1Y&gmob^wr1cgE+ROJ&!TAmO$1EHv5efIF#Jp;J%Y} z@iP|TB#h@++{Qz^!fVKUp{kg-o0Vb0Zg|GiEYJ~&&-jXRdr1)W(G(rf5i%=h38wF- z+97{MH4b|Za@YowWH>E2M7yIXWKv9hOvOydq!)MeI6^Z)=CDLT=C16;>Z8;i4&wxN z9piJz6cYR6^eGfUCv<~M5y^0Z&G{sq7A<62NLvC~PjUAYtf6#>NrIjEs(u znHV#W_Z&C3QSm&PMtgW-;stimIEe&2!Ar=52@_rWv!)AK@Zn)^OcyDA|B=0I+ScZA&h{C971%FWGp_zeCpMM`PNJaghGBYK zGlOQj+SCwXYs%Ez;BE8Aa|D;fh z%4gKF;bBLFV;kPU#g^v~5sV$U3WLVuhUktl*n|XVc04AA9vFw+xQ=Z0JalW%gK~oi z%*81@g@*%?Lx%}(k=>EZVF1?PC^Dww0XX!;1RTU&xbcTyYQu=7xPo`6mx1S-u??5t zYM^ii9+V3u5Qi_w@5D1_7>d()hN8~=U&k;Po1kPQ5%j|hoI?_-X5x=wU9QXE5IT)^U2d_a}lJb#Fvu>&c{lZP6?P;A2`WX((4 zVJO1!JHDWCJ|3_|3{Jt2pU1{A9?S3yPOhYZVL0HbxGQ%Elyu|aM@+^lyh4@&bS8|& ze%wZ}f;?ea(6q3nAyGAcX~FZJE%|dXt$0`+Em!eiI)bqiMLV#YMKz@B$R01%1vWYB zyaNN9k_bxm@60tw-3$vW|I-|UQ)#xz7p)D+;cX1}Fi*A7Z?`d2G2T-C+2sD&D|H@s(|9&F>4{69%<^S(9prxj%DSBXg!yVN@XQ$?> z+L)SmFdXqzv*=kj8QN;=e=M0(@4U%yF})c*n?{)o zOH`YEKBgQy3;{M3WKVn<@=umuYuk=vw8*|%SU&wD%xC)cU529dIwvvYWIr3h^W{oy z^B;ifAS?4eF7^GJ)c0>wU*D&`zENwN*UM>g+ilQn-B%5$<5$e>I@gwlan$~~2?ykL zj0nx6BFdg=2BVwrKb>LfxYyvN+FyFbx$rCN|Ee>e>Ek}bXq)Ya3?o&wqCV=dp{Q+0 zk&F7u!-fKGE#@S)X>m>^Dq`kO2|(hMS4qv*^4Ij_4^`$h|GCQl?Na^@=I-!|hC`Vp z+YQv=3NALL(&&}O+AV`IjG?!o%*K>46kASAH&A$ zLrOXs)w6msFAj-R!}@BfKB|<{ST$1rSjuUnI#nN1nlJ>_sCXz%mAc9y{(4;n<$!WSIicLdG35&1wO11K=rT^#GX5zt{dF0q z$?7%Jh_X&znvGL>{%@~E!`+=a7OLOCy@H2_dzqi=xK}AtsX_V5WvbP!TDMHSI&~Y= TsZ+IHeRmIc(@1xxDK`HH9^W4Y delta 13241 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,"profit","loss")' into the cell B8. Note that the formula must start with "=" to make PHPExcel recognise this as a formula. +The following line of code writes the formula '=IF(C4>500,"profit","loss")' into the cell B8. Note that the formula must start with "=" to make PHPExcel recognise this as a formula. ```php $objPHPExcel->getActiveSheet()->setCellValue('B8','=IF(C4>500,"profit","loss")'); ``` -If you want to write a string beginning with an "=" character to a cell, then you should use the setCellValueExplicit() method. +If you want to write a string beginning with an "=" character to a cell, then you should use the setCellValueExplicit() method. ```php $objPHPExcel->getActiveSheet() @@ -167,22 +167,22 @@ At present, the following locale settings are supported: Language | | Locale Code ---------------------|----------------------|------------- - Czech | Cetina | cs + Czech | Ceština | cs Danish | Dansk | da German | Deutsch | de - Spanish | Espaol | es + Spanish | Español | es Finnish | Suomi | fi - French | Franais | fr + French | Français | fr Hungarian | Magyar | hu Italian | Italiano | it Dutch | Nederlands | nl Norwegian | Norsk | no Polish | Jezyk polski | pl - Portuguese | Portugus | pt - Brazilian Portuguese | Portugus Brasileiro | pt_br + Portuguese | Português | pt + Brazilian Portuguese | Português Brasileiro | pt_br Russian | ??????? ???? | ru Swedish | Svenska | sv - Turkish | Trke | tr + Turkish | Türkçe | tr ### Write a newline character "\n" in a cell (ALT+"Enter") @@ -843,7 +843,7 @@ You can instruct PHPExcel to add a summary to the right (default), or to the lef $objPHPExcel->getActiveSheet()->setShowSummaryRight(false); ``` -### Setting a row''s height +### Setting a row's height A row's height can be set using the following code: @@ -851,6 +851,8 @@ A row's height can be set using the following code: $objPHPExcel->getActiveSheet()->getRowDimension('10')->setRowHeight(100); ``` +Excel measures row height in points, where 1 pt is 1/72 of an inch (or about 0.35mm). The default value is 12.75 pts; and the permitted range of values is between 0 and 409 pts, where 0 pts is a hidden row. + ### Show/hide a row To set a worksheet''s row visibility, you can use the following code. The following example hides row number 10. @@ -1059,7 +1061,7 @@ Sometimes, one really wants to output a file to a client''s browser, especially 2. Output HTTP headers for the type of document you wish to output 3. Use the PHPExcel_Writer_* of your choice, and save to "php://output" -PHPExcel_Writer_Excel2007 uses temporary storage when writing to php://output. By default, temporary files are stored in the script's working directory. When there is no access, it falls back to the operating system's temporary files location. +PHPExcel_Writer_Excel2007 uses temporary storage when writing to php://output. By default, temporary files are stored in the script's working directory. When there is no access, it falls back to the operating system's temporary files location. __This may not be safe for unauthorized viewing!__ Depending on the configuration of your operating system, temporary storage can be read by anyone using the same temporary storage folder. When confidentiality of your document is needed, it is recommended not to use php://output. @@ -1146,7 +1148,7 @@ To set a worksheet's zoom level, the following code can be used: $objPHPExcel->getActiveSheet()->getSheetView()->setZoomScale(75); ``` -Note that zoom level should be in range 10 – 400. +Note that zoom level should be in range 10 – 400. ### Sheet tab color diff --git a/src/PhpSpreadsheet/Chart/Renderer/PHP Charting Libraries.txt b/src/PhpSpreadsheet/Chart/Renderer/PHP Charting Libraries.txt index faaa61d1..9334f684 100644 --- a/src/PhpSpreadsheet/Chart/Renderer/PHP Charting Libraries.txt +++ b/src/PhpSpreadsheet/Chart/Renderer/PHP Charting Libraries.txt @@ -15,3 +15,6 @@ pChart TeeChart http://www.steema.com/products/teechart/overview.html + +PHPGraphLib + http://www.ebrueggeman.com/phpgraphlib \ No newline at end of file diff --git a/src/PhpSpreadsheet/Reader/HTML.php b/src/PhpSpreadsheet/Reader/HTML.php index e24478f8..c2c2ecca 100644 --- a/src/PhpSpreadsheet/Reader/HTML.php +++ b/src/PhpSpreadsheet/Reader/HTML.php @@ -488,7 +488,7 @@ class HTML extends BaseReader implements IReader // Reload the HTML file into the DOM object $loaded = $dom->loadHTML(mb_convert_encoding($this->securityScanFile($pFilename), 'HTML-ENTITIES', 'UTF-8')); if ($loaded === false) { - throw new Exception('Failed to load ', $pFilename, ' as a DOM Document'); + throw new Exception('Failed to load ' . $pFilename . ' as a DOM Document'); } // Discard white space