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_Reader_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:  * PHPExcel_Reader_Excel2007_Chart
 30:  *
 31:  * @category    PHPExcel
 32:  * @package     PHPExcel_Reader_Excel2007
 33:  * @copyright   Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)
 34:  */
 35: class PHPExcel_Reader_Excel2007_Chart
 36: {
 37:     private static function _getAttribute($component, $name, $format) {
 38:         $attributes = $component->attributes();
 39:         if (isset($attributes[$name])) {
 40:             if ($format == 'string') {
 41:                 return (string) $attributes[$name];
 42:             } elseif ($format == 'integer') {
 43:                 return (integer) $attributes[$name];
 44:             } elseif ($format == 'boolean') {
 45:                 return (boolean) ($attributes[$name] === '0' || $attributes[$name] !== 'true') ? false : true;
 46:             } else {
 47:                 return (float) $attributes[$name];
 48:             }
 49:         }
 50:         return null;
 51:     }   //  function _getAttribute()
 52: 
 53: 
 54:     private static function _readColor($color,$background=false) {
 55:         if (isset($color["rgb"])) {
 56:             return (string)$color["rgb"];
 57:         } else if (isset($color["indexed"])) {
 58:             return PHPExcel_Style_Color::indexedColor($color["indexed"]-7,$background)->getARGB();
 59:         }
 60:     }
 61: 
 62: 
 63:     public static function readChart($chartElements,$chartName) {
 64:         $namespacesChartMeta = $chartElements->getNamespaces(true);
 65:         $chartElementsC = $chartElements->children($namespacesChartMeta['c']);
 66: 
 67:         $XaxisLabel = $YaxisLabel = $legend = $title = NULL;
 68:         $dispBlanksAs = $plotVisOnly = NULL;
 69: 
 70:         foreach($chartElementsC as $chartElementKey => $chartElement) {
 71:             switch ($chartElementKey) {
 72:                 case "chart":
 73:                     foreach($chartElement as $chartDetailsKey => $chartDetails) {
 74:                         $chartDetailsC = $chartDetails->children($namespacesChartMeta['c']);
 75:                         switch ($chartDetailsKey) {
 76:                             case "plotArea":
 77:                                     $plotAreaLayout = $XaxisLable = $YaxisLable = null;
 78:                                     $plotSeries = $plotAttributes = array();
 79:                                     foreach($chartDetails as $chartDetailKey => $chartDetail) {
 80:                                         switch ($chartDetailKey) {
 81:                                             case "layout":
 82:                                                 $plotAreaLayout = self::_chartLayoutDetails($chartDetail,$namespacesChartMeta,'plotArea');
 83:                                                 break;
 84:                                             case "catAx":
 85:                                                 if (isset($chartDetail->title)) {
 86:                                                     $XaxisLabel = self::_chartTitle($chartDetail->title->children($namespacesChartMeta['c']),$namespacesChartMeta,'cat');
 87:                                                 }
 88:                                                 break;
 89:                                             case "dateAx":
 90:                                                 if (isset($chartDetail->title)) {
 91:                                                     $XaxisLabel = self::_chartTitle($chartDetail->title->children($namespacesChartMeta['c']),$namespacesChartMeta,'cat');
 92:                                                 }
 93:                                                 break;
 94:                                             case "valAx":
 95:                                                 if (isset($chartDetail->title)) {
 96:                                                     $YaxisLabel = self::_chartTitle($chartDetail->title->children($namespacesChartMeta['c']),$namespacesChartMeta,'cat');
 97:                                                 }
 98:                                                 break;
 99:                                             case "barChart":
100:                                             case "bar3DChart":
101:                                                 $barDirection = self::_getAttribute($chartDetail->barDir, 'val', 'string');
102:                                                 $plotSer = self::_chartDataSeries($chartDetail,$namespacesChartMeta,$chartDetailKey);
103:                                                 $plotSer->setPlotDirection($barDirection);
104:                                                 $plotSeries[] = $plotSer;
105:                                                 $plotAttributes = self::_readChartAttributes($chartDetail);
106:                                                 break;
107:                                             case "lineChart":
108:                                             case "line3DChart":
109:                                                 $plotSeries[] = self::_chartDataSeries($chartDetail,$namespacesChartMeta,$chartDetailKey);
110:                                                 $plotAttributes = self::_readChartAttributes($chartDetail);
111:                                                 break;
112:                                             case "areaChart":
113:                                             case "area3DChart":
114:                                                 $plotSeries[] = self::_chartDataSeries($chartDetail,$namespacesChartMeta,$chartDetailKey);
115:                                                 $plotAttributes = self::_readChartAttributes($chartDetail);
116:                                                 break;
117:                                             case "doughnutChart":
118:                                             case "pieChart":
119:                                             case "pie3DChart":
120:                                                 $explosion = isset($chartDetail->ser->explosion);
121:                                                 $plotSer = self::_chartDataSeries($chartDetail,$namespacesChartMeta,$chartDetailKey);
122:                                                 $plotSer->setPlotStyle($explosion);
123:                                                 $plotSeries[] = $plotSer;
124:                                                 $plotAttributes = self::_readChartAttributes($chartDetail);
125:                                                 break;
126:                                             case "scatterChart":
127:                                                 $scatterStyle = self::_getAttribute($chartDetail->scatterStyle, 'val', 'string');
128:                                                 $plotSer = self::_chartDataSeries($chartDetail,$namespacesChartMeta,$chartDetailKey);
129:                                                 $plotSer->setPlotStyle($scatterStyle);
130:                                                 $plotSeries[] = $plotSer;
131:                                                 $plotAttributes = self::_readChartAttributes($chartDetail);
132:                                                 break;
133:                                             case "bubbleChart":
134:                                                 $bubbleScale = self::_getAttribute($chartDetail->bubbleScale, 'val', 'integer');
135:                                                 $plotSer = self::_chartDataSeries($chartDetail,$namespacesChartMeta,$chartDetailKey);
136:                                                 $plotSer->setPlotStyle($bubbleScale);
137:                                                 $plotSeries[] = $plotSer;
138:                                                 $plotAttributes = self::_readChartAttributes($chartDetail);
139:                                                 break;
140:                                             case "radarChart":
141:                                                 $radarStyle = self::_getAttribute($chartDetail->radarStyle, 'val', 'string');
142:                                                 $plotSer = self::_chartDataSeries($chartDetail,$namespacesChartMeta,$chartDetailKey);
143:                                                 $plotSer->setPlotStyle($radarStyle);
144:                                                 $plotSeries[] = $plotSer;
145:                                                 $plotAttributes = self::_readChartAttributes($chartDetail);
146:                                                 break;
147:                                             case "surfaceChart":
148:                                             case "surface3DChart":
149:                                                 $wireFrame = self::_getAttribute($chartDetail->wireframe, 'val', 'boolean');
150:                                                 $plotSer = self::_chartDataSeries($chartDetail,$namespacesChartMeta,$chartDetailKey);
151:                                                 $plotSer->setPlotStyle($wireFrame);
152:                                                 $plotSeries[] = $plotSer;
153:                                                 $plotAttributes = self::_readChartAttributes($chartDetail);
154:                                                 break;
155:                                             case "stockChart":
156:                                                 $plotSeries[] = self::_chartDataSeries($chartDetail,$namespacesChartMeta,$chartDetailKey);
157:                                                 $plotAttributes = self::_readChartAttributes($plotAreaLayout);
158:                                                 break;
159:                                         }
160:                                     }
161:                                     if ($plotAreaLayout == NULL) {
162:                                         $plotAreaLayout = new PHPExcel_Chart_Layout();
163:                                     }
164:                                     $plotArea = new PHPExcel_Chart_PlotArea($plotAreaLayout,$plotSeries);
165:                                     self::_setChartAttributes($plotAreaLayout,$plotAttributes);
166:                                     break;
167:                             case "plotVisOnly":
168:                                     $plotVisOnly = self::_getAttribute($chartDetails, 'val', 'string');
169:                                     break;
170:                             case "dispBlanksAs":
171:                                     $dispBlanksAs = self::_getAttribute($chartDetails, 'val', 'string');
172:                                     break;
173:                             case "title":
174:                                     $title = self::_chartTitle($chartDetails,$namespacesChartMeta,'title');
175:                                     break;
176:                             case "legend":
177:                                     $legendPos = 'r';
178:                                     $legendLayout = null;
179:                                     $legendOverlay = false;
180:                                     foreach($chartDetails as $chartDetailKey => $chartDetail) {
181:                                         switch ($chartDetailKey) {
182:                                             case "legendPos":
183:                                                 $legendPos = self::_getAttribute($chartDetail, 'val', 'string');
184:                                                 break;
185:                                             case "overlay":
186:                                                 $legendOverlay = self::_getAttribute($chartDetail, 'val', 'boolean');
187:                                                 break;
188:                                             case "layout":
189:                                                 $legendLayout = self::_chartLayoutDetails($chartDetail,$namespacesChartMeta,'legend');
190:                                                 break;
191:                                         }
192:                                     }
193:                                     $legend = new PHPExcel_Chart_Legend($legendPos, $legendLayout, $legendOverlay);
194:                                     break;
195:                         }
196:                     }
197:             }
198:         }
199:         $chart = new PHPExcel_Chart($chartName,$title,$legend,$plotArea,$plotVisOnly,$dispBlanksAs,$XaxisLabel,$YaxisLabel);
200: 
201:         return $chart;
202:     }   //  function readChart()
203: 
204: 
205:     private static function _chartTitle($titleDetails,$namespacesChartMeta,$type) {
206:         $caption = array();
207:         $titleLayout = null;
208:         foreach($titleDetails as $titleDetailKey => $chartDetail) {
209:             switch ($titleDetailKey) {
210:                 case "tx":
211:                     $titleDetails = $chartDetail->rich->children($namespacesChartMeta['a']);
212:                     foreach($titleDetails as $titleKey => $titleDetail) {
213:                         switch ($titleKey) {
214:                             case "p":
215:                                 $titleDetailPart = $titleDetail->children($namespacesChartMeta['a']);
216:                                 $caption[] = self::_parseRichText($titleDetailPart);
217:                         }
218:                     }
219:                     break;
220:                 case "layout":
221:                     $titleLayout = self::_chartLayoutDetails($chartDetail,$namespacesChartMeta);
222:                     break;
223:             }
224:         }
225: 
226:         return new PHPExcel_Chart_Title($caption, $titleLayout);
227:     }   //  function _chartTitle()
228: 
229: 
230:     private static function _chartLayoutDetails($chartDetail,$namespacesChartMeta) {
231:         if (!isset($chartDetail->manualLayout)) {
232:             return null;
233:         }
234:         $details = $chartDetail->manualLayout->children($namespacesChartMeta['c']);
235:         if (is_null($details)) {
236:             return null;
237:         }
238:         $layout = array();
239:         foreach($details as $detailKey => $detail) {
240: //          echo $detailKey,' => ',self::_getAttribute($detail, 'val', 'string'),PHP_EOL;
241:             $layout[$detailKey] = self::_getAttribute($detail, 'val', 'string');
242:         }
243:         return new PHPExcel_Chart_Layout($layout);
244:     }   //  function _chartLayoutDetails()
245: 
246: 
247:     private static function _chartDataSeries($chartDetail,$namespacesChartMeta,$plotType) {
248:         $multiSeriesType = NULL;
249:         $smoothLine = false;
250:         $seriesLabel = $seriesCategory = $seriesValues = $plotOrder = array();
251: 
252:         $seriesDetailSet = $chartDetail->children($namespacesChartMeta['c']);
253:         foreach($seriesDetailSet as $seriesDetailKey => $seriesDetails) {
254:             switch ($seriesDetailKey) {
255:                 case "grouping":
256:                     $multiSeriesType = self::_getAttribute($chartDetail->grouping, 'val', 'string');
257:                     break;
258:                 case "ser":
259:                     $marker = NULL;
260:                     foreach($seriesDetails as $seriesKey => $seriesDetail) {
261:                         switch ($seriesKey) {
262:                             case "idx":
263:                                 $seriesIndex = self::_getAttribute($seriesDetail, 'val', 'integer');
264:                                 break;
265:                             case "order":
266:                                 $seriesOrder = self::_getAttribute($seriesDetail, 'val', 'integer');
267:                                 $plotOrder[$seriesIndex] = $seriesOrder;
268:                                 break;
269:                             case "tx":
270:                                 $seriesLabel[$seriesIndex] = self::_chartDataSeriesValueSet($seriesDetail,$namespacesChartMeta);
271:                                 break;
272:                             case "marker":
273:                                 $marker = self::_getAttribute($seriesDetail->symbol, 'val', 'string');
274:                                 break;
275:                             case "smooth":
276:                                 $smoothLine = self::_getAttribute($seriesDetail, 'val', 'boolean');
277:                                 break;
278:                             case "cat":
279:                                 $seriesCategory[$seriesIndex] = self::_chartDataSeriesValueSet($seriesDetail,$namespacesChartMeta);
280:                                 break;
281:                             case "val":
282:                                 $seriesValues[$seriesIndex] = self::_chartDataSeriesValueSet($seriesDetail,$namespacesChartMeta,$marker);
283:                                 break;
284:                             case "xVal":
285:                                 $seriesCategory[$seriesIndex] = self::_chartDataSeriesValueSet($seriesDetail,$namespacesChartMeta,$marker);
286:                                 break;
287:                             case "yVal":
288:                                 $seriesValues[$seriesIndex] = self::_chartDataSeriesValueSet($seriesDetail,$namespacesChartMeta,$marker);
289:                                 break;
290:                         }
291:                     }
292:             }
293:         }
294:         return new PHPExcel_Chart_DataSeries($plotType,$multiSeriesType,$plotOrder,$seriesLabel,$seriesCategory,$seriesValues,$smoothLine);
295:     }   //  function _chartDataSeries()
296: 
297: 
298:     private static function _chartDataSeriesValueSet($seriesDetail, $namespacesChartMeta, $marker = null, $smoothLine = false) {
299:         if (isset($seriesDetail->strRef)) {
300:             $seriesSource = (string) $seriesDetail->strRef->f;
301:             $seriesData = self::_chartDataSeriesValues($seriesDetail->strRef->strCache->children($namespacesChartMeta['c']),'s');
302: 
303:             return new PHPExcel_Chart_DataSeriesValues('String',$seriesSource,$seriesData['formatCode'],$seriesData['pointCount'],$seriesData['dataValues'],$marker,$smoothLine);
304:         } elseif (isset($seriesDetail->numRef)) {
305:             $seriesSource = (string) $seriesDetail->numRef->f;
306:             $seriesData = self::_chartDataSeriesValues($seriesDetail->numRef->numCache->children($namespacesChartMeta['c']));
307: 
308:             return new PHPExcel_Chart_DataSeriesValues('Number',$seriesSource,$seriesData['formatCode'],$seriesData['pointCount'],$seriesData['dataValues'],$marker,$smoothLine);
309:         } elseif (isset($seriesDetail->multiLvlStrRef)) {
310:             $seriesSource = (string) $seriesDetail->multiLvlStrRef->f;
311:             $seriesData = self::_chartDataSeriesValuesMultiLevel($seriesDetail->multiLvlStrRef->multiLvlStrCache->children($namespacesChartMeta['c']),'s');
312:             $seriesData['pointCount'] = count($seriesData['dataValues']);
313: 
314:             return new PHPExcel_Chart_DataSeriesValues('String',$seriesSource,$seriesData['formatCode'],$seriesData['pointCount'],$seriesData['dataValues'],$marker,$smoothLine);
315:         } elseif (isset($seriesDetail->multiLvlNumRef)) {
316:             $seriesSource = (string) $seriesDetail->multiLvlNumRef->f;
317:             $seriesData = self::_chartDataSeriesValuesMultiLevel($seriesDetail->multiLvlNumRef->multiLvlNumCache->children($namespacesChartMeta['c']),'s');
318:             $seriesData['pointCount'] = count($seriesData['dataValues']);
319: 
320:             return new PHPExcel_Chart_DataSeriesValues('String',$seriesSource,$seriesData['formatCode'],$seriesData['pointCount'],$seriesData['dataValues'],$marker,$smoothLine);
321:         }
322:         return null;
323:     }   //  function _chartDataSeriesValueSet()
324: 
325: 
326:     private static function _chartDataSeriesValues($seriesValueSet,$dataType='n') {
327:         $seriesVal = array();
328:         $formatCode = '';
329:         $pointCount = 0;
330: 
331:         foreach($seriesValueSet as $seriesValueIdx => $seriesValue) {
332:             switch ($seriesValueIdx) {
333:                 case 'ptCount':
334:                     $pointCount = self::_getAttribute($seriesValue, 'val', 'integer');
335:                     break;
336:                 case 'formatCode':
337:                     $formatCode = (string) $seriesValue;
338:                     break;
339:                 case 'pt':
340:                     $pointVal = self::_getAttribute($seriesValue, 'idx', 'integer');
341:                     if ($dataType == 's') {
342:                         $seriesVal[$pointVal] = (string) $seriesValue->v;
343:                     } else {
344:                         $seriesVal[$pointVal] = (float) $seriesValue->v;
345:                     }
346:                     break;
347:             }
348:         }
349: 
350:         if (empty($seriesVal)) {
351:             $seriesVal = NULL;
352:         }
353: 
354:         return array( 'formatCode'  => $formatCode,
355:                       'pointCount'  => $pointCount,
356:                       'dataValues'  => $seriesVal
357:                     );
358:     }   //  function _chartDataSeriesValues()
359: 
360: 
361:     private static function _chartDataSeriesValuesMultiLevel($seriesValueSet,$dataType='n') {
362:         $seriesVal = array();
363:         $formatCode = '';
364:         $pointCount = 0;
365: 
366:         foreach($seriesValueSet->lvl as $seriesLevelIdx => $seriesLevel) {
367:             foreach($seriesLevel as $seriesValueIdx => $seriesValue) {
368:                 switch ($seriesValueIdx) {
369:                     case 'ptCount':
370:                         $pointCount = self::_getAttribute($seriesValue, 'val', 'integer');
371:                         break;
372:                     case 'formatCode':
373:                         $formatCode = (string) $seriesValue;
374:                         break;
375:                     case 'pt':
376:                         $pointVal = self::_getAttribute($seriesValue, 'idx', 'integer');
377:                         if ($dataType == 's') {
378:                             $seriesVal[$pointVal][] = (string) $seriesValue->v;
379:                         } else {
380:                             $seriesVal[$pointVal][] = (float) $seriesValue->v;
381:                         }
382:                         break;
383:                 }
384:             }
385:         }
386: 
387:         return array( 'formatCode'  => $formatCode,
388:                       'pointCount'  => $pointCount,
389:                       'dataValues'  => $seriesVal
390:                     );
391:     }   //  function _chartDataSeriesValuesMultiLevel()
392: 
393:     private static function _parseRichText($titleDetailPart = null) {
394:         $value = new PHPExcel_RichText();
395: 
396:         foreach($titleDetailPart as $titleDetailElementKey => $titleDetailElement) {
397:             if (isset($titleDetailElement->t)) {
398:                 $objText = $value->createTextRun( (string) $titleDetailElement->t );
399:             }
400:             if (isset($titleDetailElement->rPr)) {
401:                 if (isset($titleDetailElement->rPr->rFont["val"])) {
402:                     $objText->getFont()->setName((string) $titleDetailElement->rPr->rFont["val"]);
403:                 }
404: 
405:                 $fontSize = (self::_getAttribute($titleDetailElement->rPr, 'sz', 'integer'));
406:                 if (!is_null($fontSize)) {
407:                     $objText->getFont()->setSize(floor($fontSize / 100));
408:                 }
409: 
410:                 $fontColor = (self::_getAttribute($titleDetailElement->rPr, 'color', 'string'));
411:                 if (!is_null($fontColor)) {
412:                     $objText->getFont()->setColor( new PHPExcel_Style_Color( self::_readColor($fontColor) ) );
413:                 }
414: 
415:                 $bold = self::_getAttribute($titleDetailElement->rPr, 'b', 'boolean');
416:                 if (!is_null($bold)) {
417:                     $objText->getFont()->setBold($bold);
418:                 }
419: 
420:                 $italic = self::_getAttribute($titleDetailElement->rPr, 'i', 'boolean');
421:                 if (!is_null($italic)) {
422:                     $objText->getFont()->setItalic($italic);
423:                 }
424: 
425:                 $baseline = self::_getAttribute($titleDetailElement->rPr, 'baseline', 'integer');
426:                 if (!is_null($baseline)) {
427:                     if ($baseline > 0) {
428:                         $objText->getFont()->setSuperScript(true);
429:                     } elseif($baseline < 0) {
430:                         $objText->getFont()->setSubScript(true);
431:                     }
432:                 }
433: 
434:                 $underscore = (self::_getAttribute($titleDetailElement->rPr, 'u', 'string'));
435:                 if (!is_null($underscore)) {
436:                     if ($underscore == 'sng') {
437:                         $objText->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);
438:                     } elseif($underscore == 'dbl') {
439:                         $objText->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_DOUBLE);
440:                     } else {
441:                         $objText->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_NONE);
442:                     }
443:                 }
444: 
445:                 $strikethrough = (self::_getAttribute($titleDetailElement->rPr, 's', 'string'));
446:                 if (!is_null($strikethrough)) {
447:                     if ($strikethrough == 'noStrike') {
448:                         $objText->getFont()->setStrikethrough(false);
449:                     } else {
450:                         $objText->getFont()->setStrikethrough(true);
451:                     }
452:                 }
453:             }
454:         }
455: 
456:         return $value;
457:     }
458: 
459:     private static function _readChartAttributes($chartDetail) {
460:         $plotAttributes = array();
461:         if (isset($chartDetail->dLbls)) {
462:             if (isset($chartDetail->dLbls->howLegendKey)) {
463:                 $plotAttributes['showLegendKey'] = self::_getAttribute($chartDetail->dLbls->showLegendKey, 'val', 'string');
464:             }
465:             if (isset($chartDetail->dLbls->showVal)) {
466:                 $plotAttributes['showVal'] = self::_getAttribute($chartDetail->dLbls->showVal, 'val', 'string');
467:             }
468:             if (isset($chartDetail->dLbls->showCatName)) {
469:                 $plotAttributes['showCatName'] = self::_getAttribute($chartDetail->dLbls->showCatName, 'val', 'string');
470:             }
471:             if (isset($chartDetail->dLbls->showSerName)) {
472:                 $plotAttributes['showSerName'] = self::_getAttribute($chartDetail->dLbls->showSerName, 'val', 'string');
473:             }
474:             if (isset($chartDetail->dLbls->showPercent)) {
475:                 $plotAttributes['showPercent'] = self::_getAttribute($chartDetail->dLbls->showPercent, 'val', 'string');
476:             }
477:             if (isset($chartDetail->dLbls->showBubbleSize)) {
478:                 $plotAttributes['showBubbleSize'] = self::_getAttribute($chartDetail->dLbls->showBubbleSize, 'val', 'string');
479:             }
480:             if (isset($chartDetail->dLbls->showLeaderLines)) {
481:                 $plotAttributes['showLeaderLines'] = self::_getAttribute($chartDetail->dLbls->showLeaderLines, 'val', 'string');
482:             }
483:         }
484: 
485:         return $plotAttributes;
486:     }
487: 
488:     private static function _setChartAttributes($plotArea,$plotAttributes)
489:     {
490:         foreach($plotAttributes as $plotAttributeKey => $plotAttributeValue) {
491:             switch($plotAttributeKey) {
492:                 case 'showLegendKey' :
493:                     $plotArea->setShowLegendKey($plotAttributeValue);
494:                     break;
495:                 case 'showVal' :
496:                     $plotArea->setShowVal($plotAttributeValue);
497:                     break;
498:                 case 'showCatName' :
499:                     $plotArea->setShowCatName($plotAttributeValue);
500:                     break;
501:                 case 'showSerName' :
502:                     $plotArea->setShowSerName($plotAttributeValue);
503:                     break;
504:                 case 'showPercent' :
505:                     $plotArea->setShowPercent($plotAttributeValue);
506:                     break;
507:                 case 'showBubbleSize' :
508:                     $plotArea->setShowBubbleSize($plotAttributeValue);
509:                     break;
510:                 case 'showLeaderLines' :
511:                     $plotArea->setShowLeaderLines($plotAttributeValue);
512:                     break;
513:             }
514:         }
515:     }
516: 
517: }
518: 
Autene API documentation generated by ApiGen