Overview

Packages

  • JAMA
  • None
  • PHP
  • PHPExcel
    • CachedObjectStorage
    • Calculation
    • Cell
    • Chart
      • Renderer
    • Reader
      • Excel2007
      • Excel5
    • RichText
    • Settings
    • Shared
      • Escher
      • OLE
      • Trend
      • ZipArchive
    • Style
    • Worksheet
      • Drawing
    • Writer
      • 2007
      • CSV
      • Excel2007
      • Excel5
      • HTML
      • PDF

Classes

  • CholeskyDecomposition
  • Dao
  • DateTime
  • DateTimeZone
  • DOMNode
  • EigenvalueDecomposition
  • Elemento
  • Historial
  • Irradiacion
  • Latitud
  • MotorPhp
  • Panel
  • PclZip
  • Periodo
  • PHPExcel
  • PHPExcel_Autoloader
  • PHPExcel_Best_Fit
  • PHPExcel_CachedObjectStorage_APC
  • PHPExcel_CachedObjectStorage_CacheBase
  • PHPExcel_CachedObjectStorage_DiscISAM
  • PHPExcel_CachedObjectStorage_Igbinary
  • PHPExcel_CachedObjectStorage_Memcache
  • PHPExcel_CachedObjectStorage_Memory
  • PHPExcel_CachedObjectStorage_MemoryGZip
  • PHPExcel_CachedObjectStorage_MemorySerialized
  • PHPExcel_CachedObjectStorage_PHPTemp
  • PHPExcel_CachedObjectStorage_SQLite
  • PHPExcel_CachedObjectStorage_SQLite3
  • PHPExcel_CachedObjectStorage_Wincache
  • PHPExcel_CachedObjectStorageFactory
  • PHPExcel_CalcEngine_CyclicReferenceStack
  • PHPExcel_CalcEngine_Logger
  • PHPExcel_Calculation
  • PHPExcel_Calculation_Database
  • PHPExcel_Calculation_DateTime
  • PHPExcel_Calculation_Engineering
  • PHPExcel_Calculation_ExceptionHandler
  • PHPExcel_Calculation_Financial
  • PHPExcel_Calculation_FormulaParser
  • PHPExcel_Calculation_FormulaToken
  • PHPExcel_Calculation_Function
  • PHPExcel_Calculation_Functions
  • PHPExcel_Calculation_Logical
  • PHPExcel_Calculation_LookupRef
  • PHPExcel_Calculation_MathTrig
  • PHPExcel_Calculation_Statistical
  • PHPExcel_Calculation_TextData
  • PHPExcel_Calculation_Token_Stack
  • PHPExcel_Cell
  • PHPExcel_Cell_AdvancedValueBinder
  • PHPExcel_Cell_DataType
  • PHPExcel_Cell_DataValidation
  • PHPExcel_Cell_DefaultValueBinder
  • PHPExcel_Cell_Hyperlink
  • PHPExcel_Chart
  • PHPExcel_Chart_DataSeries
  • PHPExcel_Chart_DataSeriesValues
  • PHPExcel_Chart_Layout
  • PHPExcel_Chart_Legend
  • PHPExcel_Chart_PlotArea
  • PHPExcel_Chart_Renderer_jpgraph
  • PHPExcel_Chart_Title
  • PHPExcel_Comment
  • PHPExcel_DocumentProperties
  • PHPExcel_DocumentSecurity
  • PHPExcel_Exponential_Best_Fit
  • PHPExcel_HashTable
  • PHPExcel_IOFactory
  • PHPExcel_Linear_Best_Fit
  • PHPExcel_Logarithmic_Best_Fit
  • PHPExcel_NamedRange
  • PHPExcel_Polynomial_Best_Fit
  • PHPExcel_Power_Best_Fit
  • PHPExcel_Reader_Abstract
  • PHPExcel_Reader_CSV
  • PHPExcel_Reader_DefaultReadFilter
  • PHPExcel_Reader_Excel2003XML
  • PHPExcel_Reader_Excel2007
  • PHPExcel_Reader_Excel2007_Chart
  • PHPExcel_Reader_Excel2007_Theme
  • PHPExcel_Reader_Excel5
  • PHPExcel_Reader_Excel5_Escher
  • PHPExcel_Reader_Excel5_MD5
  • PHPExcel_Reader_Excel5_RC4
  • PHPExcel_Reader_Gnumeric
  • PHPExcel_Reader_HTML
  • PHPExcel_Reader_OOCalc
  • PHPExcel_Reader_SYLK
  • PHPExcel_ReferenceHelper
  • PHPExcel_RichText
  • PHPExcel_RichText_Run
  • PHPExcel_RichText_TextElement
  • PHPExcel_Settings
  • PHPExcel_Shared_CodePage
  • PHPExcel_Shared_Date
  • PHPExcel_Shared_Drawing
  • PHPExcel_Shared_Escher
  • PHPExcel_Shared_Escher_DgContainer
  • PHPExcel_Shared_Escher_DgContainer_SpgrContainer
  • PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer
  • PHPExcel_Shared_Escher_DggContainer
  • PHPExcel_Shared_Escher_DggContainer_BstoreContainer
  • PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE
  • PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip
  • PHPExcel_Shared_Excel5
  • PHPExcel_Shared_File
  • PHPExcel_Shared_Font
  • PHPExcel_Shared_JAMA_LUDecomposition
  • PHPExcel_Shared_JAMA_Matrix
  • PHPExcel_Shared_JAMA_QRDecomposition
  • PHPExcel_Shared_OLE
  • PHPExcel_Shared_OLE_ChainedBlockStream
  • PHPExcel_Shared_OLE_PPS
  • PHPExcel_Shared_OLE_PPS_File
  • PHPExcel_Shared_OLE_PPS_Root
  • PHPExcel_Shared_OLERead
  • PHPExcel_Shared_PasswordHasher
  • PHPExcel_Shared_String
  • PHPExcel_Shared_TimeZone
  • PHPExcel_Shared_XMLWriter
  • PHPExcel_Shared_ZipArchive
  • PHPExcel_Shared_ZipStreamWrapper
  • PHPExcel_Style
  • PHPExcel_Style_Alignment
  • PHPExcel_Style_Border
  • PHPExcel_Style_Borders
  • PHPExcel_Style_Color
  • PHPExcel_Style_Conditional
  • PHPExcel_Style_Fill
  • PHPExcel_Style_Font
  • PHPExcel_Style_NumberFormat
  • PHPExcel_Style_Protection
  • PHPExcel_Style_Supervisor
  • PHPExcel_Worksheet
  • PHPExcel_Worksheet_AutoFilter
  • PHPExcel_Worksheet_AutoFilter_Column
  • PHPExcel_Worksheet_AutoFilter_Column_Rule
  • PHPExcel_Worksheet_BaseDrawing
  • PHPExcel_Worksheet_CellIterator
  • PHPExcel_Worksheet_ColumnDimension
  • PHPExcel_Worksheet_Drawing
  • PHPExcel_Worksheet_Drawing_Shadow
  • PHPExcel_Worksheet_HeaderFooter
  • PHPExcel_Worksheet_HeaderFooterDrawing
  • PHPExcel_Worksheet_MemoryDrawing
  • PHPExcel_Worksheet_PageMargins
  • PHPExcel_Worksheet_PageSetup
  • PHPExcel_Worksheet_Protection
  • PHPExcel_Worksheet_Row
  • PHPExcel_Worksheet_RowDimension
  • PHPExcel_Worksheet_RowIterator
  • PHPExcel_Worksheet_SheetView
  • PHPExcel_WorksheetIterator
  • PHPExcel_Writer_Abstract
  • PHPExcel_Writer_CSV
  • PHPExcel_Writer_Excel2007
  • PHPExcel_Writer_Excel2007_Chart
  • PHPExcel_Writer_Excel2007_Comments
  • PHPExcel_Writer_Excel2007_ContentTypes
  • PHPExcel_Writer_Excel2007_DocProps
  • PHPExcel_Writer_Excel2007_Drawing
  • PHPExcel_Writer_Excel2007_Rels
  • PHPExcel_Writer_Excel2007_RelsRibbon
  • PHPExcel_Writer_Excel2007_RelsVBA
  • PHPExcel_Writer_Excel2007_StringTable
  • PHPExcel_Writer_Excel2007_Style
  • PHPExcel_Writer_Excel2007_Theme
  • PHPExcel_Writer_Excel2007_Workbook
  • PHPExcel_Writer_Excel2007_Worksheet
  • PHPExcel_Writer_Excel2007_WriterPart
  • PHPExcel_Writer_Excel5
  • PHPExcel_Writer_Excel5_BIFFwriter
  • PHPExcel_Writer_Excel5_Escher
  • PHPExcel_Writer_Excel5_Font
  • PHPExcel_Writer_Excel5_Parser
  • PHPExcel_Writer_Excel5_Workbook
  • PHPExcel_Writer_Excel5_Worksheet
  • PHPExcel_Writer_Excel5_Xf
  • PHPExcel_Writer_HTML
  • PHPExcel_Writer_PDF
  • PHPExcel_Writer_PDF_Core
  • PHPExcel_Writer_PDF_DomPDF
  • PHPExcel_Writer_PDF_mPDF
  • PHPExcel_Writer_PDF_tcPDF
  • Provincia
  • Radiacion
  • SingularValueDecomposition
  • Sistema
  • trendClass
  • xajax
  • xajaxArgumentManager
  • xajaxCallableObject
  • xajaxCallableObjectPlugin
  • xajaxControl
  • xajaxControlContainer
  • xajaxCustomRequest
  • xajaxCustomResponse
  • xajaxEvent
  • xajaxEventPlugin
  • xajaxFunctionPlugin
  • xajaxIncludeClientScriptPlugin
  • xajaxLanguageManager
  • xajaxPlugin
  • xajaxPluginManager
  • xajaxRequest
  • xajaxRequestPlugin
  • xajaxResponse
  • xajaxResponseManager
  • xajaxResponsePlugin
  • xajaxScriptPlugin
  • xajaxUserFunction
  • XMLWriter

Interfaces

  • DateTimeInterface
  • Iterator
  • PHPExcel_CachedObjectStorage_ICache
  • PHPExcel_Cell_IValueBinder
  • PHPExcel_IComparable
  • PHPExcel_Reader_IReader
  • PHPExcel_Reader_IReadFilter
  • PHPExcel_RichText_ITextElement
  • PHPExcel_Writer_IWriter
  • Throwable
  • Traversable

Exceptions

  • Exception
  • PHPExcel_Calculation_Exception
  • PHPExcel_Chart_Exception
  • PHPExcel_Exception
  • PHPExcel_Reader_Exception
  • PHPExcel_Writer_Exception

Functions

  • acosh
  • agregar_elemento
  • asinh
  • atanh
  • borrar_elementos
  • borrar_gdm_ab
  • borrar_irradiacion
  • borrar_latitud
  • borrar_panel
  • borrar_periodo
  • borrar_pmp_min_pmp_max
  • borrar_radiacion
  • borrar_resumen
  • borrar_sistema
  • borrar_sombra
  • gdm_ab
  • grabar_resumen
  • historial
  • hypo
  • irradiacion
  • JAMAError
  • latitud
  • limpiar_historial
  • login
  • mb_str_replace
  • mostrar_energia_total_ch
  • mostrar_panel_md_th
  • mostrar_panel_th
  • mostrar_radiacion_md_th
  • mostrar_radiacion_th
  • mostrar_resumen_th
  • panel
  • PclZipUtilCopyBlock
  • PclZipUtilOptionText
  • PclZipUtilPathInclusion
  • PclZipUtilPathReduction
  • PclZipUtilRename
  • PclZipUtilTranslateWinPath
  • periodo
  • pmp_min_pmp_max
  • preparar_panel
  • preparar_radiacion
  • preparar_radiacion_media
  • radiacion
  • resumen
  • sistema
  • sombra
  • xajaxCompressFile
  • xajaxErrorHandler
  • Overview
  • Package
  • Class
  • Tree
  • Deprecated
  • Todo
  • Download
  1: <?php
  2: /**
  3:  * PHPExcel
  4:  *
  5:  * Copyright (c) 2006 - 2014 PHPExcel
  6:  *
  7:  * This library is free software; you can redistribute it and/or
  8:  * modify it under the terms of the GNU Lesser General Public
  9:  * License as published by the Free Software Foundation; either
 10:  * version 2.1 of the License, or (at your option) any later version.
 11:  *
 12:  * This library is distributed in the hope that it will be useful,
 13:  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 14:  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 15:  * Lesser General Public License for more details.
 16:  *
 17:  * You should have received a copy of the GNU Lesser General Public
 18:  * License along with this library; if not, write to the Free Software
 19:  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 20:  *
 21:  * @category   PHPExcel
 22:  * @package    PHPExcel_Writer_Excel2007
 23:  * @copyright  Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)
 24:  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt    LGPL
 25:  * @version    1.8.0, 2014-03-02
 26:  */
 27: 
 28: 
 29: /**
 30:  * PHPExcel_Writer_Excel2007_Style
 31:  *
 32:  * @category   PHPExcel
 33:  * @package    PHPExcel_Writer_Excel2007
 34:  * @copyright  Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)
 35:  */
 36: class PHPExcel_Writer_Excel2007_Style extends PHPExcel_Writer_Excel2007_WriterPart
 37: {
 38:     /**
 39:      * Write styles to XML format
 40:      *
 41:      * @param   PHPExcel    $pPHPExcel
 42:      * @return  string      XML Output
 43:      * @throws  PHPExcel_Writer_Exception
 44:      */
 45:     public function writeStyles(PHPExcel $pPHPExcel = null)
 46:     {
 47:         // Create XML writer
 48:         $objWriter = null;
 49:         if ($this->getParentWriter()->getUseDiskCaching()) {
 50:             $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory());
 51:         } else {
 52:             $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY);
 53:         }
 54: 
 55:         // XML header
 56:         $objWriter->startDocument('1.0','UTF-8','yes');
 57: 
 58:         // styleSheet
 59:         $objWriter->startElement('styleSheet');
 60:         $objWriter->writeAttribute('xml:space', 'preserve');
 61:         $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/spreadsheetml/2006/main');
 62: 
 63:             // numFmts
 64:             $objWriter->startElement('numFmts');
 65:             $objWriter->writeAttribute('count', $this->getParentWriter()->getNumFmtHashTable()->count());
 66: 
 67:                 // numFmt
 68:                 for ($i = 0; $i < $this->getParentWriter()->getNumFmtHashTable()->count(); ++$i) {
 69:                     $this->_writeNumFmt($objWriter, $this->getParentWriter()->getNumFmtHashTable()->getByIndex($i), $i);
 70:                 }
 71: 
 72:             $objWriter->endElement();
 73: 
 74:             // fonts
 75:             $objWriter->startElement('fonts');
 76:             $objWriter->writeAttribute('count', $this->getParentWriter()->getFontHashTable()->count());
 77: 
 78:                 // font
 79:                 for ($i = 0; $i < $this->getParentWriter()->getFontHashTable()->count(); ++$i) {
 80:                     $this->_writeFont($objWriter, $this->getParentWriter()->getFontHashTable()->getByIndex($i));
 81:                 }
 82: 
 83:             $objWriter->endElement();
 84: 
 85:             // fills
 86:             $objWriter->startElement('fills');
 87:             $objWriter->writeAttribute('count', $this->getParentWriter()->getFillHashTable()->count());
 88: 
 89:                 // fill
 90:                 for ($i = 0; $i < $this->getParentWriter()->getFillHashTable()->count(); ++$i) {
 91:                     $this->_writeFill($objWriter, $this->getParentWriter()->getFillHashTable()->getByIndex($i));
 92:                 }
 93: 
 94:             $objWriter->endElement();
 95: 
 96:             // borders
 97:             $objWriter->startElement('borders');
 98:             $objWriter->writeAttribute('count', $this->getParentWriter()->getBordersHashTable()->count());
 99: 
100:                 // border
101:                 for ($i = 0; $i < $this->getParentWriter()->getBordersHashTable()->count(); ++$i) {
102:                     $this->_writeBorder($objWriter, $this->getParentWriter()->getBordersHashTable()->getByIndex($i));
103:                 }
104: 
105:             $objWriter->endElement();
106: 
107:             // cellStyleXfs
108:             $objWriter->startElement('cellStyleXfs');
109:             $objWriter->writeAttribute('count', 1);
110: 
111:                 // xf
112:                 $objWriter->startElement('xf');
113:                     $objWriter->writeAttribute('numFmtId',  0);
114:                     $objWriter->writeAttribute('fontId',    0);
115:                     $objWriter->writeAttribute('fillId',    0);
116:                     $objWriter->writeAttribute('borderId',  0);
117:                 $objWriter->endElement();
118: 
119:             $objWriter->endElement();
120: 
121:             // cellXfs
122:             $objWriter->startElement('cellXfs');
123:             $objWriter->writeAttribute('count', count($pPHPExcel->getCellXfCollection()));
124: 
125:                 // xf
126:                 foreach ($pPHPExcel->getCellXfCollection() as $cellXf) {
127:                     $this->_writeCellStyleXf($objWriter, $cellXf, $pPHPExcel);
128:                 }
129: 
130:             $objWriter->endElement();
131: 
132:             // cellStyles
133:             $objWriter->startElement('cellStyles');
134:             $objWriter->writeAttribute('count', 1);
135: 
136:                 // cellStyle
137:                 $objWriter->startElement('cellStyle');
138:                     $objWriter->writeAttribute('name',      'Normal');
139:                     $objWriter->writeAttribute('xfId',      0);
140:                     $objWriter->writeAttribute('builtinId', 0);
141:                 $objWriter->endElement();
142: 
143:             $objWriter->endElement();
144: 
145:             // dxfs
146:             $objWriter->startElement('dxfs');
147:             $objWriter->writeAttribute('count', $this->getParentWriter()->getStylesConditionalHashTable()->count());
148: 
149:                 // dxf
150:                 for ($i = 0; $i < $this->getParentWriter()->getStylesConditionalHashTable()->count(); ++$i) {
151:                     $this->_writeCellStyleDxf($objWriter, $this->getParentWriter()->getStylesConditionalHashTable()->getByIndex($i)->getStyle());
152:                 }
153: 
154:             $objWriter->endElement();
155: 
156:             // tableStyles
157:             $objWriter->startElement('tableStyles');
158:             $objWriter->writeAttribute('defaultTableStyle', 'TableStyleMedium9');
159:             $objWriter->writeAttribute('defaultPivotStyle', 'PivotTableStyle1');
160:             $objWriter->endElement();
161: 
162:         $objWriter->endElement();
163: 
164:         // Return
165:         return $objWriter->getData();
166:     }
167: 
168:     /**
169:      * Write Fill
170:      *
171:      * @param   PHPExcel_Shared_XMLWriter   $objWriter      XML Writer
172:      * @param   PHPExcel_Style_Fill         $pFill          Fill style
173:      * @throws  PHPExcel_Writer_Exception
174:      */
175:     private function _writeFill(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style_Fill $pFill = null)
176:     {
177:         // Check if this is a pattern type or gradient type
178:         if ($pFill->getFillType() === PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR ||
179:             $pFill->getFillType() === PHPExcel_Style_Fill::FILL_GRADIENT_PATH) {
180:             // Gradient fill
181:             $this->_writeGradientFill($objWriter, $pFill);
182:         } elseif($pFill->getFillType() !== NULL) {
183:             // Pattern fill
184:             $this->_writePatternFill($objWriter, $pFill);
185:         }
186:     }
187: 
188:     /**
189:      * Write Gradient Fill
190:      *
191:      * @param   PHPExcel_Shared_XMLWriter   $objWriter      XML Writer
192:      * @param   PHPExcel_Style_Fill         $pFill          Fill style
193:      * @throws  PHPExcel_Writer_Exception
194:      */
195:     private function _writeGradientFill(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style_Fill $pFill = null)
196:     {
197:         // fill
198:         $objWriter->startElement('fill');
199: 
200:             // gradientFill
201:             $objWriter->startElement('gradientFill');
202:                 $objWriter->writeAttribute('type',      $pFill->getFillType());
203:                 $objWriter->writeAttribute('degree',    $pFill->getRotation());
204: 
205:                 // stop
206:                 $objWriter->startElement('stop');
207:                 $objWriter->writeAttribute('position', '0');
208: 
209:                     // color
210:                     $objWriter->startElement('color');
211:                     $objWriter->writeAttribute('rgb', $pFill->getStartColor()->getARGB());
212:                     $objWriter->endElement();
213: 
214:                 $objWriter->endElement();
215: 
216:                 // stop
217:                 $objWriter->startElement('stop');
218:                 $objWriter->writeAttribute('position', '1');
219: 
220:                     // color
221:                     $objWriter->startElement('color');
222:                     $objWriter->writeAttribute('rgb', $pFill->getEndColor()->getARGB());
223:                     $objWriter->endElement();
224: 
225:                 $objWriter->endElement();
226: 
227:             $objWriter->endElement();
228: 
229:         $objWriter->endElement();
230:     }
231: 
232:     /**
233:      * Write Pattern Fill
234:      *
235:      * @param   PHPExcel_Shared_XMLWriter           $objWriter      XML Writer
236:      * @param   PHPExcel_Style_Fill                 $pFill          Fill style
237:      * @throws  PHPExcel_Writer_Exception
238:      */
239:     private function _writePatternFill(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style_Fill $pFill = null)
240:     {
241:         // fill
242:         $objWriter->startElement('fill');
243: 
244:             // patternFill
245:             $objWriter->startElement('patternFill');
246:                 $objWriter->writeAttribute('patternType', $pFill->getFillType());
247: 
248:                 if ($pFill->getFillType() !== PHPExcel_Style_Fill::FILL_NONE) {
249:                     // fgColor
250:                     if ($pFill->getStartColor()->getARGB()) {
251:                         $objWriter->startElement('fgColor');
252:                         $objWriter->writeAttribute('rgb', $pFill->getStartColor()->getARGB());
253:                         $objWriter->endElement();
254:                     }
255:                 }
256:                 if ($pFill->getFillType() !== PHPExcel_Style_Fill::FILL_NONE) {
257:                     // bgColor
258:                     if ($pFill->getEndColor()->getARGB()) {
259:                         $objWriter->startElement('bgColor');
260:                         $objWriter->writeAttribute('rgb', $pFill->getEndColor()->getARGB());
261:                         $objWriter->endElement();
262:                     }
263:                 }
264: 
265:             $objWriter->endElement();
266: 
267:         $objWriter->endElement();
268:     }
269: 
270:     /**
271:      * Write Font
272:      *
273:      * @param   PHPExcel_Shared_XMLWriter       $objWriter      XML Writer
274:      * @param   PHPExcel_Style_Font             $pFont          Font style
275:      * @throws  PHPExcel_Writer_Exception
276:      */
277:     private function _writeFont(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style_Font $pFont = null)
278:     {
279:         // font
280:         $objWriter->startElement('font');
281:             //  Weird! The order of these elements actually makes a difference when opening Excel2007
282:             //      files in Excel2003 with the compatibility pack. It's not documented behaviour,
283:             //      and makes for a real WTF!
284: 
285:             // Bold. We explicitly write this element also when false (like MS Office Excel 2007 does
286:             // for conditional formatting). Otherwise it will apparently not be picked up in conditional
287:             // formatting style dialog
288:             if ($pFont->getBold() !== NULL) {
289:                 $objWriter->startElement('b');
290:                     $objWriter->writeAttribute('val', $pFont->getBold() ? '1' : '0');
291:                 $objWriter->endElement();
292:             }
293: 
294:             // Italic
295:             if ($pFont->getItalic() !== NULL) {
296:                 $objWriter->startElement('i');
297:                     $objWriter->writeAttribute('val', $pFont->getItalic() ? '1' : '0');
298:                 $objWriter->endElement();
299:             }
300: 
301:             // Strikethrough
302:             if ($pFont->getStrikethrough() !== NULL) {
303:                 $objWriter->startElement('strike');
304:                 $objWriter->writeAttribute('val', $pFont->getStrikethrough() ? '1' : '0');
305:                 $objWriter->endElement();
306:             }
307: 
308:             // Underline
309:             if ($pFont->getUnderline() !== NULL) {
310:                 $objWriter->startElement('u');
311:                 $objWriter->writeAttribute('val', $pFont->getUnderline());
312:                 $objWriter->endElement();
313:             }
314: 
315:             // Superscript / subscript
316:             if ($pFont->getSuperScript() === TRUE || $pFont->getSubScript() === TRUE) {
317:                 $objWriter->startElement('vertAlign');
318:                 if ($pFont->getSuperScript() === TRUE) {
319:                     $objWriter->writeAttribute('val', 'superscript');
320:                 } else if ($pFont->getSubScript() === TRUE) {
321:                     $objWriter->writeAttribute('val', 'subscript');
322:                 }
323:                 $objWriter->endElement();
324:             }
325: 
326:             // Size
327:             if ($pFont->getSize() !== NULL) {
328:                 $objWriter->startElement('sz');
329:                     $objWriter->writeAttribute('val', $pFont->getSize());
330:                 $objWriter->endElement();
331:             }
332: 
333:             // Foreground color
334:             if ($pFont->getColor()->getARGB() !== NULL) {
335:                 $objWriter->startElement('color');
336:                 $objWriter->writeAttribute('rgb', $pFont->getColor()->getARGB());
337:                 $objWriter->endElement();
338:             }
339: 
340:             // Name
341:             if ($pFont->getName() !== NULL) {
342:                 $objWriter->startElement('name');
343:                     $objWriter->writeAttribute('val', $pFont->getName());
344:                 $objWriter->endElement();
345:             }
346: 
347:         $objWriter->endElement();
348:     }
349: 
350:     /**
351:      * Write Border
352:      *
353:      * @param   PHPExcel_Shared_XMLWriter           $objWriter      XML Writer
354:      * @param   PHPExcel_Style_Borders              $pBorders       Borders style
355:      * @throws  PHPExcel_Writer_Exception
356:      */
357:     private function _writeBorder(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style_Borders $pBorders = null)
358:     {
359:         // Write border
360:         $objWriter->startElement('border');
361:             // Diagonal?
362:             switch ($pBorders->getDiagonalDirection()) {
363:                 case PHPExcel_Style_Borders::DIAGONAL_UP:
364:                     $objWriter->writeAttribute('diagonalUp',    'true');
365:                     $objWriter->writeAttribute('diagonalDown',  'false');
366:                     break;
367:                 case PHPExcel_Style_Borders::DIAGONAL_DOWN:
368:                     $objWriter->writeAttribute('diagonalUp',    'false');
369:                     $objWriter->writeAttribute('diagonalDown',  'true');
370:                     break;
371:                 case PHPExcel_Style_Borders::DIAGONAL_BOTH:
372:                     $objWriter->writeAttribute('diagonalUp',    'true');
373:                     $objWriter->writeAttribute('diagonalDown',  'true');
374:                     break;
375:             }
376: 
377:             // BorderPr
378:             $this->_writeBorderPr($objWriter, 'left',       $pBorders->getLeft());
379:             $this->_writeBorderPr($objWriter, 'right',      $pBorders->getRight());
380:             $this->_writeBorderPr($objWriter, 'top',        $pBorders->getTop());
381:             $this->_writeBorderPr($objWriter, 'bottom',     $pBorders->getBottom());
382:             $this->_writeBorderPr($objWriter, 'diagonal',   $pBorders->getDiagonal());
383:         $objWriter->endElement();
384:     }
385: 
386:     /**
387:      * Write Cell Style Xf
388:      *
389:      * @param   PHPExcel_Shared_XMLWriter           $objWriter      XML Writer
390:      * @param   PHPExcel_Style                      $pStyle         Style
391:      * @param   PHPExcel                            $pPHPExcel      Workbook
392:      * @throws  PHPExcel_Writer_Exception
393:      */
394:     private function _writeCellStyleXf(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style $pStyle = null, PHPExcel $pPHPExcel = null)
395:     {
396:         // xf
397:         $objWriter->startElement('xf');
398:             $objWriter->writeAttribute('xfId', 0);
399:             $objWriter->writeAttribute('fontId',            (int)$this->getParentWriter()->getFontHashTable()->getIndexForHashCode($pStyle->getFont()->getHashCode()));
400:             if ($pStyle->getQuotePrefix()) {
401:                 $objWriter->writeAttribute('quotePrefix',       1);
402:             }
403: 
404:             if ($pStyle->getNumberFormat()->getBuiltInFormatCode() === false) {
405:                 $objWriter->writeAttribute('numFmtId',          (int)($this->getParentWriter()->getNumFmtHashTable()->getIndexForHashCode($pStyle->getNumberFormat()->getHashCode()) + 164)   );
406:             } else {
407:                 $objWriter->writeAttribute('numFmtId',          (int)$pStyle->getNumberFormat()->getBuiltInFormatCode());
408:             }
409: 
410:             $objWriter->writeAttribute('fillId',            (int)$this->getParentWriter()->getFillHashTable()->getIndexForHashCode($pStyle->getFill()->getHashCode()));
411:             $objWriter->writeAttribute('borderId',          (int)$this->getParentWriter()->getBordersHashTable()->getIndexForHashCode($pStyle->getBorders()->getHashCode()));
412: 
413:             // Apply styles?
414:             $objWriter->writeAttribute('applyFont',         ($pPHPExcel->getDefaultStyle()->getFont()->getHashCode() != $pStyle->getFont()->getHashCode()) ? '1' : '0');
415:             $objWriter->writeAttribute('applyNumberFormat', ($pPHPExcel->getDefaultStyle()->getNumberFormat()->getHashCode() != $pStyle->getNumberFormat()->getHashCode()) ? '1' : '0');
416:             $objWriter->writeAttribute('applyFill',         ($pPHPExcel->getDefaultStyle()->getFill()->getHashCode() != $pStyle->getFill()->getHashCode()) ? '1' : '0');
417:             $objWriter->writeAttribute('applyBorder',       ($pPHPExcel->getDefaultStyle()->getBorders()->getHashCode() != $pStyle->getBorders()->getHashCode()) ? '1' : '0');
418:             $objWriter->writeAttribute('applyAlignment',    ($pPHPExcel->getDefaultStyle()->getAlignment()->getHashCode() != $pStyle->getAlignment()->getHashCode()) ? '1' : '0');
419:             if ($pStyle->getProtection()->getLocked() != PHPExcel_Style_Protection::PROTECTION_INHERIT || $pStyle->getProtection()->getHidden() != PHPExcel_Style_Protection::PROTECTION_INHERIT) {
420:                 $objWriter->writeAttribute('applyProtection', 'true');
421:             }
422: 
423:             // alignment
424:             $objWriter->startElement('alignment');
425:                 $objWriter->writeAttribute('horizontal',    $pStyle->getAlignment()->getHorizontal());
426:                 $objWriter->writeAttribute('vertical',      $pStyle->getAlignment()->getVertical());
427: 
428:                 $textRotation = 0;
429:                 if ($pStyle->getAlignment()->getTextRotation() >= 0) {
430:                     $textRotation = $pStyle->getAlignment()->getTextRotation();
431:                 } else if ($pStyle->getAlignment()->getTextRotation() < 0) {
432:                     $textRotation = 90 - $pStyle->getAlignment()->getTextRotation();
433:                 }
434:                 $objWriter->writeAttribute('textRotation',  $textRotation);
435: 
436:                 $objWriter->writeAttribute('wrapText',      ($pStyle->getAlignment()->getWrapText() ? 'true' : 'false'));
437:                 $objWriter->writeAttribute('shrinkToFit',   ($pStyle->getAlignment()->getShrinkToFit() ? 'true' : 'false'));
438: 
439:                 if ($pStyle->getAlignment()->getIndent() > 0) {
440:                     $objWriter->writeAttribute('indent',    $pStyle->getAlignment()->getIndent());
441:                 }
442:             $objWriter->endElement();
443: 
444:             // protection
445:             if ($pStyle->getProtection()->getLocked() != PHPExcel_Style_Protection::PROTECTION_INHERIT || $pStyle->getProtection()->getHidden() != PHPExcel_Style_Protection::PROTECTION_INHERIT) {
446:                 $objWriter->startElement('protection');
447:                     if ($pStyle->getProtection()->getLocked() != PHPExcel_Style_Protection::PROTECTION_INHERIT) {
448:                         $objWriter->writeAttribute('locked',        ($pStyle->getProtection()->getLocked() == PHPExcel_Style_Protection::PROTECTION_PROTECTED ? 'true' : 'false'));
449:                     }
450:                     if ($pStyle->getProtection()->getHidden() != PHPExcel_Style_Protection::PROTECTION_INHERIT) {
451:                         $objWriter->writeAttribute('hidden',        ($pStyle->getProtection()->getHidden() == PHPExcel_Style_Protection::PROTECTION_PROTECTED ? 'true' : 'false'));
452:                     }
453:                 $objWriter->endElement();
454:             }
455: 
456:         $objWriter->endElement();
457:     }
458: 
459:     /**
460:      * Write Cell Style Dxf
461:      *
462:      * @param   PHPExcel_Shared_XMLWriter       $objWriter      XML Writer
463:      * @param   PHPExcel_Style                  $pStyle         Style
464:      * @throws  PHPExcel_Writer_Exception
465:      */
466:     private function _writeCellStyleDxf(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style $pStyle = null)
467:     {
468:         // dxf
469:         $objWriter->startElement('dxf');
470: 
471:             // font
472:             $this->_writeFont($objWriter, $pStyle->getFont());
473: 
474:             // numFmt
475:             $this->_writeNumFmt($objWriter, $pStyle->getNumberFormat());
476: 
477:             // fill
478:             $this->_writeFill($objWriter, $pStyle->getFill());
479: 
480:             // alignment
481:             $objWriter->startElement('alignment');
482:                 if ($pStyle->getAlignment()->getHorizontal() !== NULL) {
483:                     $objWriter->writeAttribute('horizontal', $pStyle->getAlignment()->getHorizontal());
484:                 }
485:                 if ($pStyle->getAlignment()->getVertical() !== NULL) {
486:                     $objWriter->writeAttribute('vertical', $pStyle->getAlignment()->getVertical());
487:                 }
488: 
489:                 if ($pStyle->getAlignment()->getTextRotation() !== NULL) {
490:                     $textRotation = 0;
491:                     if ($pStyle->getAlignment()->getTextRotation() >= 0) {
492:                         $textRotation = $pStyle->getAlignment()->getTextRotation();
493:                     } else if ($pStyle->getAlignment()->getTextRotation() < 0) {
494:                         $textRotation = 90 - $pStyle->getAlignment()->getTextRotation();
495:                     }
496:                     $objWriter->writeAttribute('textRotation',  $textRotation);
497:                 }
498:             $objWriter->endElement();
499: 
500:             // border
501:             $this->_writeBorder($objWriter, $pStyle->getBorders());
502: 
503:             // protection
504:             if (($pStyle->getProtection()->getLocked() !== NULL) ||
505:                 ($pStyle->getProtection()->getHidden() !== NULL)) {
506:                 if ($pStyle->getProtection()->getLocked() !== PHPExcel_Style_Protection::PROTECTION_INHERIT ||
507:                     $pStyle->getProtection()->getHidden() !== PHPExcel_Style_Protection::PROTECTION_INHERIT) {
508:                     $objWriter->startElement('protection');
509:                         if (($pStyle->getProtection()->getLocked() !== NULL) &&
510:                             ($pStyle->getProtection()->getLocked() !== PHPExcel_Style_Protection::PROTECTION_INHERIT)) {
511:                             $objWriter->writeAttribute('locked', ($pStyle->getProtection()->getLocked() == PHPExcel_Style_Protection::PROTECTION_PROTECTED ? 'true' : 'false'));
512:                         }
513:                         if (($pStyle->getProtection()->getHidden() !== NULL) &&
514:                             ($pStyle->getProtection()->getHidden() !== PHPExcel_Style_Protection::PROTECTION_INHERIT)) {
515:                             $objWriter->writeAttribute('hidden', ($pStyle->getProtection()->getHidden() == PHPExcel_Style_Protection::PROTECTION_PROTECTED ? 'true' : 'false'));
516:                         }
517:                     $objWriter->endElement();
518:                 }
519:             }
520: 
521:         $objWriter->endElement();
522:     }
523: 
524:     /**
525:      * Write BorderPr
526:      *
527:      * @param   PHPExcel_Shared_XMLWriter       $objWriter      XML Writer
528:      * @param   string                          $pName          Element name
529:      * @param   PHPExcel_Style_Border           $pBorder        Border style
530:      * @throws  PHPExcel_Writer_Exception
531:      */
532:     private function _writeBorderPr(PHPExcel_Shared_XMLWriter $objWriter = null, $pName = 'left', PHPExcel_Style_Border $pBorder = null)
533:     {
534:         // Write BorderPr
535:         if ($pBorder->getBorderStyle() != PHPExcel_Style_Border::BORDER_NONE) {
536:             $objWriter->startElement($pName);
537:             $objWriter->writeAttribute('style',     $pBorder->getBorderStyle());
538: 
539:                 // color
540:                 $objWriter->startElement('color');
541:                 $objWriter->writeAttribute('rgb',   $pBorder->getColor()->getARGB());
542:                 $objWriter->endElement();
543: 
544:             $objWriter->endElement();
545:         }
546:     }
547: 
548:     /**
549:      * Write NumberFormat
550:      *
551:      * @param   PHPExcel_Shared_XMLWriter           $objWriter      XML Writer
552:      * @param   PHPExcel_Style_NumberFormat         $pNumberFormat  Number Format
553:      * @param   int                                 $pId            Number Format identifier
554:      * @throws  PHPExcel_Writer_Exception
555:      */
556:     private function _writeNumFmt(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style_NumberFormat $pNumberFormat = null, $pId = 0)
557:     {
558:         // Translate formatcode
559:         $formatCode = $pNumberFormat->getFormatCode();
560: 
561:         // numFmt
562:         if ($formatCode !== NULL) {
563:             $objWriter->startElement('numFmt');
564:                 $objWriter->writeAttribute('numFmtId', ($pId + 164));
565:                 $objWriter->writeAttribute('formatCode', $formatCode);
566:             $objWriter->endElement();
567:         }
568:     }
569: 
570:     /**
571:      * Get an array of all styles
572:      *
573:      * @param   PHPExcel                $pPHPExcel
574:      * @return  PHPExcel_Style[]        All styles in PHPExcel
575:      * @throws  PHPExcel_Writer_Exception
576:      */
577:     public function allStyles(PHPExcel $pPHPExcel = null)
578:     {
579:         $aStyles = $pPHPExcel->getCellXfCollection();
580: 
581:         return $aStyles;
582:     }
583: 
584:     /**
585:      * Get an array of all conditional styles
586:      *
587:      * @param   PHPExcel                            $pPHPExcel
588:      * @return  PHPExcel_Style_Conditional[]        All conditional styles in PHPExcel
589:      * @throws  PHPExcel_Writer_Exception
590:      */
591:     public function allConditionalStyles(PHPExcel $pPHPExcel = null)
592:     {
593:         // Get an array of all styles
594:         $aStyles        = array();
595: 
596:         $sheetCount = $pPHPExcel->getSheetCount();
597:         for ($i = 0; $i < $sheetCount; ++$i) {
598:             foreach ($pPHPExcel->getSheet($i)->getConditionalStylesCollection() as $conditionalStyles) {
599:                 foreach ($conditionalStyles as $conditionalStyle) {
600:                     $aStyles[] = $conditionalStyle;
601:                 }
602:             }
603:         }
604: 
605:         return $aStyles;
606:     }
607: 
608:     /**
609:      * Get an array of all fills
610:      *
611:      * @param   PHPExcel                        $pPHPExcel
612:      * @return  PHPExcel_Style_Fill[]       All fills in PHPExcel
613:      * @throws  PHPExcel_Writer_Exception
614:      */
615:     public function allFills(PHPExcel $pPHPExcel = null)
616:     {
617:         // Get an array of unique fills
618:         $aFills     = array();
619: 
620:         // Two first fills are predefined
621:         $fill0 = new PHPExcel_Style_Fill();
622:         $fill0->setFillType(PHPExcel_Style_Fill::FILL_NONE);
623:         $aFills[] = $fill0;
624: 
625:         $fill1 = new PHPExcel_Style_Fill();
626:         $fill1->setFillType(PHPExcel_Style_Fill::FILL_PATTERN_GRAY125);
627:         $aFills[] = $fill1;
628:         // The remaining fills
629:         $aStyles    = $this->allStyles($pPHPExcel);
630:         foreach ($aStyles as $style) {
631:             if (!array_key_exists($style->getFill()->getHashCode(), $aFills)) {
632:                 $aFills[ $style->getFill()->getHashCode() ] = $style->getFill();
633:             }
634:         }
635: 
636:         return $aFills;
637:     }
638: 
639:     /**
640:      * Get an array of all fonts
641:      *
642:      * @param   PHPExcel                        $pPHPExcel
643:      * @return  PHPExcel_Style_Font[]       All fonts in PHPExcel
644:      * @throws  PHPExcel_Writer_Exception
645:      */
646:     public function allFonts(PHPExcel $pPHPExcel = null)
647:     {
648:         // Get an array of unique fonts
649:         $aFonts     = array();
650:         $aStyles    = $this->allStyles($pPHPExcel);
651: 
652:         foreach ($aStyles as $style) {
653:             if (!array_key_exists($style->getFont()->getHashCode(), $aFonts)) {
654:                 $aFonts[ $style->getFont()->getHashCode() ] = $style->getFont();
655:             }
656:         }
657: 
658:         return $aFonts;
659:     }
660: 
661:     /**
662:      * Get an array of all borders
663:      *
664:      * @param   PHPExcel                        $pPHPExcel
665:      * @return  PHPExcel_Style_Borders[]        All borders in PHPExcel
666:      * @throws  PHPExcel_Writer_Exception
667:      */
668:     public function allBorders(PHPExcel $pPHPExcel = null)
669:     {
670:         // Get an array of unique borders
671:         $aBorders   = array();
672:         $aStyles    = $this->allStyles($pPHPExcel);
673: 
674:         foreach ($aStyles as $style) {
675:             if (!array_key_exists($style->getBorders()->getHashCode(), $aBorders)) {
676:                 $aBorders[ $style->getBorders()->getHashCode() ] = $style->getBorders();
677:             }
678:         }
679: 
680:         return $aBorders;
681:     }
682: 
683:     /**
684:      * Get an array of all number formats
685:      *
686:      * @param   PHPExcel                                $pPHPExcel
687:      * @return  PHPExcel_Style_NumberFormat[]       All number formats in PHPExcel
688:      * @throws  PHPExcel_Writer_Exception
689:      */
690:     public function allNumberFormats(PHPExcel $pPHPExcel = null)
691:     {
692:         // Get an array of unique number formats
693:         $aNumFmts   = array();
694:         $aStyles    = $this->allStyles($pPHPExcel);
695: 
696:         foreach ($aStyles as $style) {
697:             if ($style->getNumberFormat()->getBuiltInFormatCode() === false && !array_key_exists($style->getNumberFormat()->getHashCode(), $aNumFmts)) {
698:                 $aNumFmts[ $style->getNumberFormat()->getHashCode() ] = $style->getNumberFormat();
699:             }
700:         }
701: 
702:         return $aNumFmts;
703:     }
704: }
705: 
Autene API documentation generated by ApiGen