+ All Categories
Home > Documents > PHPExcel Documentation Formatos

PHPExcel Documentation Formatos

Date post: 04-Jun-2018
Category:
Upload: david-gonzalez
View: 264 times
Download: 0 times
Share this document with a friend

of 51

Transcript
  • 8/13/2019 PHPExcel Documentation Formatos

    1/51

    PHPExcel Developer Documentation

    Author: Maarten BalliauwVersion: 1.7.9Date: 19 May 2013

  • 8/13/2019 PHPExcel Documentation Formatos

    2/51

    1. Contents PHPExcel Developer Documentation............................................................................11. Content..........................................................................................................22. Prere!uiite.....................................................................................................3

    3. "rc#itecture.....................................................................................................$%. Creatin& a prea'#eet......................................................................................... 9(. Per)ormin& )ormula calculation............................................................................3$$. *ea'in& an' writin& to )ile...................................................................................3+7. Cre'it...........................................................................................................%9"ppen'ix ", -ali' array ey )or tyle apply/rom"rray...................................................(0

    PHPExcel Developer Documentation 2

  • 8/13/2019 PHPExcel Documentation Formatos

    3/51

    2. Prerequisites

    2.1. Software requirements#e )ollowin& o)tware i re!uire' to 'evelop uin& PHPExcel,

    PHP verion (.2.0 or newer PHP extenion p#p4ip ena5le' 6 PHP extenion p#pxml ena5le' PHP extenion p#p&'2 ena5le' i) not compile' in

    *) php_zipi only nee'e' 5y PHPExcel_Reader_Excel200 PHPExcel_!riter_Excel200 an'PHPExcel_Reader_""#alc . 8n ot#er wor' i) you nee' PHPExcel to #an'le .xlx or .o' )ile you will nee't#e 4ip extenion 5ut ot#erwie not.ou can remove t#i 'epen'ency )or writin& Excel2007 )ile t#ou not yet )or rea'in& 5y uin& t#e PC:;ipli5rary t#at i 5un'le' wit# PHPExcel.

  • 8/13/2019 PHPExcel Documentation Formatos

    4/51

  • 8/13/2019 PHPExcel Documentation Formatos

    5/51

    Protection on m$ (or%s"eet is not (or%in)5

    F#en you mae ue o) any o) t#e wor#eet protection )eature e.&. cell ran&e protectionpro#i5itin& 'eletin& row ... mae ure you ena5le wor#eet ecurity. #i can )or example 5e'one lie t#i,

    $objPHPExcel!getActi"eS#eet()!getPotection()!setS#eet(t%e);

    #eature X is not (or%in) (it" PHPExcel6ea!er7 / PHPExcel0riter*

    Aot all )eature o) PHPExcel are implemente' in all o) t#e *ea'er ? Friter clae. #i i motly'ue to un'erlyin& li5rarie not upportin& a peci)ic )eature or not #avin& implemente' a peci)ic)eature.

    /or example auto)ilter i not implemente' in PE"*

  • 8/13/2019 PHPExcel Documentation Formatos

    6/51

    9. +rc"itecture

    3.1. Schematical

    3.2. Laz Loader PHPExcel implement an autoloa'er or Jla4y loa'erK w#ic# mean t#at it i not neceary toinclu'e every )ile wit#in PHPExcel. 8t i only neceary to inclu'e t#e initial PHPExcel cla )ilet#en t#e autoloa'er will inclu'e ot#er cla )ile a an' w#en re!uire' o only t#oe )ile t#at areactually re!uire' 5y your cript will 5e loa'e' into PHP memory. #e main 5ene)it o) t#i i t#at itre'uce t#e memory )ootprint o) PHPExcel itel) o t#at it ue le PHP memory.

    8) your own cript alrea'y 'e)ine an autoloa' )unction t#en t#i may 5e overwritten 5y t#ePHPExcel autoloa' )unction. /or example i) you #ave,

    &%nction __a%toloa($class) ***+

    Do t#i intea',

    &%nction ,-A%toloa($class) ***+spl_a%toloa_egiste(.,-A%toloa.);

    our autoloa'er will t#en coexit wit# t#e autoloa'er o) PHPExcel.

    3.3. S!readsheet in memorPHPExcel> arc#itecture i 5uilt in a way t#at it can erve a an inmemory prea'#eet. #i meant#at i) one woul' want to create a we5 5ae' view o) a prea'#eet w#ic# communicate wit#PHPExcel> o5Xect mo'el #e woul' only #ave to write t#e )ronten' co'e.

    Lut lie 'etop prea'#eet o)tware PHPExcel repreent a prea'#eet containin& one or morewor#eet w#ic# contain cell wit# 'ata )ormula ima&e Y

    3.4. "eaders and writers

    In it own PHPExcel 'oe not provi'e t#e )unctionality to rea' )rom or write to a perite'prea'#eet on 'i or in a 'ata5ae. o provi'e t#at )unctionality rea'er an' writer can 5eue'.

    PHPExcel Developer Documentation $

  • 8/13/2019 PHPExcel Documentation Formatos

    7/51

    By 'e)ault t#e PHPExcel paca&e provi'e ome rea'er an' writer inclu'in& one )or t#e IpenZM: prea'#eet )ormat a..a. Excel 2007 )ile )ormat. ou are not limite' to t#e 'e)ault rea'eran' writer a you are )ree to implement t#e PHPExcelFriter8*ea'er an'PHPExcelFriter8Friter inter)ace in a cutom cla.

    3.#. $luent interfacesPHPExcel upport )luent inter)ace in mot location. #i mean t#at you can eaily Jc#ainK callto peci)ic met#o' wit#out re!uirin& a new PHP tatement. /or example tae t#e )ollowin& co'e,

    $objPHPExcel!getPopeties()!setCeato(/0aaten 1allia%2/);$objPHPExcel!getPopeties()!setLast0oi&ie1-(/0aaten 1allia%2/);

    PHPExcel Developer Documentation 7

  • 8/13/2019 PHPExcel Documentation Formatos

    8/51

    $objPHPExcel!getPopeties()!set3itle(/4&&ice 5667 8LS8 3est 9oc%,ent/);$objPHPExcel!getPopeties()!setS%bject(/4&&ice 5667 8LS8 3est 9oc%,ent/);$objPHPExcel!getPopeties()!set9esciption(/3est oc%,ent &o 4&&ice 5667 8LS8geneate %sing PHP classes*/);$objPHPExcel!getPopeties()!sete-2os(/o&&ice 5667 openx,l p#p/);$objPHPExcel!getPopeties()!setCatego-(/3est es%lt &ile/);

    #i can 5e rewritten a,

    $objPHPExcel!getPopeties() !setCeato(/0aaten 1allia%2/) !setLast0oi&ie1-(/0aaten 1allia%2/) !set3itle(/4&&ice 5667 8LS8 3est 9oc%,ent/) !setS%bject(/4&&ice 5667 8LS8 3est 9oc%,ent/) !set9esciption(/3est oc%,ent &o 4&&ice 5667 8LS8 geneate %singPHP classes*/) !sete-2os(/o&&ice 5667 openx,l p#p/) !setCatego-(/3est es%lt &ile/);

    3sin %luent inter%aces is not re4uired/luent inter)ace #ave 5een implemente' to provi'e a convenient pro&rammin& "P8. Ge o) t#em i notre!uire' 5ut can mae your co'e eaier to rea' an' maintain. 8t can alo improve per)ormance a you arere'ucin& t#e overall num5er o) call to PHPExcel met#o'.

    PHPExcel Developer Documentation +

  • 8/13/2019 PHPExcel Documentation Formatos

    9/51

    4. Creatin) a sprea!s"eet

    4.1. %he &'&()cel class#e PHPExcel cla i t#e core o) PHPExcel. 8t contain re)erence to t#e containe' wor#eet

    'ocument ecurity ettin& an' 'ocument meta 'ata.

    o impli)y t#e PHPExcel concept, t#e PHPExcel cla repreent your wor5oo.ypically you will create a wor5oo in one o) two way eit#er 5y loa'in& it )rom a prea'#eet)ile or creatin& it manually. " t#ir' option t#ou le commonly ue' i clonin& an exitin&wor5oo t#at #a 5een create' uin& one o) t#e previou two met#o'.

    4.1.1. Loa!in) a 0or%'oo% ,rom a ,ileDetail o) t#e 'i))erent prea'#eet )ormat upporte' an' t#e option availa5le to rea' t#em intoa PHPExcel o5Xect are 'ecri5e' )ully in t#e JPHPExcel Ger Documentation *ea'in&

  • 8/13/2019 PHPExcel Documentation Formatos

    10/51

    " eparate cac#e i maintaine' )or eac# in'ivi'ual wor#eet an' i automatically create' w#ent#e wor#eet i intantiate' 5ae' on t#e cac#in& met#o' an' ettin& t#at you #ave con)i&ure'.ou cannot c#an&e t#e con)i&uration ettin& once you #ave tarte' to rea' a wor5oo or #avecreate' your )irt wor#eet.

    Currently t#e )ollowin& cac#in& met#o' are availa5le.

    PHPExcelCac#e'I5Xectt initialie any cac#in& met#o' t#en t#i i t#e met#o' t#at PHPExcel willue. Cell o5Xect are maintaine' in PHP memory a at preent.

    PHPExcelCac#e'I5Xectt availa5le in mot #otin&environment.

    PHPExcelCac#e'I5Xect PHPExcel_Cac#e4bjectStoage aa-( .i. >! .?%s?local?t,p. );PHPExcel_Settings::setCac#eStoage0et#o($cac#e0et#o $cac#eSettings);

    #e temporary 'i )ile i automatically 'elete' w#en your cript terminate.

    PHPExcelCac#e'I5Xect PHPExcel_Cac#e4bjectStoage aa-( .,e,o-Cac#eSiBe. >! .01. );PHPExcel_Settings::setCac#eStoage0et#o($cac#e0et#o $cac#eSettings);

    #e p#p,??temp )ile i automatically 'elete' w#en your cript terminate.

    PHPExcelCac#e'I5Xect

  • 8/13/2019 PHPExcel Documentation Formatos

    11/51

    );PHPExcel_Settings::setCac#eStoage0et#o($cac#e0et#o $cac#eSettings);

    F#en your cript terminate all entrie will 5e cleare' )rom "PC re&ar'le o) t#e cac#eimevalue o it cannot 5e ue' )or peritent tora&e uin& t#i mec#anim.

    PHPExcelCac#e'I5Xect PHPExcel_Cac#e4bjectStoage aa-( .,e,cac#eSe"e. >! .local#ost. .,e,cac#ePot. >! @@5@@ .cac#e3i,e. >! D66 );PHPExcel_Settings::setCac#eStoage0et#o($cac#e0et#o $cac#eSettings);

    F#en your cript terminate all entrie will 5e cleare' )rom memcac#e re&ar'le o) t#e

    cac#eime value o it cannot 5e ue' )or peritent tora&e uin& t#i mec#anim.PHPExcelCac#e'I5Xect PHPExcel_Cac#e4bjectStoage aa-( .cac#e3i,e. >! D66 );PHPExcel_Settings::setCac#eStoage0et#o($cac#e0et#o $cac#eSettings);

    F#en your cript terminate all entrie will 5e cleare' )rom Fincac#e re&ar'le o) t#e cac#eimevalue o it cannot 5e ue' )or peritent tora&e uin& t#i mec#anim.

    PHPExcelCac#e'I5Xect .pt_b.;$"aliLocale > PHPExcel_Settings::setLocale($locale);i& ($"aliLocale)

    ec#o .Fnable to set locale to .*$locale*/ e"eting to en_%sGb ?!n/;+

    2ou mut #ave a memcac#e erver runnin& an' #ave ena5le' memcac#e )or your PHP to ue t#ioption.3ou mut #ave Fincac#e ena5le' )or PHP to ue t#i option.

    PHPExcel Developer Documentation 11

  • 8/13/2019 PHPExcel Documentation Formatos

    12/51

    8) Bra4ilian Portu&uee lan&ua&e )ile aren>t availa5le t#en t#e Portu&uee will 5e ena5le' intea',i) Portu&uee lan&ua&e )ile aren>t availa5le t#en t#e et:ocale met#o' will return an error an'"merican En&li# enu ettin& will 5e ue' t#rouout.More 'etail o) t#e )eature availa5le once a locale #a 5een et inclu'in& a lit o) t#e lan&ua&ean' locale currently upporte' can 5e )oun' in ection %.$.( :ocale limite'memory.#i can only 5e reolve' manually, i) you nee' to unet a wor5oo t#en you alo nee' to J5reaKt#ee cyclic re)erence 5e)ore 'oin& o. PHPExcel provi'e t#e 'iconnectFor#eet met#o' )ort#i purpoe.

    $objPHPExcel!isconnectoJs#eets();%nset($objPHPExcel);

    4.4. +orksheets" wor#eet i a collection o) cell )ormula> ima&e &rap# Y 8t #ol' all 'ata neceary torepreent a a prea'#eet wor#eet.

    F#en you loa' a wor5oo )rom a prea'#eet )ile it will 5e loa'e' wit# all it exitin& wor#eetunle you peci)ie' t#at only certain #eet #oul' 5e loa'e'. F#en you loa' )rom nonprea'#eet )ile uc# a a Ct i'enti)ywor#eet 5y name uc# a

  • 8/13/2019 PHPExcel Documentation Formatos

    13/51

    ou can c#an&e t#e currently active #eet 5y in'ex or 5y name uin& t#e et"ctive clone $objPHPExcel@!getS#eet1-=a,e(.oJs#eet @.);$objPHPExcel!aExtenalS#eet($objCloneoJs#eet);

    8n 5ot# cae it i t#e 'eveloper> reponi5ility to enure t#at wor#eet name are not'uplicate'. PHPExcel will t#row an exception i) you attempt to copy wor#eet t#at will reult in a'uplicate name.

    4.4.9. 6emovin) a 0or%s"eetou can 'elete a wor#eet )rom a wor5oo i'enti)ie' 5y it in'ex poition uin& t#eremove $objPHPExcel!getInex($objPHPExcel! getS#eet1-=a,e(.oJs#eet @.));$objPHPExcel!e,o"eS#eet1-Inex($s#eetInex);

    8) t#e currently active wor#eet i 'elete' t#en t#e #eet at t#e previou in'ex poition will5ecome t#e currently active #eet.

    4.#. -ccessing cells"ccein& cell in a PHPExcel wor#eet #oul' 5e pretty trait)orwar'. #i topic lit ome o)t#e option to acce a cell.

    4.=.1. ettin) a cell value '$ coor!inate setCellVal%emet#o'.$objPHPExcel!getActi"eS#eet()!setCellVal%e(.1. .So,e "al%e.);

    PHPExcel Developer Documentation 13

  • 8/13/2019 PHPExcel Documentation Formatos

    14/51

    4.=.2. 6etrievin) a cell '$ coor!inateo retrieve t#e value o) a cell t#e cell #oul' )irt 5e retrieve' )rom t#e wor#eet uin& t#egetCellmet#o'. " cell> value can 5e rea' a&ain uin& t#e )ollowin& line o) co'e,$objPHPExcel!getActi"eS#eet()!getCell(.1.)!getVal%e();

    8) you nee' t#e calculate' value o) a cell ue t#e )ollowin& co'e. #i i )urt#er explaine' in%.$.%1.$objPHPExcel!getActi"eS#eet()!getCell(.1.)!getCalc%lateVal%e();

    4.=.9. ettin) a cell value '$ column an! ro(setCellVal%e1-Col%,nAnRo2 met#o'.?? Set cell 1$objPHPExcel!getActi"eS#eet()!setCellVal%e1-Col%,nAnRo2(@ .So,e "al%e.);

    4.=.4. 6etrievin) a cell '$ column an! ro(o retrieve t#e value o) a cell t#e cell #oul' )irt 5e retrieve' )rom t#e wor#eet uin& t#egetCell1-Col%,nAnRo2 met#o'. " cell> value can 5e rea' a&ain uin& t#e )ollowin& line o)co'e,?? Ket cell 1$objPHPExcel!getActi"eS#eet()!getCell1-Col%,nAnRo2(@ )!getVal%e();

    8) you nee' t#e calculate' value o) a cell ue t#e )ollowin& co'e. #i i )urt#er explaine' in %.$.%1?? Ket cell 1$objPHPExcel!getActi"eS#eet()!getCell1-Col%,nAnRo2(@ )!getCalc%lateVal%e();

    4.=.=. Loopin) cells

    Loopin) cells usin) iterators

    #e eaiet way to loop cell i 5y uin& iterator. Gin& iterator one can ue )oreac# to loopwor#eet row an' cell.

    Below i an example w#ere we rea' all t#e value in a wor#eet an' 'iplay t#em in a ta5le.

    GNp#p$objReae > PHPExcel_I4 $objReae!loa(/test*xlsx/);$objoJs#eet > $objPHPExcel!getActi"eS#eet();

    ec#o .Gtable!. * /n/;&oeac# ($objoJs#eet!getRo2Iteato() as $o2) ec#o .Gt!. * /n/;

    $cellIteato > $o2!getCellIteato(); $cellIteato!setIteate4nl-ExistingCells(&alse); ?? 3#is loops all cells ?? e"en i& it is not set* ?? 1- e&a%lt onl- cells ?? t#at ae set 2ill be ?? iteate* &oeac# ($cellIteato as $cell) ec#o .Gt!. * $cell!getVal%e() * .G?t!. * /n/; +ec#o .G?t!. * /n/;

    +

    ec#o .G?table!. * /n/;N!

    PHPExcel Developer Documentation 1%

  • 8/13/2019 PHPExcel Documentation Formatos

    15/51

    Aote t#at we #ave et t#e cell iterator> setIteate4nl-ExistingCells()to )ale. #i maet#e iterator loop all cell even i) t#ey were not et 5e)ore.

    5he cell iterator /ill return nullas the cell i% it is not set in the /or,sheet6 setIteate4nl-ExistingCells()to &alsewill loop all cell in t#e wor#eett#at can 5e availa5le at t#at moment. #i will create new cell i) re!uire' an' increae memory ua&e_ Inly

    ue it i) it i inten'e' to loop all cell t#at are poi5ly availa5le.

    Loopin) cells usin) in!exes

    Ine can ue t#e poi5ility to acce cell value 5y column an' row in'ex lie 01 intea' o) "1)or rea'in& an' writin& cell value in loop.

    Aote, 8n PHPExcel column in'ex i 05ae' w#ile row in'ex i 15ae'. #at mean "1 ` 01Below i an example w#ere we rea' all t#e value in a wor#eet an' 'iplay t#em in a ta5le.

    GNp#p$objReae > PHPExcel_I4 $objReae!loa(/test*xlsx/);$objoJs#eet > $objPHPExcel!getActi"eS#eet();

    $#ig#estRo2 > $objoJs#eet!getHig#estRo2(); ?? e*g* @6$#ig#estCol%,n > $objoJs#eet!getHig#estCol%,n(); ?? e*g . PHPExcel_Cell::col%,nInex @; $o2 G> $#ig#estRo2; $o2) ec#o .Gt!. * /n/;

    &o ($col > 6; $col G> $#ig#estCol%,nInex; $col) ec#o .Gt!. * $objoJs#eet!getCell1-Col%,nAnRo2($col $o2)!getVal%e() *.G?t!. * /n/; +

    ec#o .G?t!. * /n/;+ec#o .G?table!. * /n/;N!

    4.=.>. ?sin) value 'in!ers to ,acilitate !ata entr$8nternally PHPExcel ue a 'e)ault PHPExcel_Cell_IVal%e1ine implementationPHPExcel_Cell_9e&a%ltVal%e1ine to 'etermine 'ata type o) entere' 'ata uin& a cell>setVal%e()met#o'.

    Iptionally t#e 'e)ault 5e#aviour o) PHPExcel can 5e mo'i)ie' allowin& eaier 'ata entry. /orexample a PHPExcel_Cell_A"anceVal%e1ine cla i preent. 8t automatically convertpercenta&e an' 'ate entere' a trin& to t#e correct )ormat alo ettin& t#e cell> tylein)ormation. #e )ollowin& example 'emontrate #ow to et t#e value 5in'er in PHPExcel,

    ? PHPExcel ?eQ%ie_once .PHPExcel*p#p.;

    ? PHPExcel_Cell_A"anceVal%e1ine ?eQ%ie_once .PHPExcel?Cell?A"anceVal%e1ine*p#p.;

    ? PHPExcel_I4

  • 8/13/2019 PHPExcel Documentation Formatos

    16/51

    ?? Set "al%e binePHPExcel_Cell::setVal%e1ine( ne2 PHPExcel_Cell_A"anceVal%e1ine() );

    ?? Ceate ne2 PHPExcel object$objPHPExcel > ne2 PHPExcel();

    ?? ***

    ?? A so,e ata ese,bling so,e i&&eent ata t-pes$objPHPExcel!getActi"eS#eet()!setCellVal%e(.A. .Pecentage "al%e:.);$objPHPExcel!getActi"eS#eet()!setCellVal%e(.1. .@6.); ?? Con"ets to 6*@ an sets pecentage cell st-le$objPHPExcel!getActi"eS#eet()!setCellVal%e(.AO. .9ate?ti,e "al%e:.);$objPHPExcel!getActi"eS#eet()!setCellVal%e(.1O. .5@ 9ece,be @TU.); ?? Con"ets to ate an sets ate &o,at cell st-le

    #reatin -our o/n 7alue +inder is eas-6F#en a'vance' value 5in'in& i re!uire' you can implement t#e PHPExcel_Cell_IVal%e1ineinter)ace or exten' t#e PHPExcel_Cell_9e&a%ltVal%e1ineorPHPExcel_Cell_A"anceVal%e1ineclae.

    4.. &'&()cel reci!es#e )ollowin& pa&e o))er you ome wi'elyue' PHPExcel recipe. Pleae note t#at t#ee 'o AIo))er complete 'ocumentation on peci)ic PHPExcel "P8 )unction 5ut Xut a 5ump to &et youtarte'. 8) you nee' peci)ic "P8 )unction pleae re)er to t#e "P8 'ocumentation.

    /or example %.$.9 pa&e orientation an' i4e cover ettin& a pa&e orientationto "%. It#er paper )ormat lie G< :etter are not covere' in t#i 'ocument 5ut in t#e PHPExcel"P8 'ocumentation.

    4.>.1. ettin) a sprea!s"eet8s meta!ataPHPExcel allow an eay way to et a prea'#eet> meta'ata uin& 'ocument property acceor..2. ettin) a sprea!s"eet8s active s"eet#e )ollowin& line o) co'e et t#e active #eet in'ex to t#e )irt #eet,$objPHPExcel!setActi"eS#eetInex(6);

    4.>.9. 0rite a !ate or time into a cell8n Excel 'ate an' ime are tore' a numeric value countin& t#e num5er o) 'ay elape' ince19000101. /or example t#e 'ate 200+1231 i repreente' a 39+13. ou can veri)y t#i inMicroo)t I))ice Excel 5y enterin& t#at 'ate in a cell an' a)terwar' c#an&in& t#e num5er )ormat toeneral o t#e true numeric value i reveale'. :iewie 3,1( "M i repreente' a 0.13(%17.

    PHPExcel wor wit# G

  • 8/13/2019 PHPExcel Documentation Formatos

    17/51

    Fritin& a 'ate value in a cell conit o) 2 line o) co'e.

  • 8/13/2019 PHPExcel Documentation Formatos

    18/51

    En&li# )unction name mut 5e ue'#i i re&ar'le o) w#ic# lan&ua&e verion o) Microo)t I))ice Excel may #ave 5een ue' to createt#e Excel )ile.

    F#en t#e )inal wor5oo i opene' 5y t#e uer Microo)t I))ice Excel will tae care o) 'iplayin&t#e )ormula accor'in& t#e application lan&ua&e. ranlation i taen care o) 5y t#e application_

    #e )ollowin& line o) co'e write t#e )ormula J8/C%^(00@pro)it@@lo@K into t#e cell B+. Aote t#att#e )ormula mut tart wit# JK to mae PHPExcel reco&nie t#i a a )ormula.$objPHPExcel!getActi"eS#eet()!setCellVal%e(.1..>I )ormula can 5e rea' a&ain uin& t#e )ollowin& line o) co'e,$&o,%la > $objPHPExcel!getActi"eS#eet()!getCell(.1.)!getVal%e();

    8) you nee' t#e calculate' value o) a cell ue t#e )ollowin& co'e. #i i )urt#er explaine' in%.$.%1.$"al%e > $objPHPExcel!getActi"eS#eet()!getCell(.1.)!getCalc%lateVal%e();

    4.>.=. Locale ettin)s ,or #ormulae .>XY[UD6(X\]\(56@6;5;O);X\]\(56@6;@5;U@);^]^Y\).;$intenal

    PHPExcel_Calc%lation::getInstance()!tanslate

  • 8/13/2019 PHPExcel Documentation Formatos

    19/51

    anuae ocale #ode.. C"an)e a cell into a clic%a'le ?6Lou can mae a cell a clica5le G*: 5y ettin& it #yperlin property,$objPHPExcel!getActi"eS#eet()!setCellVal%e(.E5D. .222*p#pexcel*net.);$objPHPExcel!getActi"eS#eet()!getCell(.E5D.)!getH-pelinJ()!setFl(.#ttp:??222*p#pexcel*net.);

    8) you want to mae a #yperlin to anot#er wor#eet?cell ue t#e )ollowin& co'e,$objPHPExcel!getActi"eS#eet()!setCellVal%e(.E5D. .222*p#pexcel*net.);$objPHPExcel!getActi"eS#eet()!getCell(.E5D.)!getH-pelinJ()!setFl(s#eet:??.S#eetna,e.A@M);

    4.>.. ettin) a (or%s"eet8s pa)e orientation an! sie

    pa&e orientation an' i4e can 5e 'one uin& t#e )ollowin& line o) co'e,

    PHPExcel Developer Documentation 19

  • 8/13/2019 PHPExcel Documentation Formatos

    20/51

    $objPHPExcel!getActi"eS#eet()!getPageSet%p()!set4ientation(PHPExcel_oJs#eet_PageSet%p::4RIE=3A3I4=_LA=9SCAPE);$objPHPExcel!getActi"eS#eet()!getPageSet%p()!setPapeSiBe(PHPExcel_oJs#eet_PageSet%p::PAPERSIZE_A);

    Aote t#at t#ere are a''itional pa&e ettin& availa5le. Pleae re)er to t#e "P8 'ocumentation )or all

    poi5le option.

    4.>.1-. Pa)e etup calin) options#e pa&e etup calin& option in PHPExcel relate 'irectly to t#e calin& option in t#e @Pa&e

  • 8/13/2019 PHPExcel Documentation Formatos

    21/51

    8) you ue set.11. Pa)e mar)ins

    o et pa&e mar&in )or a wor#eet ue t#i co'e,$objPHPExcel!getActi"eS#eet()!getPage0agins()!set3op(@);$objPHPExcel!getActi"eS#eet()!getPage0agins()!setRig#t(6*7O);$objPHPExcel!getActi"eS#eet()!getPage0agins()!setLe&t(6*7O);$objPHPExcel!getActi"eS#eet()!getPage0agins()!set1otto,(@);

    Aote t#at t#e mar&in value are peci)ie' in inc#e.

    4.>.12. Center a pa)e "oriontall$/verticall$o center a pa&e #ori4ontally?vertically you can ue t#e )ollowin& co'e,$objPHPExcel!getActi"eS#eet()!getPageSet%p()!setHoiBontalCentee(t%e);$objPHPExcel!getActi"eS#eet()!getPageSet%p()!setVeticalCentee(&alse);

    4.>.19. ettin) t"e print "ea!er an! ,ooter o, a (or%s"eet print #ea'er an' )ooter can 5e 'one uin& t#e )ollowin& line o) co'e,$objPHPExcel!getActi"eS#eet()!getHeae

  • 8/13/2019 PHPExcel Documentation Formatos

    22/51

  • 8/13/2019 PHPExcel Documentation Formatos

    23/51

  • 8/13/2019 PHPExcel Documentation Formatos

    24/51

    $objPHPExcel!getActi"eS#eet()!getSt-le(.15.)!get1oes()!get3op()!set1oeSt-le(PHPExcel_St-le_1oe::14R9ER_3HIC);$objPHPExcel!getActi"eS#eet()!getSt-le(.15.)!get1oes()!get1otto,()!set1oeSt-le(PHPExcel_St-le_1oe::14R9ER_3HIC);$objPHPExcel!getActi"eS#eet()!getSt-le(.15.)!get1oes()!getLe&t()!set1oeSt-le(PHPExcel_St-le_1oe::14R9ER_3HIC);

    $objPHPExcel!getActi"eS#eet()!getSt-le(.15.)!get1oes()!getRig#t()!set1oeSt-le(PHPExcel_St-le_1oe::14R9ER_3HIC);

    $objPHPExcel!getActi"eS#eet()!getSt-le(.15.)!get

  • 8/13/2019 PHPExcel Documentation Formatos

    25/51

  • 8/13/2019 PHPExcel Documentation Formatos

    26/51

    Here i #ow to ac#ieve wrap text,$objPHPExcel!getActi"eS#eet()!getSt-le(.A@:9.)

    !getAlign,ent()!setap3ext(t%e);

    4.>.21. ettin) t"e !e,ault st$le o, a (or%'oo%8t i poi5le to et t#e 'e)ault tyle o) a wor5oo. :et> et t#e 'e)ault )ont to "rial i4e +,

    $objPHPExcel!get9e&a%ltSt-le()!get

  • 8/13/2019 PHPExcel Documentation Formatos

    27/51

    8) you imultaneouly et e.&. all5or'er an' vertical t#en we #ave @overlappin&@ 5or'er an' one o)t#e component #a to win over t#e ot#er w#ere t#ere i 5or'er overlap. 8n PHPExcel )rom weaet totron&et 5or'er t#e lit i a )ollow, all5or'er outline?ini'e vertical?#ori4ontalle)t?rit?top?5ottom?'ia&onal.

    #i 5or'er #ierarc#y can 5e utili4e' to ac#ieve variou e))ect in an eay manner.

    4.>.29. Con!itional ,ormattin) a cell" cell can 5e )ormatte' con'itionally 5ae' on a peci)ic rule. /or example one can et t#e)ore&roun' colour o) a cell to re' i) it value i 5elow 4ero an' to &reen i) it value i 4ero or more.

    Ine can et a con'itional tyle ruleet to a cell uin& t#e )ollowin& co'e,$objConitional@ > ne2 PHPExcel_St-le_Conitional();

    $objConitional@!setConition3-pe(PHPExcel_St-le_Conitional::C4=9I3I4=_CELLIS);$objConitional@!set4peato3-pe(PHPExcel_St-le_Conitional::4PERA34R_LESS3HA=);$objConitional@!aConition(.6.);$objConitional@!getSt-le()!get

  • 8/13/2019 PHPExcel Documentation Formatos

    28/51

    $objPHPExcel!getActi"eS#eet()!getCo,,ent(.E@@.)!setA%t#o(.PHPExcel.);$objCo,,entRic#3ext > $objPHPExcel!getActi"eS#eet()!getCo,,ent(.E@@.)!get3ext()!ceate3extR%n(.PHPExcel:.);

    $objCo,,entRic#3ext!get

  • 8/13/2019 PHPExcel Documentation Formatos

    29/51

  • 8/13/2019 PHPExcel Documentation Formatos

    30/51

    #e meaure )or column wi't# in PHPExcel 'oe notcorrepon' exactly to t#e meaure you may 5e ue' to inMicroo)t I))ice Excel. Column wi't# are 'i))icult to 'eal wit# in Excel an' t#ere are everal meaure )or

    t#e column wi't#.1 ;nner /idth in character unitse.&. +.%3t#i i pro5a5ly w#at you are )amiliar wit# inExcel2 $ull /idth in pixelse.&. $% pixel3 $ull /idth in character unitse.&. 9.1%0$2(value 1 in'icate unet wi't#

    PHPExcel al/a-s operates /ith .9-. Froup/outline a columno &roup?outline a column you can ue t#e )ollowin& co'e,$objPHPExcel!getActi"eS#eet()!getCol%,n9i,ension(.E.)!set4%tlineLe"el(@);

    ou can alo collape t#e column. Aote t#at you #oul' alo et t#e column invii5le ot#erwie t#ecollape will not 5e vii5le in Excel 2007.$objPHPExcel!getActi"eS#eet()!getCol%,n9i,ension(.E.)!setCollapse(t%e);$objPHPExcel!getActi"eS#eet()!getCol%,n9i,ension(.E.)!setVisible(&alse);

    Pleae re)er to t#e part J&roup?outline a rowK )or a complete example on collapin&.

    ou can intruct PHPExcel to a'' a ummary to t#e rit 'e)ault or to t#e le)t. #e )ollowin&co'e a'' t#e ummary to t#e le)t,$objPHPExcel!getActi"eS#eet()!setS#o2S%,,a-Rig#t(&alse);

    4.>.91. ettin) a ro(8s "ei)"t" row> #eit can 5e et uin& t#e )ollowin& co'e,$objPHPExcel!getActi"eS#eet()!getRo29i,ension(.@6.)!setRo2Heig#t(@66);

    4.>.92. "o(/"i!e a ro(o et a wor#eet> row vii5ility you can ue t#e )ollowin& co'e. #e )ollowin& example #i'e rownum5er 10.$objPHPExcel!getActi"eS#eet()!getRo29i,ension(.@6.)!setVisible(&alse);

    PHPExcel Developer Documentation 30

  • 8/13/2019 PHPExcel Documentation Formatos

    31/51

  • 8/13/2019 PHPExcel Documentation Formatos

    32/51

    $obj9a2ing!set9esciption(.Pai.);$obj9a2ing!setPat#(.*?i,ages?pai*png.);$obj9a2ing!setCooinates(.1@O.);$obj9a2ing!set4&&set8(@@6);$obj9a2ing!setRotation(5O);$obj9a2ing!getS#ao2()!setVisible(t%e);$obj9a2ing!getS#ao2()!set9iection(O);

    ou can alo a'' ima&e create' uin& D )unction wit#out nee'in& to ave t#em to 'i )irt a 8nMemory 'rawin&.

    ?? Fse K9 to ceate an in,e,o- i,age$gI,age > i,ageceatet%ecolo(@56 56) o ie(.Cannot InitialiBe ne2 K9 i,agestea,.);$textColo > i,agecoloallocate($gI,age 5OO 5OO 5OO);i,agesting($gI,age @ O O .Ceate 2it# PHPExcel. $textColo);

    ?? A t#e In0e,o- i,age to a 2oJs#eet$obj9a2ing > ne2 PHPExcel_oJs#eet_0e,o-9a2ing();$obj9a2ing!set=a,e(.In0e,o- i,age @.);$obj9a2ing!set9esciption(.In0e,o- i,age @.);$obj9a2ing!setCooinates(.A@.);$obj9a2ing!setI,ageReso%ce($gI,age);$obj9a2ing!setReneing .png.; beaJ;

    case PHPExcel_oJs#eet_0e,o-9a2ing::0I0E3WPE_KI .gi&.; beaJ;

    case PHPExcel_oJs#eet_0e,o-9a2ing::0I0E3WPE_fPEK :$extension > .jpg.; beaJ;

    ++ else

    $BipReae > &open($a2ing!getPat#()..);$i,ageContents > ..;2#ile (&eo&($BipReae))

    $i,ageContents *> &ea($BipReae@65);+&close($BipReae);

    $extension > $a2ing!getExtension();+$,- .66_I,age_.*$i*.*.*$extension;

    PHPExcel Developer Documentation 32

  • 8/13/2019 PHPExcel Documentation Formatos

    33/51

    &ile_p%t_contents($,-.9. +!! ric" text to a cell"''in& ric# text to a cell can 5e 'one uin& PHPExcel_Ric#3extintance. Here> an examplew#ic# create t#e )ollowin& ric# text trin&,

    #i invoice ipayable within thirty days after the end of the monthunle peci)ie' ot#erwieon t#e invoice.

    $objRic#3ext > ne2 PHPExcel_Ric#3ext();$objRic#3ext!ceate3ext(.3#is in"oice is .);

    $objPa-able > $objRic#3ext!ceate3extR%n(.pa-able 2it#in t#it- a-s a&te t#e eno& t#e ,ont#.);$objPa-able!get.9. De,ine a name! ran)ePHPExcel upport t#e 'e)inition o) name' ran&e. #ee can 5e 'e)ine' uin& t#e )ollowin& co'e,?? A so,e ata$objPHPExcel!setActi"eS#eetInex(6);$objPHPExcel!getActi"eS#eet()!setCellVal%e(.A@. .

  • 8/13/2019 PHPExcel Documentation Formatos

    34/51

    H&&P "ea!ers

    Example o) a cript re'irectin& an Excel 2007 )ile to t#e client 5rower,

    GNp#p? Hee t#ee 2ill be so,e coe 2#ee -o% ceate $objPHPExcel ?

    ?? eiect o%tp%t to client bo2se#eae(.Content3-pe: application?"n*openx,l&o,atso&&iceoc%,ent*speas#eet,l*s#eet.);#eae(.Content9isposition: attac#,ent;&ilena,e>/,-&ile*xlsx/.);#eae(.Cac#eContol: ,axage>6.);

    $objite > PHPExcel_I4/,-&ile*xls/.);#eae(.Cac#eContol: ,axage>6.);

    $objite > PHPExcel_I4.42. ettin) t"e !e,ault ro( "ei)"tDe)ault row #eit can 5e et uin& t#e )ollowin& co'e,$objPHPExcel!getActi"eS#eet()!get9e&a%ltRo29i,ension()!setRo2Heig#t(@O);

    4.>.49. +!! a FD !ra(in) to a (or%s"eet#ere mit 5e a ituation w#ere you want to &enerate an inmemory ima&e uin& D an' a'' it toa PHPExcel wor#eet wit#out )irt #avin& to ave t#i )ile to a temporary location.

    Here> an example w#ic# &enerate an ima&e in memory an' a'' it to t#e active wor#eet,?? Keneate an i,age$gI,age > i,ageceatet%ecolo(@56 56) o ie(.Cannot InitialiBe ne2 K9 i,agestea,.);

    $textColo > i,agecoloallocate($gI,age 5OO 5OO 5OO);i,agesting($gI,age @ O O .Ceate 2it# PHPExcel. $textColo);

    PHPExcel Developer Documentation 3%

  • 8/13/2019 PHPExcel Documentation Formatos

    35/51

    ?? A a a2ing to t#e 2oJs#eet$obj9a2ing > ne2 PHPExcel_oJs#eet_0e,o-9a2ing();$obj9a2ing!set=a,e(.Sa,ple i,age.);$obj9a2ing!set9esciption(.Sa,ple i,age.);$obj9a2ing!setI,ageReso%ce($gI,age);$obj9a2ing!setReneing 4oom level t#e )ollowin& co'e can 5e ue',$objPHPExcel!getActi"eS#eet()!getS#eetVie2()!setZoo,Scale(7O);

    Aote t#at 4oom level #oul' 5e in ran&e 10 \ %00.

    4.>.4=. "eet ta' color #oul' tart at le)t or rit i'e. De)ault ile)t. Here i #ow to et column )rom rittole)t.

    ?? ig#ttole&t 2oJs#eet$objPHPExcel!getActi"eS#eet()

    !setRig#t3oLe&t(t%e);

    PHPExcel Developer Documentation 3(

  • 8/13/2019 PHPExcel Documentation Formatos

    36/51

    =. Per,ormin) ,ormula calculations

    #.1. Using the &'&()cel calculation engine" PHPExcel repreent an inmemory prea'#eet it alo o))er )ormula calculation capa5ilitie. "

    cell can 5e o) a value type containin& a num5er or text or a )ormula type containin& a )ormulaw#ic# can 5e evaluate'. /or example t#e )ormula @

  • 8/13/2019 PHPExcel Documentation Formatos

    37/51

    Di' you notice #e )ormula in t#e )ormer cell E11 now E13 a 8 inerte' 2 new row c#an&e' to@

  • 8/13/2019 PHPExcel Documentation Formatos

    38/51

  • 8/13/2019 PHPExcel Documentation Formatos

    39/51

  • 8/13/2019 PHPExcel Documentation Formatos

    40/51

    O,,ice 2--9 compati'ilit$ pac%

    Becaue o) a 5u& in t#e I))ice2003 compati5ility pac t#ere can 5e ome mall iue w#en openin&Excel2007 prea'#eet motly relate' to )ormula calculation. ou can ena5le I))ice2003compati5ility wit# t#e )ollowin& co'e,$objite > ne2 PHPExcel_ite_Excel5667($objPHPExcel);$objite!set4&&ice566UCo,patibilit-(t%e);

    $objite!sa"e(/6O&eat%ee,o*xlsx/);

    "%%ice200< co&pati+ilit- should onl- +e used /hen neededI))ice2003 compati5ility option #oul' only 5e ue' w#en nee'e'. #i option 'ia5le everal I))ice2007 )ile)ormat option reultin& in a lower)eature' I))ice2007 prea'#eet w#en t#i option i ue'.

    .3. ()cel # 7I$$6 file formatExcel( )ile )ormat i t#e ol' Excel )ile )ormat implemente' in PHPExcel to provi'e a uni)ormmanner to create 5ot# .xlx an' .xl )ile. 8t i 5aically a mo'i)ie' verion o) PE"* ne2 PHPExcel_Reae_ExcelO();$objPHPExcel > $objReae!loa(/6O&eat%ee,o*xls/);

    6ea! !ata onl$

    ou can et t#e option et*ea'DataInly on t#e rea'er to intruct t#e rea'er to i&nore tylin& 'atavali'ation Y an' Xut rea' cell 'ata,$objReae > ne2 PHPExcel_Reae_ExcelO();$objReae!setRea9ata4nl-(t%e);$objPHPExcel > $objReae!loa(/6O&eat%ee,o*xls/);

    6ea! speci,ic s"eets onl$

    ou can et t#e option et:oa'

  • 8/13/2019 PHPExcel Documentation Formatos

    41/51

    ?? Rea title o2 an o2s 56 U6i& ($o2 >> @ ($o2 !> 56 $o2 G> U6))

    et%n t%e;+

    et%n &alse;+

    +

    $objReae > ne2 PHPExcel_Reae_ExcelO();$objReae!setRea.9.2. PHPExcel0riterExcel=

    0ritin) a sprea!s"eet

    ou can write an .xl )ile uin& t#e )ollowin& co'e,$objite > ne2 PHPExcel_ite_ExcelO($objPHPExcel);$objite!sa"e(/6O&eat%ee,o*xls/);

    .4. ()cel 23 85L file formatExcel 2003 ZM: )ile )ormat i a )ile )ormat w#ic# can 5e ue' in ol'er verion o) Microo)t Excel.

    Excel 200< '( li&itations

    Pleae note t#at Excel 2003 ZM: )ormat #a ome limit re&ar'in& to tylin& cell an' #an'lin& lar&eprea'#eet via PHP.

    >.4.1. PHPExcel6ea!erExcel2--9XML

    6ea!in) a sprea!s"eet

    ou can rea' an .xml )ile uin& t#e )ollowin& co'e,$objReae > ne2 PHPExcel_Reae_Excel566U80L();$objPHPExcel > $objReae!loa(/6O&eat%ee,o*x,l/);

    6ea! speci,ic cells onl$

    ou can et t#e option et*ea'/ilter on t#e rea'er to intruct t#e rea'er to only loa' t#e cellw#ic# matc# a &iven rule. " rea' )ilter can 5e any cla w#ic# implementPHPExcel*ea'er8*ea'/ilter. By 'e)ault all cell are rea' uin& t#ePHPExcel*ea'erDe)ault*ea'/ilter.

    #e )ollowin& co'e will only rea' row 1 an' row 20 \ 30 o) any #eet in t#e Excel )ile,class 0-Rea> @ ($o2 !> 56 $o2 G> U6))

    et%n t%e;+

    et%n &alse;+

    +

    $objReae > ne2 PHPExcel_Reae_Excel566U80L();$objReae!setRea

  • 8/13/2019 PHPExcel Documentation Formatos

    42/51

    .#. Sm,olic Lin/ S9L/6.>.1. PHPExcel6ea!erOOCalc

    6ea!in) a sprea!s"eet

    ou can rea' an .o' )ile uin& t#e )ollowin& co'e,$objReae > ne2 PHPExcel_Reae_44Calc();$objPHPExcel > $objReae!loa(/6O&eat%ee,o*os/);

    6ea! speci,ic cells onl$

    ou can et t#e option et*ea'/ilter on t#e rea'er to intruct t#e rea'er to only loa' t#e cellw#ic# matc# a &iven rule. " rea' )ilter can 5e any cla w#ic# implementPHPExcel*ea'er8*ea'/ilter. By 'e)ault all cell are rea' uin& t#e

    PHPExcel*ea'erDe)ault*ea'/ilter.

    #e )ollowin& co'e will only rea' row 1 an' row 20 \ 30 o) any #eet in t#e Calc )ile,

    PHPExcel Developer Documentation %2

  • 8/13/2019 PHPExcel Documentation Formatos

    43/51

    class 0-Rea> @ ($o2 !> 56 $o2 G> U6))

    et%n t%e;+

    et%n &alse;+

    +

    $objReae > ne2 PHPExcel_Reae_44calc();$objReae!setRea

  • 8/13/2019 PHPExcel Documentation Formatos

    44/51

    $objReae!setLineEning(/n/);$objReae!setS#eetInex(O);$objReae!loaIntoExisting(/6O&eat%ee,o*cs"/ $objPHPExcel);

    >..2. PHPExcel0riterCI

    0ritin) a CI ,ileou can write a .cv )ile uin& t#e )ollowin& co'e,$objite > ne2 PHPExcel_ite_CSV($objPHPExcel);$objite!sa"e(/6O&eat%ee,o*cs"/);

    ettin) CI options

    I)ten C locale ettin& to 'eci'e w#at c#aracter to ue. But toavoi' pro5lem it i recommen'e' to et t#e c#aracter explicitly a #own 5elow.

    En&li# uer will want to ue t#i 5e)ore 'oin& t#e export,eQ%ie_once .PHPExcel?S#ae?Sting*p#p.PHPExcel_S#ae_Sting::set9eci,alSepaato(.*.);PHPExcel_S#ae_Sting::set3#o%sansSepaato(..);

    erman uer will want to ue t#e oppoite value.eQ%ie_once .PHPExcel?S#ae?Sting*p#p.PHPExcel_S#ae_Sting::set9eci,alSepaato(..);PHPExcel_S#ae_Sting::set3#o%sansSepaato(.*.);

    Aote t#at t#e a5ove co'e et 'ecimal an' t#ouan' eparator a &lo5al option. #i alo a))ect#ow HM: an' PD/ i exporte'.

    PHPExcel Developer Documentation %%

  • 8/13/2019 PHPExcel Documentation Formatos

    45/51

    ...1. PHPExcel6ea!erH&ML

    6ea!in) a sprea!s"eet

    ou can rea' an .#tml or .#tm )ile uin& t#e )ollowin& co'e,$objReae > ne2 PHPExcel_Reae_H30L();$objPHPExcel > $objReae!loa(/6O&eat%ee,o*#t,l/);

    H5( li&itationsPleae note t#at HM: rea'er i till experimental an' 'oe not yet upport mer&e' cell or nete' ta5le

    cleanly

    >..2. PHPExcel0riterH&ML

    Pleae note t#at PHPExcelFriterHM: only output t#e )irt wor#eet 5y 'e)ault.

    0ritin) a sprea!s"eet

    ou can write a .#tm )ile uin& t#e )ollowin& co'e,$objite > ne2 PHPExcel_ite_H30L($objPHPExcel);$objite!sa"e(/6O&eat%ee,o*#t,/);

    0rite all (or%s"eetsHM: )ile can contain one or more wor#eet. 8) you want to write all #eet into a in&le HM:)ile ue t#e )ollowin& co'e,$objite!2iteAllS#eets();

    0rite a speci,ic (or%s"eet

    HM: )ile can contain one or more wor#eet. #ere)ore you can peci)y w#ic# #eet to write toHM:,$objite!setS#eetInex(6);

    ettin) t"e ima)es root o, t"e H&ML ,ile

    #ere mit 5e ituation w#ere you want to explicitly et t#e inclu'e' ima&e root. /or exampleone mit want to ee Gi,g st-le>/position: elati"e; le&t: 6px; top: 6px; 2it#:@6px; #eig#t: 7px;/ sc>/http://www.domain.com/i,ages?logo*jpg/ boe>/6/!intea'o) Gi,g st-le>/position: elati"e; le&t: 6px; top: 6px; 2it#: @6px; #eig#t:7px;/ sc>/*?i,ages?logo*jpg/ boe>/6/!.

    ou can ue t#e )ollowin& co'e to ac#ieve t#i reult,$objite!setI,agesRoot(.#ttp:??222*exa,ple*co,.);

    #ormula preGcalculation

    By 'e)ault t#i writer precalculate all )ormula in t#e prea'#eet. #i can 5e low on lar&eprea'#eet an' may5e even unwante'. ou can #owever 'ia5le )ormula precalculation,$objite > ne2 PHPExcel_ite_H30L($objPHPExcel);

    $objite!setPeCalc%late

  • 8/13/2019 PHPExcel Documentation Formatos

    46/51

  • 8/13/2019 PHPExcel Documentation Formatos

    47/51

    verion 1.7.+ t#i wa remove'. 8ntea' you mut now intall a PD/ *en'erin& li5rary yourel)[ 5utPHPExcel will wor wit# a num5er o) 'i))erent li5rarie.Currently t#e )ollowin& li5rarie are upporte',

    i+rar-Version used%or testin Do/nloada+le %ro& PHPExcel ;nternal #onstant

    tcPD/ (.9 #ttp,??www.tcp').or&? PD/*EADE*E*CPD/mPD/ (.% #ttp,??www.mp')1.com?mp')? PD/*EADE*E*MPD/

    'omPD/ 0.$.0 5eta 3 #ttp,??co'e.&oo&le.com?p?'omp')? PD/*EADE*E*DIMPD/

    #e 'i))erent li5rarie #ave 'i))erent tren&t# an' weanee. PHPExcel_Settings::P9

  • 8/13/2019 PHPExcel Documentation Formatos

    48/51

    Decimal an! t"ousan!s separators

  • 8/13/2019 PHPExcel Documentation Formatos

    49/51

    . Cre!itsPleae re)er to t#e internet pa&e #ttp,??www.co'eplex.com?PHPExcel?Fii?-iew.apxtitleCre'itre)errin&itleHome)or upto'ate cre'it.

    PHPExcel Developer Documentation %9

    http://www.codeplex.com/PHPExcel/Wiki/View.aspx?title=Credits&referringTitle=Homehttp://www.codeplex.com/PHPExcel/Wiki/View.aspx?title=Credits&referringTitle=Homehttp://www.codeplex.com/PHPExcel/Wiki/View.aspx?title=Credits&referringTitle=Homehttp://www.codeplex.com/PHPExcel/Wiki/View.aspx?title=Credits&referringTitle=Home
  • 8/13/2019 PHPExcel Documentation Formatos

    50/51

    +ppen!ix + Iali! arra$ %e$s ,or st$le appl$#rom+rra$3#e )ollowin& ta5le lit t#e vali' array ey )or PHPExcel

  • 8/13/2019 PHPExcel Documentation Formatos

    51/51


Recommended