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_Drawing
 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_Drawing extends PHPExcel_Writer_Excel2007_WriterPart
 37: {
 38:     /**
 39:      * Write drawings to XML format
 40:      *
 41:      * @param   PHPExcel_Worksheet  $pWorksheet
 42:      * @param   int                 &$chartRef      Chart ID
 43:      * @param   boolean             $includeCharts  Flag indicating if we should include drawing details for charts
 44:      * @return  string              XML Output
 45:      * @throws  PHPExcel_Writer_Exception
 46:      */
 47:     public function writeDrawings(PHPExcel_Worksheet $pWorksheet = null, &$chartRef, $includeCharts = FALSE)
 48:     {
 49:         // Create XML writer
 50:         $objWriter = null;
 51:         if ($this->getParentWriter()->getUseDiskCaching()) {
 52:             $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory());
 53:         } else {
 54:             $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY);
 55:         }
 56: 
 57:         // XML header
 58:         $objWriter->startDocument('1.0','UTF-8','yes');
 59: 
 60:         // xdr:wsDr
 61:         $objWriter->startElement('xdr:wsDr');
 62:         $objWriter->writeAttribute('xmlns:xdr', 'http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing');
 63:         $objWriter->writeAttribute('xmlns:a', 'http://schemas.openxmlformats.org/drawingml/2006/main');
 64: 
 65:             // Loop through images and write drawings
 66:             $i = 1;
 67:             $iterator = $pWorksheet->getDrawingCollection()->getIterator();
 68:             while ($iterator->valid()) {
 69:                 $this->_writeDrawing($objWriter, $iterator->current(), $i);
 70: 
 71:                 $iterator->next();
 72:                 ++$i;
 73:             }
 74: 
 75:             if ($includeCharts) {
 76:                 $chartCount = $pWorksheet->getChartCount();
 77:                 // Loop through charts and write the chart position
 78:                 if ($chartCount > 0) {
 79:                     for ($c = 0; $c < $chartCount; ++$c) {
 80:                         $this->_writeChart($objWriter, $pWorksheet->getChartByIndex($c), $c+$i);
 81:                     }
 82:                 }
 83:             }
 84: 
 85: 
 86:         $objWriter->endElement();
 87: 
 88:         // Return
 89:         return $objWriter->getData();
 90:     }
 91: 
 92:     /**
 93:      * Write drawings to XML format
 94:      *
 95:      * @param   PHPExcel_Shared_XMLWriter   $objWriter      XML Writer
 96:      * @param   PHPExcel_Chart              $pChart
 97:      * @param   int                         $pRelationId
 98:      * @throws  PHPExcel_Writer_Exception
 99:      */
100:     public function _writeChart(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Chart $pChart = null, $pRelationId = -1)
101:     {
102:         $tl = $pChart->getTopLeftPosition();
103:         $tl['colRow'] = PHPExcel_Cell::coordinateFromString($tl['cell']);
104:         $br = $pChart->getBottomRightPosition();
105:         $br['colRow'] = PHPExcel_Cell::coordinateFromString($br['cell']);
106: 
107:         $objWriter->startElement('xdr:twoCellAnchor');
108: 
109:             $objWriter->startElement('xdr:from');
110:                 $objWriter->writeElement('xdr:col', PHPExcel_Cell::columnIndexFromString($tl['colRow'][0]) - 1);
111:                 $objWriter->writeElement('xdr:colOff', PHPExcel_Shared_Drawing::pixelsToEMU($tl['xOffset']));
112:                 $objWriter->writeElement('xdr:row', $tl['colRow'][1] - 1);
113:                 $objWriter->writeElement('xdr:rowOff', PHPExcel_Shared_Drawing::pixelsToEMU($tl['yOffset']));
114:             $objWriter->endElement();
115:             $objWriter->startElement('xdr:to');
116:                 $objWriter->writeElement('xdr:col', PHPExcel_Cell::columnIndexFromString($br['colRow'][0]) - 1);
117:                 $objWriter->writeElement('xdr:colOff', PHPExcel_Shared_Drawing::pixelsToEMU($br['xOffset']));
118:                 $objWriter->writeElement('xdr:row', $br['colRow'][1] - 1);
119:                 $objWriter->writeElement('xdr:rowOff', PHPExcel_Shared_Drawing::pixelsToEMU($br['yOffset']));
120:             $objWriter->endElement();
121: 
122:             $objWriter->startElement('xdr:graphicFrame');
123:                 $objWriter->writeAttribute('macro', '');
124:                 $objWriter->startElement('xdr:nvGraphicFramePr');
125:                     $objWriter->startElement('xdr:cNvPr');
126:                         $objWriter->writeAttribute('name', 'Chart '.$pRelationId);
127:                         $objWriter->writeAttribute('id', 1025 * $pRelationId);
128:                     $objWriter->endElement();
129:                     $objWriter->startElement('xdr:cNvGraphicFramePr');
130:                         $objWriter->startElement('a:graphicFrameLocks');
131:                         $objWriter->endElement();
132:                     $objWriter->endElement();
133:                 $objWriter->endElement();
134: 
135:                 $objWriter->startElement('xdr:xfrm');
136:                     $objWriter->startElement('a:off');
137:                         $objWriter->writeAttribute('x', '0');
138:                         $objWriter->writeAttribute('y', '0');
139:                     $objWriter->endElement();
140:                     $objWriter->startElement('a:ext');
141:                         $objWriter->writeAttribute('cx', '0');
142:                         $objWriter->writeAttribute('cy', '0');
143:                     $objWriter->endElement();
144:                 $objWriter->endElement();
145: 
146:                 $objWriter->startElement('a:graphic');
147:                     $objWriter->startElement('a:graphicData');
148:                         $objWriter->writeAttribute('uri', 'http://schemas.openxmlformats.org/drawingml/2006/chart');
149:                         $objWriter->startElement('c:chart');
150:                             $objWriter->writeAttribute('xmlns:c', 'http://schemas.openxmlformats.org/drawingml/2006/chart');
151:                             $objWriter->writeAttribute('xmlns:r', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships');
152:                             $objWriter->writeAttribute('r:id', 'rId'.$pRelationId);
153:                         $objWriter->endElement();
154:                     $objWriter->endElement();
155:                 $objWriter->endElement();
156:             $objWriter->endElement();
157: 
158:             $objWriter->startElement('xdr:clientData');
159:             $objWriter->endElement();
160: 
161:         $objWriter->endElement();
162:     }
163: 
164:     /**
165:      * Write drawings to XML format
166:      *
167:      * @param   PHPExcel_Shared_XMLWriter           $objWriter      XML Writer
168:      * @param   PHPExcel_Worksheet_BaseDrawing      $pDrawing
169:      * @param   int                                 $pRelationId
170:      * @throws  PHPExcel_Writer_Exception
171:      */
172:     public function _writeDrawing(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet_BaseDrawing $pDrawing = null, $pRelationId = -1)
173:     {
174:         if ($pRelationId >= 0) {
175:             // xdr:oneCellAnchor
176:             $objWriter->startElement('xdr:oneCellAnchor');
177:                 // Image location
178:                 $aCoordinates       = PHPExcel_Cell::coordinateFromString($pDrawing->getCoordinates());
179:                 $aCoordinates[0]    = PHPExcel_Cell::columnIndexFromString($aCoordinates[0]);
180: 
181:                 // xdr:from
182:                 $objWriter->startElement('xdr:from');
183:                     $objWriter->writeElement('xdr:col', $aCoordinates[0] - 1);
184:                     $objWriter->writeElement('xdr:colOff', PHPExcel_Shared_Drawing::pixelsToEMU($pDrawing->getOffsetX()));
185:                     $objWriter->writeElement('xdr:row', $aCoordinates[1] - 1);
186:                     $objWriter->writeElement('xdr:rowOff', PHPExcel_Shared_Drawing::pixelsToEMU($pDrawing->getOffsetY()));
187:                 $objWriter->endElement();
188: 
189:                 // xdr:ext
190:                 $objWriter->startElement('xdr:ext');
191:                     $objWriter->writeAttribute('cx', PHPExcel_Shared_Drawing::pixelsToEMU($pDrawing->getWidth()));
192:                     $objWriter->writeAttribute('cy', PHPExcel_Shared_Drawing::pixelsToEMU($pDrawing->getHeight()));
193:                 $objWriter->endElement();
194: 
195:                 // xdr:pic
196:                 $objWriter->startElement('xdr:pic');
197: 
198:                     // xdr:nvPicPr
199:                     $objWriter->startElement('xdr:nvPicPr');
200: 
201:                         // xdr:cNvPr
202:                         $objWriter->startElement('xdr:cNvPr');
203:                         $objWriter->writeAttribute('id', $pRelationId);
204:                         $objWriter->writeAttribute('name', $pDrawing->getName());
205:                         $objWriter->writeAttribute('descr', $pDrawing->getDescription());
206:                         $objWriter->endElement();
207: 
208:                         // xdr:cNvPicPr
209:                         $objWriter->startElement('xdr:cNvPicPr');
210: 
211:                             // a:picLocks
212:                             $objWriter->startElement('a:picLocks');
213:                             $objWriter->writeAttribute('noChangeAspect', '1');
214:                             $objWriter->endElement();
215: 
216:                         $objWriter->endElement();
217: 
218:                     $objWriter->endElement();
219: 
220:                     // xdr:blipFill
221:                     $objWriter->startElement('xdr:blipFill');
222: 
223:                         // a:blip
224:                         $objWriter->startElement('a:blip');
225:                         $objWriter->writeAttribute('xmlns:r', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships');
226:                         $objWriter->writeAttribute('r:embed', 'rId' . $pRelationId);
227:                         $objWriter->endElement();
228: 
229:                         // a:stretch
230:                         $objWriter->startElement('a:stretch');
231:                             $objWriter->writeElement('a:fillRect', null);
232:                         $objWriter->endElement();
233: 
234:                     $objWriter->endElement();
235: 
236:                     // xdr:spPr
237:                     $objWriter->startElement('xdr:spPr');
238: 
239:                         // a:xfrm
240:                         $objWriter->startElement('a:xfrm');
241:                         $objWriter->writeAttribute('rot', PHPExcel_Shared_Drawing::degreesToAngle($pDrawing->getRotation()));
242:                         $objWriter->endElement();
243: 
244:                         // a:prstGeom
245:                         $objWriter->startElement('a:prstGeom');
246:                         $objWriter->writeAttribute('prst', 'rect');
247: 
248:                             // a:avLst
249:                             $objWriter->writeElement('a:avLst', null);
250: 
251:                         $objWriter->endElement();
252: 
253: //                      // a:solidFill
254: //                      $objWriter->startElement('a:solidFill');
255: 
256: //                          // a:srgbClr
257: //                          $objWriter->startElement('a:srgbClr');
258: //                          $objWriter->writeAttribute('val', 'FFFFFF');
259: 
260: ///* SHADE
261: //                              // a:shade
262: //                              $objWriter->startElement('a:shade');
263: //                              $objWriter->writeAttribute('val', '85000');
264: //                              $objWriter->endElement();
265: //*/
266: 
267: //                          $objWriter->endElement();
268: 
269: //                      $objWriter->endElement();
270: /*
271:                         // a:ln
272:                         $objWriter->startElement('a:ln');
273:                         $objWriter->writeAttribute('w', '88900');
274:                         $objWriter->writeAttribute('cap', 'sq');
275: 
276:                             // a:solidFill
277:                             $objWriter->startElement('a:solidFill');
278: 
279:                                 // a:srgbClr
280:                                 $objWriter->startElement('a:srgbClr');
281:                                 $objWriter->writeAttribute('val', 'FFFFFF');
282:                                 $objWriter->endElement();
283: 
284:                             $objWriter->endElement();
285: 
286:                             // a:miter
287:                             $objWriter->startElement('a:miter');
288:                             $objWriter->writeAttribute('lim', '800000');
289:                             $objWriter->endElement();
290: 
291:                         $objWriter->endElement();
292: */
293: 
294:                         if ($pDrawing->getShadow()->getVisible()) {
295:                             // a:effectLst
296:                             $objWriter->startElement('a:effectLst');
297: 
298:                                 // a:outerShdw
299:                                 $objWriter->startElement('a:outerShdw');
300:                                 $objWriter->writeAttribute('blurRad',       PHPExcel_Shared_Drawing::pixelsToEMU($pDrawing->getShadow()->getBlurRadius()));
301:                                 $objWriter->writeAttribute('dist',          PHPExcel_Shared_Drawing::pixelsToEMU($pDrawing->getShadow()->getDistance()));
302:                                 $objWriter->writeAttribute('dir',           PHPExcel_Shared_Drawing::degreesToAngle($pDrawing->getShadow()->getDirection()));
303:                                 $objWriter->writeAttribute('algn',          $pDrawing->getShadow()->getAlignment());
304:                                 $objWriter->writeAttribute('rotWithShape',  '0');
305: 
306:                                     // a:srgbClr
307:                                     $objWriter->startElement('a:srgbClr');
308:                                     $objWriter->writeAttribute('val',       $pDrawing->getShadow()->getColor()->getRGB());
309: 
310:                                         // a:alpha
311:                                         $objWriter->startElement('a:alpha');
312:                                         $objWriter->writeAttribute('val',   $pDrawing->getShadow()->getAlpha() * 1000);
313:                                         $objWriter->endElement();
314: 
315:                                     $objWriter->endElement();
316: 
317:                                 $objWriter->endElement();
318: 
319:                             $objWriter->endElement();
320:                         }
321: /*
322: 
323:                         // a:scene3d
324:                         $objWriter->startElement('a:scene3d');
325: 
326:                             // a:camera
327:                             $objWriter->startElement('a:camera');
328:                             $objWriter->writeAttribute('prst', 'orthographicFront');
329:                             $objWriter->endElement();
330: 
331:                             // a:lightRig
332:                             $objWriter->startElement('a:lightRig');
333:                             $objWriter->writeAttribute('rig', 'twoPt');
334:                             $objWriter->writeAttribute('dir', 't');
335: 
336:                                 // a:rot
337:                                 $objWriter->startElement('a:rot');
338:                                 $objWriter->writeAttribute('lat', '0');
339:                                 $objWriter->writeAttribute('lon', '0');
340:                                 $objWriter->writeAttribute('rev', '0');
341:                                 $objWriter->endElement();
342: 
343:                             $objWriter->endElement();
344: 
345:                         $objWriter->endElement();
346: */
347: /*
348:                         // a:sp3d
349:                         $objWriter->startElement('a:sp3d');
350: 
351:                             // a:bevelT
352:                             $objWriter->startElement('a:bevelT');
353:                             $objWriter->writeAttribute('w', '25400');
354:                             $objWriter->writeAttribute('h', '19050');
355:                             $objWriter->endElement();
356: 
357:                             // a:contourClr
358:                             $objWriter->startElement('a:contourClr');
359: 
360:                                 // a:srgbClr
361:                                 $objWriter->startElement('a:srgbClr');
362:                                 $objWriter->writeAttribute('val', 'FFFFFF');
363:                                 $objWriter->endElement();
364: 
365:                             $objWriter->endElement();
366: 
367:                         $objWriter->endElement();
368: */
369:                     $objWriter->endElement();
370: 
371:                 $objWriter->endElement();
372: 
373:                 // xdr:clientData
374:                 $objWriter->writeElement('xdr:clientData', null);
375: 
376:             $objWriter->endElement();
377:         } else {
378:             throw new PHPExcel_Writer_Exception("Invalid parameters passed.");
379:         }
380:     }
381: 
382:     /**
383:      * Write VML header/footer images to XML format
384:      *
385:      * @param   PHPExcel_Worksheet              $pWorksheet
386:      * @return  string                              XML Output
387:      * @throws  PHPExcel_Writer_Exception
388:      */
389:     public function writeVMLHeaderFooterImages(PHPExcel_Worksheet $pWorksheet = null)
390:     {
391:         // Create XML writer
392:         $objWriter = null;
393:         if ($this->getParentWriter()->getUseDiskCaching()) {
394:             $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory());
395:         } else {
396:             $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY);
397:         }
398: 
399:         // XML header
400:         $objWriter->startDocument('1.0','UTF-8','yes');
401: 
402:         // Header/footer images
403:         $images = $pWorksheet->getHeaderFooter()->getImages();
404: 
405:         // xml
406:         $objWriter->startElement('xml');
407:         $objWriter->writeAttribute('xmlns:v', 'urn:schemas-microsoft-com:vml');
408:         $objWriter->writeAttribute('xmlns:o', 'urn:schemas-microsoft-com:office:office');
409:         $objWriter->writeAttribute('xmlns:x', 'urn:schemas-microsoft-com:office:excel');
410: 
411:             // o:shapelayout
412:             $objWriter->startElement('o:shapelayout');
413:             $objWriter->writeAttribute('v:ext',         'edit');
414: 
415:                 // o:idmap
416:                 $objWriter->startElement('o:idmap');
417:                 $objWriter->writeAttribute('v:ext',     'edit');
418:                 $objWriter->writeAttribute('data',      '1');
419:                 $objWriter->endElement();
420: 
421:             $objWriter->endElement();
422: 
423:             // v:shapetype
424:             $objWriter->startElement('v:shapetype');
425:             $objWriter->writeAttribute('id',                    '_x0000_t75');
426:             $objWriter->writeAttribute('coordsize',             '21600,21600');
427:             $objWriter->writeAttribute('o:spt',                 '75');
428:             $objWriter->writeAttribute('o:preferrelative',      't');
429:             $objWriter->writeAttribute('path',                  'm@4@5l@4@11@9@11@9@5xe');
430:             $objWriter->writeAttribute('filled',                'f');
431:             $objWriter->writeAttribute('stroked',               'f');
432: 
433:                 // v:stroke
434:                 $objWriter->startElement('v:stroke');
435:                 $objWriter->writeAttribute('joinstyle',         'miter');
436:                 $objWriter->endElement();
437: 
438:                 // v:formulas
439:                 $objWriter->startElement('v:formulas');
440: 
441:                     // v:f
442:                     $objWriter->startElement('v:f');
443:                     $objWriter->writeAttribute('eqn',       'if lineDrawn pixelLineWidth 0');
444:                     $objWriter->endElement();
445: 
446:                     // v:f
447:                     $objWriter->startElement('v:f');
448:                     $objWriter->writeAttribute('eqn',       'sum @0 1 0');
449:                     $objWriter->endElement();
450: 
451:                     // v:f
452:                     $objWriter->startElement('v:f');
453:                     $objWriter->writeAttribute('eqn',       'sum 0 0 @1');
454:                     $objWriter->endElement();
455: 
456:                     // v:f
457:                     $objWriter->startElement('v:f');
458:                     $objWriter->writeAttribute('eqn',       'prod @2 1 2');
459:                     $objWriter->endElement();
460: 
461:                     // v:f
462:                     $objWriter->startElement('v:f');
463:                     $objWriter->writeAttribute('eqn',       'prod @3 21600 pixelWidth');
464:                     $objWriter->endElement();
465: 
466:                     // v:f
467:                     $objWriter->startElement('v:f');
468:                     $objWriter->writeAttribute('eqn',       'prod @3 21600 pixelHeight');
469:                     $objWriter->endElement();
470: 
471:                     // v:f
472:                     $objWriter->startElement('v:f');
473:                     $objWriter->writeAttribute('eqn',       'sum @0 0 1');
474:                     $objWriter->endElement();
475: 
476:                     // v:f
477:                     $objWriter->startElement('v:f');
478:                     $objWriter->writeAttribute('eqn',       'prod @6 1 2');
479:                     $objWriter->endElement();
480: 
481:                     // v:f
482:                     $objWriter->startElement('v:f');
483:                     $objWriter->writeAttribute('eqn',       'prod @7 21600 pixelWidth');
484:                     $objWriter->endElement();
485: 
486:                     // v:f
487:                     $objWriter->startElement('v:f');
488:                     $objWriter->writeAttribute('eqn',       'sum @8 21600 0');
489:                     $objWriter->endElement();
490: 
491:                     // v:f
492:                     $objWriter->startElement('v:f');
493:                     $objWriter->writeAttribute('eqn',       'prod @7 21600 pixelHeight');
494:                     $objWriter->endElement();
495: 
496:                     // v:f
497:                     $objWriter->startElement('v:f');
498:                     $objWriter->writeAttribute('eqn',       'sum @10 21600 0');
499:                     $objWriter->endElement();
500: 
501:                 $objWriter->endElement();
502: 
503:                 // v:path
504:                 $objWriter->startElement('v:path');
505:                 $objWriter->writeAttribute('o:extrusionok',     'f');
506:                 $objWriter->writeAttribute('gradientshapeok',   't');
507:                 $objWriter->writeAttribute('o:connecttype',     'rect');
508:                 $objWriter->endElement();
509: 
510:                 // o:lock
511:                 $objWriter->startElement('o:lock');
512:                 $objWriter->writeAttribute('v:ext',             'edit');
513:                 $objWriter->writeAttribute('aspectratio',       't');
514:                 $objWriter->endElement();
515: 
516:             $objWriter->endElement();
517: 
518:             // Loop through images
519:             foreach ($images as $key => $value) {
520:                 $this->_writeVMLHeaderFooterImage($objWriter, $key, $value);
521:             }
522: 
523:         $objWriter->endElement();
524: 
525:         // Return
526:         return $objWriter->getData();
527:     }
528: 
529:     /**
530:      * Write VML comment to XML format
531:      *
532:      * @param   PHPExcel_Shared_XMLWriter       $objWriter          XML Writer
533:      * @param   string                          $pReference         Reference
534:      * @param   PHPExcel_Worksheet_HeaderFooterDrawing  $pImage     Image
535:      * @throws  PHPExcel_Writer_Exception
536:      */
537:     public function _writeVMLHeaderFooterImage(PHPExcel_Shared_XMLWriter $objWriter = null, $pReference = '', PHPExcel_Worksheet_HeaderFooterDrawing $pImage = null)
538:     {
539:         // Calculate object id
540:         preg_match('{(\d+)}', md5($pReference), $m);
541:         $id = 1500 + (substr($m[1], 0, 2) * 1);
542: 
543:         // Calculate offset
544:         $width = $pImage->getWidth();
545:         $height = $pImage->getHeight();
546:         $marginLeft = $pImage->getOffsetX();
547:         $marginTop = $pImage->getOffsetY();
548: 
549:         // v:shape
550:         $objWriter->startElement('v:shape');
551:         $objWriter->writeAttribute('id',            $pReference);
552:         $objWriter->writeAttribute('o:spid',        '_x0000_s' . $id);
553:         $objWriter->writeAttribute('type',          '#_x0000_t75');
554:         $objWriter->writeAttribute('style',         "position:absolute;margin-left:{$marginLeft}px;margin-top:{$marginTop}px;width:{$width}px;height:{$height}px;z-index:1");
555: 
556:             // v:imagedata
557:             $objWriter->startElement('v:imagedata');
558:             $objWriter->writeAttribute('o:relid',       'rId' . $pReference);
559:             $objWriter->writeAttribute('o:title',       $pImage->getName());
560:             $objWriter->endElement();
561: 
562:             // o:lock
563:             $objWriter->startElement('o:lock');
564:             $objWriter->writeAttribute('v:ext',         'edit');
565:             $objWriter->writeAttribute('rotation',      't');
566:             $objWriter->endElement();
567: 
568:         $objWriter->endElement();
569:     }
570: 
571: 
572:     /**
573:      * Get an array of all drawings
574:      *
575:      * @param   PHPExcel                            $pPHPExcel
576:      * @return  PHPExcel_Worksheet_Drawing[]        All drawings in PHPExcel
577:      * @throws  PHPExcel_Writer_Exception
578:      */
579:     public function allDrawings(PHPExcel $pPHPExcel = null)
580:     {
581:         // Get an array of all drawings
582:         $aDrawings  = array();
583: 
584:         // Loop through PHPExcel
585:         $sheetCount = $pPHPExcel->getSheetCount();
586:         for ($i = 0; $i < $sheetCount; ++$i) {
587:             // Loop through images and add to array
588:             $iterator = $pPHPExcel->getSheet($i)->getDrawingCollection()->getIterator();
589:             while ($iterator->valid()) {
590:                 $aDrawings[] = $iterator->current();
591: 
592:                 $iterator->next();
593:             }
594:         }
595: 
596:         return $aDrawings;
597:     }
598: }
599: 
Autene API documentation generated by ApiGen