/** * Write workbook to XML format * * @param PHPExcel $pPHPExcel * @return string XML Output * @throws Exception */ public function writeWorkbook(PHPExcel $pPHPExcel = null) { // Create XML writer $objWriter = null; if ($this->getParentWriter()->getUseDiskCaching()) { $objWriter = new Shared_XMLWriter(Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); } else { $objWriter = new Shared_XMLWriter(Shared_XMLWriter::STORAGE_MEMORY); } // XML header $objWriter->startDocument('1.0', 'UTF-8', 'yes'); // workbook $objWriter->startElement('workbook'); $objWriter->writeAttribute('xml:space', 'preserve'); $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/spreadsheetml/2006/main'); $objWriter->writeAttribute('xmlns:r', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships'); // fileVersion $this->_writeFileVersion($objWriter); // workbookPr $this->_writeWorkbookPr($objWriter); // workbookProtection $this->_writeWorkbookProtection($objWriter, $pPHPExcel); // bookViews if ($this->getParentWriter()->getOffice2003Compatibility() === false) { $this->_writeBookViews($objWriter, $pPHPExcel); } // sheets $this->_writeSheets($objWriter, $pPHPExcel); // definedNames $this->_writeDefinedNames($objWriter, $pPHPExcel); // calcPr $this->_writeCalcPr($objWriter); $objWriter->endElement(); // Return return $objWriter->getData(); }
/** * Write content types to XML format * * @param PHPExcel $pPHPExcel * @return string XML Output * @throws Exception */ public function writeContentTypes(PHPExcel $pPHPExcel = null) { // Create XML writer $objWriter = null; if ($this->getParentWriter()->getUseDiskCaching()) { $objWriter = new Shared_XMLWriter(Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); } else { $objWriter = new Shared_XMLWriter(Shared_XMLWriter::STORAGE_MEMORY); } // XML header $objWriter->startDocument('1.0', 'UTF-8', 'yes'); // Types $objWriter->startElement('Types'); $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/content-types'); // Theme $this->_writeOverrideContentType($objWriter, '/xl/theme/theme1.xml', 'application/vnd.openxmlformats-officedocument.theme+xml'); // Styles $this->_writeOverrideContentType($objWriter, '/xl/styles.xml', 'application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml'); // Rels $this->_writeDefaultContentType($objWriter, 'rels', 'application/vnd.openxmlformats-package.relationships+xml'); // XML $this->_writeDefaultContentType($objWriter, 'xml', 'application/xml'); // VML $this->_writeDefaultContentType($objWriter, 'vml', 'application/vnd.openxmlformats-officedocument.vmlDrawing'); // Workbook $this->_writeOverrideContentType($objWriter, '/xl/workbook.xml', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml'); // DocProps $this->_writeOverrideContentType($objWriter, '/docProps/app.xml', 'application/vnd.openxmlformats-officedocument.extended-properties+xml'); $this->_writeOverrideContentType($objWriter, '/docProps/core.xml', 'application/vnd.openxmlformats-package.core-properties+xml'); // Worksheets $sheetCount = $pPHPExcel->getSheetCount(); for ($i = 0; $i < $sheetCount; ++$i) { $this->_writeOverrideContentType($objWriter, '/xl/worksheets/sheet' . ($i + 1) . '.xml', 'application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml'); } // Shared strings $this->_writeOverrideContentType($objWriter, '/xl/sharedStrings.xml', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml'); // Add worksheet relationship content types for ($i = 0; $i < $sheetCount; ++$i) { if ($pPHPExcel->getSheet($i)->getDrawingCollection()->count() > 0) { $this->_writeOverrideContentType($objWriter, '/xl/drawings/drawing' . ($i + 1) . '.xml', 'application/vnd.openxmlformats-officedocument.drawing+xml'); } } // Comments for ($i = 0; $i < $sheetCount; ++$i) { if (count($pPHPExcel->getSheet($i)->getComments()) > 0) { $this->_writeOverrideContentType($objWriter, '/xl/comments' . ($i + 1) . '.xml', 'application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml'); } } // Add media content-types $aMediaContentTypes = array(); $mediaCount = $this->getParentWriter()->getDrawingHashTable()->count(); for ($i = 0; $i < $mediaCount; ++$i) { $extension = ''; $mimeType = ''; if ($this->getParentWriter()->getDrawingHashTable()->getByIndex($i) instanceof Worksheet_Drawing) { $extension = strtolower($this->getParentWriter()->getDrawingHashTable()->getByIndex($i)->getExtension()); $mimeType = $this->_getImageMimeType($this->getParentWriter()->getDrawingHashTable()->getByIndex($i)->getPath()); } else { if ($this->getParentWriter()->getDrawingHashTable()->getByIndex($i) instanceof Worksheet_MemoryDrawing) { $extension = strtolower($this->getParentWriter()->getDrawingHashTable()->getByIndex($i)->getMimeType()); $extension = explode('/', $extension); $extension = $extension[1]; $mimeType = $this->getParentWriter()->getDrawingHashTable()->getByIndex($i)->getMimeType(); } } if (!isset($aMediaContentTypes[$extension])) { $aMediaContentTypes[$extension] = $mimeType; $this->_writeDefaultContentType($objWriter, $extension, $mimeType); } } $sheetCount = $pPHPExcel->getSheetCount(); for ($i = 0; $i < $sheetCount; ++$i) { if (count($pPHPExcel->getSheet()->getHeaderFooter()->getImages()) > 0) { foreach ($pPHPExcel->getSheet()->getHeaderFooter()->getImages() as $image) { if (!isset($aMediaContentTypes[strtolower($image->getExtension())])) { $aMediaContentTypes[strtolower($image->getExtension())] = $this->_getImageMimeType($image->getPath()); $this->_writeDefaultContentType($objWriter, strtolower($image->getExtension()), $aMediaContentTypes[strtolower($image->getExtension())]); } } } } $objWriter->endElement(); // Return return $objWriter->getData(); }
/** * Write VML header/footer images to XML format * * @param Worksheet $pWorksheet * @return string XML Output * @throws Exception */ public function writeVMLHeaderFooterImages(Worksheet $pWorksheet = null) { // Create XML writer $objWriter = null; if ($this->getParentWriter()->getUseDiskCaching()) { $objWriter = new Shared_XMLWriter(Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); } else { $objWriter = new Shared_XMLWriter(Shared_XMLWriter::STORAGE_MEMORY); } // XML header $objWriter->startDocument('1.0', 'UTF-8', 'yes'); // Header/footer images $images = $pWorksheet->getHeaderFooter()->getImages(); // xml $objWriter->startElement('xml'); $objWriter->writeAttribute('xmlns:v', 'urn:schemas-microsoft-com:vml'); $objWriter->writeAttribute('xmlns:o', 'urn:schemas-microsoft-com:office:office'); $objWriter->writeAttribute('xmlns:x', 'urn:schemas-microsoft-com:office:excel'); // o:shapelayout $objWriter->startElement('o:shapelayout'); $objWriter->writeAttribute('v:ext', 'edit'); // o:idmap $objWriter->startElement('o:idmap'); $objWriter->writeAttribute('v:ext', 'edit'); $objWriter->writeAttribute('data', '1'); $objWriter->endElement(); $objWriter->endElement(); // v:shapetype $objWriter->startElement('v:shapetype'); $objWriter->writeAttribute('id', '_x0000_t75'); $objWriter->writeAttribute('coordsize', '21600,21600'); $objWriter->writeAttribute('o:spt', '75'); $objWriter->writeAttribute('o:preferrelative', 't'); $objWriter->writeAttribute('path', 'm@4@5l@4@11@9@11@9@5xe'); $objWriter->writeAttribute('filled', 'f'); $objWriter->writeAttribute('stroked', 'f'); // v:stroke $objWriter->startElement('v:stroke'); $objWriter->writeAttribute('joinstyle', 'miter'); $objWriter->endElement(); // v:formulas $objWriter->startElement('v:formulas'); // v:f $objWriter->startElement('v:f'); $objWriter->writeAttribute('eqn', 'if lineDrawn pixelLineWidth 0'); $objWriter->endElement(); // v:f $objWriter->startElement('v:f'); $objWriter->writeAttribute('eqn', 'sum @0 1 0'); $objWriter->endElement(); // v:f $objWriter->startElement('v:f'); $objWriter->writeAttribute('eqn', 'sum 0 0 @1'); $objWriter->endElement(); // v:f $objWriter->startElement('v:f'); $objWriter->writeAttribute('eqn', 'prod @2 1 2'); $objWriter->endElement(); // v:f $objWriter->startElement('v:f'); $objWriter->writeAttribute('eqn', 'prod @3 21600 pixelWidth'); $objWriter->endElement(); // v:f $objWriter->startElement('v:f'); $objWriter->writeAttribute('eqn', 'prod @3 21600 pixelHeight'); $objWriter->endElement(); // v:f $objWriter->startElement('v:f'); $objWriter->writeAttribute('eqn', 'sum @0 0 1'); $objWriter->endElement(); // v:f $objWriter->startElement('v:f'); $objWriter->writeAttribute('eqn', 'prod @6 1 2'); $objWriter->endElement(); // v:f $objWriter->startElement('v:f'); $objWriter->writeAttribute('eqn', 'prod @7 21600 pixelWidth'); $objWriter->endElement(); // v:f $objWriter->startElement('v:f'); $objWriter->writeAttribute('eqn', 'sum @8 21600 0'); $objWriter->endElement(); // v:f $objWriter->startElement('v:f'); $objWriter->writeAttribute('eqn', 'prod @7 21600 pixelHeight'); $objWriter->endElement(); // v:f $objWriter->startElement('v:f'); $objWriter->writeAttribute('eqn', 'sum @10 21600 0'); $objWriter->endElement(); $objWriter->endElement(); // v:path $objWriter->startElement('v:path'); $objWriter->writeAttribute('o:extrusionok', 'f'); $objWriter->writeAttribute('gradientshapeok', 't'); $objWriter->writeAttribute('o:connecttype', 'rect'); $objWriter->endElement(); // o:lock $objWriter->startElement('o:lock'); $objWriter->writeAttribute('v:ext', 'edit'); $objWriter->writeAttribute('aspectratio', 't'); $objWriter->endElement(); $objWriter->endElement(); // Loop through images foreach ($images as $key => $value) { $this->_writeVMLHeaderFooterImage($objWriter, $key, $value); } $objWriter->endElement(); // Return return $objWriter->getData(); }
/** * Write VML comments to XML format * * @param Worksheet $pWorksheet * @return string XML Output * @throws Exception */ public function writeVMLComments(Worksheet $pWorksheet = null) { // Create XML writer $objWriter = null; if ($this->getParentWriter()->getUseDiskCaching()) { $objWriter = new Shared_XMLWriter(Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); } else { $objWriter = new Shared_XMLWriter(Shared_XMLWriter::STORAGE_MEMORY); } // XML header $objWriter->startDocument('1.0', 'UTF-8', 'yes'); // Comments cache $comments = $pWorksheet->getComments(); // xml $objWriter->startElement('xml'); $objWriter->writeAttribute('xmlns:v', 'urn:schemas-microsoft-com:vml'); $objWriter->writeAttribute('xmlns:o', 'urn:schemas-microsoft-com:office:office'); $objWriter->writeAttribute('xmlns:x', 'urn:schemas-microsoft-com:office:excel'); // o:shapelayout $objWriter->startElement('o:shapelayout'); $objWriter->writeAttribute('v:ext', 'edit'); // o:idmap $objWriter->startElement('o:idmap'); $objWriter->writeAttribute('v:ext', 'edit'); $objWriter->writeAttribute('data', '1'); $objWriter->endElement(); $objWriter->endElement(); // v:shapetype $objWriter->startElement('v:shapetype'); $objWriter->writeAttribute('id', '_x0000_t202'); $objWriter->writeAttribute('coordsize', '21600,21600'); $objWriter->writeAttribute('o:spt', '202'); $objWriter->writeAttribute('path', 'm,l,21600r21600,l21600,xe'); // v:stroke $objWriter->startElement('v:stroke'); $objWriter->writeAttribute('joinstyle', 'miter'); $objWriter->endElement(); // v:path $objWriter->startElement('v:path'); $objWriter->writeAttribute('gradientshapeok', 't'); $objWriter->writeAttribute('o:connecttype', 'rect'); $objWriter->endElement(); $objWriter->endElement(); // Loop through comments foreach ($comments as $key => $value) { $this->_writeVMLComment($objWriter, $key, $value); } $objWriter->endElement(); // Return return $objWriter->getData(); }
/** * Write header/footer drawing relationships to XML format * * @param Worksheet $pWorksheet * @return string XML Output * @throws Exception */ public function writeHeaderFooterDrawingRelationships(Worksheet $pWorksheet = null) { // Create XML writer $objWriter = null; if ($this->getParentWriter()->getUseDiskCaching()) { $objWriter = new Shared_XMLWriter(Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); } else { $objWriter = new Shared_XMLWriter(Shared_XMLWriter::STORAGE_MEMORY); } // XML header $objWriter->startDocument('1.0', 'UTF-8', 'yes'); // Relationships $objWriter->startElement('Relationships'); $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/relationships'); // Loop through images and write relationships foreach ($pWorksheet->getHeaderFooter()->getImages() as $key => $value) { // Write relationship for image drawing $this->_writeRelationship($objWriter, $key, 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/image', '../media/' . $value->getIndexedFilename()); } $objWriter->endElement(); // Return return $objWriter->getData(); }
/** * Write styles to XML format * * @param PHPExcel $pPHPExcel * @return string XML Output * @throws Exception */ public function writeStyles(PHPExcel $pPHPExcel = null) { // Create XML writer $objWriter = null; if ($this->getParentWriter()->getUseDiskCaching()) { $objWriter = new Shared_XMLWriter(Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); } else { $objWriter = new Shared_XMLWriter(Shared_XMLWriter::STORAGE_MEMORY); } // XML header $objWriter->startDocument('1.0', 'UTF-8', 'yes'); // styleSheet $objWriter->startElement('styleSheet'); $objWriter->writeAttribute('xml:space', 'preserve'); $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/spreadsheetml/2006/main'); // numFmts $objWriter->startElement('numFmts'); $objWriter->writeAttribute('count', $this->getParentWriter()->getNumFmtHashTable()->count()); // numFmt for ($i = 0; $i < $this->getParentWriter()->getNumFmtHashTable()->count(); ++$i) { $this->_writeNumFmt($objWriter, $this->getParentWriter()->getNumFmtHashTable()->getByIndex($i), $i); } $objWriter->endElement(); // fonts $objWriter->startElement('fonts'); $objWriter->writeAttribute('count', $this->getParentWriter()->getFontHashTable()->count()); // font for ($i = 0; $i < $this->getParentWriter()->getFontHashTable()->count(); ++$i) { $this->_writeFont($objWriter, $this->getParentWriter()->getFontHashTable()->getByIndex($i)); } $objWriter->endElement(); // fills $objWriter->startElement('fills'); $objWriter->writeAttribute('count', $this->getParentWriter()->getFillHashTable()->count()); // fill for ($i = 0; $i < $this->getParentWriter()->getFillHashTable()->count(); ++$i) { $this->_writeFill($objWriter, $this->getParentWriter()->getFillHashTable()->getByIndex($i)); } $objWriter->endElement(); // borders $objWriter->startElement('borders'); $objWriter->writeAttribute('count', $this->getParentWriter()->getBordersHashTable()->count()); // border for ($i = 0; $i < $this->getParentWriter()->getBordersHashTable()->count(); ++$i) { $this->_writeBorder($objWriter, $this->getParentWriter()->getBordersHashTable()->getByIndex($i)); } $objWriter->endElement(); // cellStyleXfs $objWriter->startElement('cellStyleXfs'); $objWriter->writeAttribute('count', 1); // xf $objWriter->startElement('xf'); $objWriter->writeAttribute('numFmtId', 0); $objWriter->writeAttribute('fontId', 0); $objWriter->writeAttribute('fillId', 0); $objWriter->writeAttribute('borderId', 0); $objWriter->endElement(); $objWriter->endElement(); // cellXfs $objWriter->startElement('cellXfs'); $objWriter->writeAttribute('count', count($pPHPExcel->getCellXfCollection())); // xf foreach ($pPHPExcel->getCellXfCollection() as $cellXf) { $this->_writeCellStyleXf($objWriter, $cellXf, $pPHPExcel); } $objWriter->endElement(); // cellStyles $objWriter->startElement('cellStyles'); $objWriter->writeAttribute('count', 1); // cellStyle $objWriter->startElement('cellStyle'); $objWriter->writeAttribute('name', 'Normal'); $objWriter->writeAttribute('xfId', 0); $objWriter->writeAttribute('builtinId', 0); $objWriter->endElement(); $objWriter->endElement(); // dxfs $objWriter->startElement('dxfs'); $objWriter->writeAttribute('count', $this->getParentWriter()->getStylesConditionalHashTable()->count()); // dxf for ($i = 0; $i < $this->getParentWriter()->getStylesConditionalHashTable()->count(); ++$i) { $this->_writeCellStyleDxf($objWriter, $this->getParentWriter()->getStylesConditionalHashTable()->getByIndex($i)->getStyle()); } $objWriter->endElement(); // tableStyles $objWriter->startElement('tableStyles'); $objWriter->writeAttribute('defaultTableStyle', 'TableStyleMedium9'); $objWriter->writeAttribute('defaultPivotStyle', 'PivotTableStyle1'); $objWriter->endElement(); $objWriter->endElement(); // Return return $objWriter->getData(); }
/** * Write docProps/core.xml to XML format * * @param PHPExcel $pPHPExcel * @return string XML Output * @throws Exception */ public function writeDocPropsCore(PHPExcel $pPHPExcel = null) { // Create XML writer $objWriter = null; if ($this->getParentWriter()->getUseDiskCaching()) { $objWriter = new Shared_XMLWriter(Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); } else { $objWriter = new Shared_XMLWriter(Shared_XMLWriter::STORAGE_MEMORY); } // XML header $objWriter->startDocument('1.0', 'UTF-8', 'yes'); // cp:coreProperties $objWriter->startElement('cp:coreProperties'); $objWriter->writeAttribute('xmlns:cp', 'http://schemas.openxmlformats.org/package/2006/metadata/core-properties'); $objWriter->writeAttribute('xmlns:dc', 'http://purl.org/dc/elements/1.1/'); $objWriter->writeAttribute('xmlns:dcterms', 'http://purl.org/dc/terms/'); $objWriter->writeAttribute('xmlns:dcmitype', 'http://purl.org/dc/dcmitype/'); $objWriter->writeAttribute('xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance'); // dc:creator $objWriter->writeElement('dc:creator', $pPHPExcel->getProperties()->getCreator()); // cp:lastModifiedBy $objWriter->writeElement('cp:lastModifiedBy', $pPHPExcel->getProperties()->getLastModifiedBy()); // dcterms:created $objWriter->startElement('dcterms:created'); $objWriter->writeAttribute('xsi:type', 'dcterms:W3CDTF'); $objWriter->writeRaw(date(DATE_W3C, $pPHPExcel->getProperties()->getCreated())); $objWriter->endElement(); // dcterms:modified $objWriter->startElement('dcterms:modified'); $objWriter->writeAttribute('xsi:type', 'dcterms:W3CDTF'); $objWriter->writeRaw(date(DATE_W3C, $pPHPExcel->getProperties()->getModified())); $objWriter->endElement(); // dc:title $objWriter->writeElement('dc:title', $pPHPExcel->getProperties()->getTitle()); // dc:description $objWriter->writeElement('dc:description', $pPHPExcel->getProperties()->getDescription()); // dc:subject $objWriter->writeElement('dc:subject', $pPHPExcel->getProperties()->getSubject()); // cp:keywords $objWriter->writeElement('cp:keywords', $pPHPExcel->getProperties()->getKeywords()); // cp:category $objWriter->writeElement('cp:category', $pPHPExcel->getProperties()->getCategory()); $objWriter->endElement(); // Return return $objWriter->getData(); }
/** * Write theme to XML format * * @param PHPExcel $pPHPExcel * @return string XML Output * @throws Exception */ public function writeTheme(PHPExcel $pPHPExcel = null) { // Create XML writer $objWriter = null; if ($this->getParentWriter()->getUseDiskCaching()) { $objWriter = new Shared_XMLWriter(Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); } else { $objWriter = new Shared_XMLWriter(Shared_XMLWriter::STORAGE_MEMORY); } // XML header $objWriter->startDocument('1.0', 'UTF-8', 'yes'); // a:theme $objWriter->startElement('a:theme'); $objWriter->writeAttribute('xmlns:a', 'http://schemas.openxmlformats.org/drawingml/2006/main'); $objWriter->writeAttribute('name', 'Office Theme'); // a:themeElements $objWriter->startElement('a:themeElements'); // a:clrScheme $objWriter->startElement('a:clrScheme'); $objWriter->writeAttribute('name', 'Office'); // a:dk1 $objWriter->startElement('a:dk1'); // a:sysClr $objWriter->startElement('a:sysClr'); $objWriter->writeAttribute('val', 'windowText'); $objWriter->writeAttribute('lastClr', '000000'); $objWriter->endElement(); $objWriter->endElement(); // a:lt1 $objWriter->startElement('a:lt1'); // a:sysClr $objWriter->startElement('a:sysClr'); $objWriter->writeAttribute('val', 'window'); $objWriter->writeAttribute('lastClr', 'FFFFFF'); $objWriter->endElement(); $objWriter->endElement(); // a:dk2 $objWriter->startElement('a:dk2'); // a:sysClr $objWriter->startElement('a:srgbClr'); $objWriter->writeAttribute('val', '1F497D'); $objWriter->endElement(); $objWriter->endElement(); // a:lt2 $objWriter->startElement('a:lt2'); // a:sysClr $objWriter->startElement('a:srgbClr'); $objWriter->writeAttribute('val', 'EEECE1'); $objWriter->endElement(); $objWriter->endElement(); // a:accent1 $objWriter->startElement('a:accent1'); // a:sysClr $objWriter->startElement('a:srgbClr'); $objWriter->writeAttribute('val', '4F81BD'); $objWriter->endElement(); $objWriter->endElement(); // a:accent2 $objWriter->startElement('a:accent2'); // a:sysClr $objWriter->startElement('a:srgbClr'); $objWriter->writeAttribute('val', 'C0504D'); $objWriter->endElement(); $objWriter->endElement(); // a:accent3 $objWriter->startElement('a:accent3'); // a:sysClr $objWriter->startElement('a:srgbClr'); $objWriter->writeAttribute('val', '9BBB59'); $objWriter->endElement(); $objWriter->endElement(); // a:accent4 $objWriter->startElement('a:accent4'); // a:sysClr $objWriter->startElement('a:srgbClr'); $objWriter->writeAttribute('val', '8064A2'); $objWriter->endElement(); $objWriter->endElement(); // a:accent5 $objWriter->startElement('a:accent5'); // a:sysClr $objWriter->startElement('a:srgbClr'); $objWriter->writeAttribute('val', '4BACC6'); $objWriter->endElement(); $objWriter->endElement(); // a:accent6 $objWriter->startElement('a:accent6'); // a:sysClr $objWriter->startElement('a:srgbClr'); $objWriter->writeAttribute('val', 'F79646'); $objWriter->endElement(); $objWriter->endElement(); // a:hlink $objWriter->startElement('a:hlink'); // a:sysClr $objWriter->startElement('a:srgbClr'); $objWriter->writeAttribute('val', '0000FF'); $objWriter->endElement(); $objWriter->endElement(); // a:folHlink $objWriter->startElement('a:folHlink'); // a:sysClr $objWriter->startElement('a:srgbClr'); $objWriter->writeAttribute('val', '800080'); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); // a:fontScheme $objWriter->startElement('a:fontScheme'); $objWriter->writeAttribute('name', 'Office'); // a:majorFont $objWriter->startElement('a:majorFont'); // a:latin $objWriter->startElement('a:latin'); $objWriter->writeAttribute('typeface', 'Cambria'); $objWriter->endElement(); // a:ea $objWriter->startElement('a:ea'); $objWriter->writeAttribute('typeface', ''); $objWriter->endElement(); // a:cs $objWriter->startElement('a:cs'); $objWriter->writeAttribute('typeface', ''); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Jpan'); $objWriter->writeAttribute('typeface', '?? ?????'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Hang'); $objWriter->writeAttribute('typeface', '?? ??'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Hans'); $objWriter->writeAttribute('typeface', '??'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Hant'); $objWriter->writeAttribute('typeface', '????'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Arab'); $objWriter->writeAttribute('typeface', 'Times New Roman'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Hebr'); $objWriter->writeAttribute('typeface', 'Times New Roman'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Thai'); $objWriter->writeAttribute('typeface', 'Tahoma'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Ethi'); $objWriter->writeAttribute('typeface', 'Nyala'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Beng'); $objWriter->writeAttribute('typeface', 'Vrinda'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Gujr'); $objWriter->writeAttribute('typeface', 'Shruti'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Khmr'); $objWriter->writeAttribute('typeface', 'MoolBoran'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Knda'); $objWriter->writeAttribute('typeface', 'Tunga'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Guru'); $objWriter->writeAttribute('typeface', 'Raavi'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Cans'); $objWriter->writeAttribute('typeface', 'Euphemia'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Cher'); $objWriter->writeAttribute('typeface', 'Plantagenet Cherokee'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Yiii'); $objWriter->writeAttribute('typeface', 'Microsoft Yi Baiti'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Tibt'); $objWriter->writeAttribute('typeface', 'Microsoft Himalaya'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Thaa'); $objWriter->writeAttribute('typeface', 'MV Boli'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Deva'); $objWriter->writeAttribute('typeface', 'Mangal'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Telu'); $objWriter->writeAttribute('typeface', 'Gautami'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Taml'); $objWriter->writeAttribute('typeface', 'Latha'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Syrc'); $objWriter->writeAttribute('typeface', 'Estrangelo Edessa'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Orya'); $objWriter->writeAttribute('typeface', 'Kalinga'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Mlym'); $objWriter->writeAttribute('typeface', 'Kartika'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Laoo'); $objWriter->writeAttribute('typeface', 'DokChampa'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Sinh'); $objWriter->writeAttribute('typeface', 'Iskoola Pota'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Mong'); $objWriter->writeAttribute('typeface', 'Mongolian Baiti'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Viet'); $objWriter->writeAttribute('typeface', 'Times New Roman'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Uigh'); $objWriter->writeAttribute('typeface', 'Microsoft Uighur'); $objWriter->endElement(); $objWriter->endElement(); // a:minorFont $objWriter->startElement('a:minorFont'); // a:latin $objWriter->startElement('a:latin'); $objWriter->writeAttribute('typeface', 'Calibri'); $objWriter->endElement(); // a:ea $objWriter->startElement('a:ea'); $objWriter->writeAttribute('typeface', ''); $objWriter->endElement(); // a:cs $objWriter->startElement('a:cs'); $objWriter->writeAttribute('typeface', ''); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Jpan'); $objWriter->writeAttribute('typeface', '?? ?????'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Hang'); $objWriter->writeAttribute('typeface', '?? ??'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Hans'); $objWriter->writeAttribute('typeface', '??'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Hant'); $objWriter->writeAttribute('typeface', '????'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Arab'); $objWriter->writeAttribute('typeface', 'Arial'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Hebr'); $objWriter->writeAttribute('typeface', 'Arial'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Thai'); $objWriter->writeAttribute('typeface', 'Tahoma'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Ethi'); $objWriter->writeAttribute('typeface', 'Nyala'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Beng'); $objWriter->writeAttribute('typeface', 'Vrinda'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Gujr'); $objWriter->writeAttribute('typeface', 'Shruti'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Khmr'); $objWriter->writeAttribute('typeface', 'DaunPenh'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Knda'); $objWriter->writeAttribute('typeface', 'Tunga'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Guru'); $objWriter->writeAttribute('typeface', 'Raavi'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Cans'); $objWriter->writeAttribute('typeface', 'Euphemia'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Cher'); $objWriter->writeAttribute('typeface', 'Plantagenet Cherokee'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Yiii'); $objWriter->writeAttribute('typeface', 'Microsoft Yi Baiti'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Tibt'); $objWriter->writeAttribute('typeface', 'Microsoft Himalaya'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Thaa'); $objWriter->writeAttribute('typeface', 'MV Boli'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Deva'); $objWriter->writeAttribute('typeface', 'Mangal'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Telu'); $objWriter->writeAttribute('typeface', 'Gautami'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Taml'); $objWriter->writeAttribute('typeface', 'Latha'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Syrc'); $objWriter->writeAttribute('typeface', 'Estrangelo Edessa'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Orya'); $objWriter->writeAttribute('typeface', 'Kalinga'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Mlym'); $objWriter->writeAttribute('typeface', 'Kartika'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Laoo'); $objWriter->writeAttribute('typeface', 'DokChampa'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Sinh'); $objWriter->writeAttribute('typeface', 'Iskoola Pota'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Mong'); $objWriter->writeAttribute('typeface', 'Mongolian Baiti'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Viet'); $objWriter->writeAttribute('typeface', 'Arial'); $objWriter->endElement(); // a:font $objWriter->startElement('a:font'); $objWriter->writeAttribute('script', 'Uigh'); $objWriter->writeAttribute('typeface', 'Microsoft Uighur'); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); // a:fmtScheme $objWriter->startElement('a:fmtScheme'); $objWriter->writeAttribute('name', 'Office'); // a:fillStyleLst $objWriter->startElement('a:fillStyleLst'); // a:solidFill $objWriter->startElement('a:solidFill'); // a:schemeClr $objWriter->startElement('a:schemeClr'); $objWriter->writeAttribute('val', 'phClr'); $objWriter->endElement(); $objWriter->endElement(); // a:gradFill $objWriter->startElement('a:gradFill'); $objWriter->writeAttribute('rotWithShape', '1'); // a:gsLst $objWriter->startElement('a:gsLst'); // a:gs $objWriter->startElement('a:gs'); $objWriter->writeAttribute('pos', '0'); // a:schemeClr $objWriter->startElement('a:schemeClr'); $objWriter->writeAttribute('val', 'phClr'); // a:tint $objWriter->startElement('a:tint'); $objWriter->writeAttribute('val', '50000'); $objWriter->endElement(); // a:satMod $objWriter->startElement('a:satMod'); $objWriter->writeAttribute('val', '300000'); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); // a:gs $objWriter->startElement('a:gs'); $objWriter->writeAttribute('pos', '35000'); // a:schemeClr $objWriter->startElement('a:schemeClr'); $objWriter->writeAttribute('val', 'phClr'); // a:tint $objWriter->startElement('a:tint'); $objWriter->writeAttribute('val', '37000'); $objWriter->endElement(); // a:satMod $objWriter->startElement('a:satMod'); $objWriter->writeAttribute('val', '300000'); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); // a:gs $objWriter->startElement('a:gs'); $objWriter->writeAttribute('pos', '100000'); // a:schemeClr $objWriter->startElement('a:schemeClr'); $objWriter->writeAttribute('val', 'phClr'); // a:tint $objWriter->startElement('a:tint'); $objWriter->writeAttribute('val', '15000'); $objWriter->endElement(); // a:satMod $objWriter->startElement('a:satMod'); $objWriter->writeAttribute('val', '350000'); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); // a:lin $objWriter->startElement('a:lin'); $objWriter->writeAttribute('ang', '16200000'); $objWriter->writeAttribute('scaled', '1'); $objWriter->endElement(); $objWriter->endElement(); // a:gradFill $objWriter->startElement('a:gradFill'); $objWriter->writeAttribute('rotWithShape', '1'); // a:gsLst $objWriter->startElement('a:gsLst'); // a:gs $objWriter->startElement('a:gs'); $objWriter->writeAttribute('pos', '0'); // a:schemeClr $objWriter->startElement('a:schemeClr'); $objWriter->writeAttribute('val', 'phClr'); // a:shade $objWriter->startElement('a:shade'); $objWriter->writeAttribute('val', '51000'); $objWriter->endElement(); // a:satMod $objWriter->startElement('a:satMod'); $objWriter->writeAttribute('val', '130000'); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); // a:gs $objWriter->startElement('a:gs'); $objWriter->writeAttribute('pos', '80000'); // a:schemeClr $objWriter->startElement('a:schemeClr'); $objWriter->writeAttribute('val', 'phClr'); // a:shade $objWriter->startElement('a:shade'); $objWriter->writeAttribute('val', '93000'); $objWriter->endElement(); // a:satMod $objWriter->startElement('a:satMod'); $objWriter->writeAttribute('val', '130000'); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); // a:gs $objWriter->startElement('a:gs'); $objWriter->writeAttribute('pos', '100000'); // a:schemeClr $objWriter->startElement('a:schemeClr'); $objWriter->writeAttribute('val', 'phClr'); // a:shade $objWriter->startElement('a:shade'); $objWriter->writeAttribute('val', '94000'); $objWriter->endElement(); // a:satMod $objWriter->startElement('a:satMod'); $objWriter->writeAttribute('val', '135000'); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); // a:lin $objWriter->startElement('a:lin'); $objWriter->writeAttribute('ang', '16200000'); $objWriter->writeAttribute('scaled', '0'); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); // a:lnStyleLst $objWriter->startElement('a:lnStyleLst'); // a:ln $objWriter->startElement('a:ln'); $objWriter->writeAttribute('w', '9525'); $objWriter->writeAttribute('cap', 'flat'); $objWriter->writeAttribute('cmpd', 'sng'); $objWriter->writeAttribute('algn', 'ctr'); // a:solidFill $objWriter->startElement('a:solidFill'); // a:schemeClr $objWriter->startElement('a:schemeClr'); $objWriter->writeAttribute('val', 'phClr'); // a:shade $objWriter->startElement('a:shade'); $objWriter->writeAttribute('val', '95000'); $objWriter->endElement(); // a:satMod $objWriter->startElement('a:satMod'); $objWriter->writeAttribute('val', '105000'); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); // a:prstDash $objWriter->startElement('a:prstDash'); $objWriter->writeAttribute('val', 'solid'); $objWriter->endElement(); $objWriter->endElement(); // a:ln $objWriter->startElement('a:ln'); $objWriter->writeAttribute('w', '25400'); $objWriter->writeAttribute('cap', 'flat'); $objWriter->writeAttribute('cmpd', 'sng'); $objWriter->writeAttribute('algn', 'ctr'); // a:solidFill $objWriter->startElement('a:solidFill'); // a:schemeClr $objWriter->startElement('a:schemeClr'); $objWriter->writeAttribute('val', 'phClr'); $objWriter->endElement(); $objWriter->endElement(); // a:prstDash $objWriter->startElement('a:prstDash'); $objWriter->writeAttribute('val', 'solid'); $objWriter->endElement(); $objWriter->endElement(); // a:ln $objWriter->startElement('a:ln'); $objWriter->writeAttribute('w', '38100'); $objWriter->writeAttribute('cap', 'flat'); $objWriter->writeAttribute('cmpd', 'sng'); $objWriter->writeAttribute('algn', 'ctr'); // a:solidFill $objWriter->startElement('a:solidFill'); // a:schemeClr $objWriter->startElement('a:schemeClr'); $objWriter->writeAttribute('val', 'phClr'); $objWriter->endElement(); $objWriter->endElement(); // a:prstDash $objWriter->startElement('a:prstDash'); $objWriter->writeAttribute('val', 'solid'); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); // a:effectStyleLst $objWriter->startElement('a:effectStyleLst'); // a:effectStyle $objWriter->startElement('a:effectStyle'); // a:effectLst $objWriter->startElement('a:effectLst'); // a:outerShdw $objWriter->startElement('a:outerShdw'); $objWriter->writeAttribute('blurRad', '40000'); $objWriter->writeAttribute('dist', '20000'); $objWriter->writeAttribute('dir', '5400000'); $objWriter->writeAttribute('rotWithShape', '0'); // a:srgbClr $objWriter->startElement('a:srgbClr'); $objWriter->writeAttribute('val', '000000'); // a:alpha $objWriter->startElement('a:alpha'); $objWriter->writeAttribute('val', '38000'); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); // a:effectStyle $objWriter->startElement('a:effectStyle'); // a:effectLst $objWriter->startElement('a:effectLst'); // a:outerShdw $objWriter->startElement('a:outerShdw'); $objWriter->writeAttribute('blurRad', '40000'); $objWriter->writeAttribute('dist', '23000'); $objWriter->writeAttribute('dir', '5400000'); $objWriter->writeAttribute('rotWithShape', '0'); // a:srgbClr $objWriter->startElement('a:srgbClr'); $objWriter->writeAttribute('val', '000000'); // a:alpha $objWriter->startElement('a:alpha'); $objWriter->writeAttribute('val', '35000'); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); // a:effectStyle $objWriter->startElement('a:effectStyle'); // a:effectLst $objWriter->startElement('a:effectLst'); // a:outerShdw $objWriter->startElement('a:outerShdw'); $objWriter->writeAttribute('blurRad', '40000'); $objWriter->writeAttribute('dist', '23000'); $objWriter->writeAttribute('dir', '5400000'); $objWriter->writeAttribute('rotWithShape', '0'); // a:srgbClr $objWriter->startElement('a:srgbClr'); $objWriter->writeAttribute('val', '000000'); // a:alpha $objWriter->startElement('a:alpha'); $objWriter->writeAttribute('val', '35000'); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); // a:scene3d $objWriter->startElement('a:scene3d'); // a:camera $objWriter->startElement('a:camera'); $objWriter->writeAttribute('prst', 'orthographicFront'); // a:rot $objWriter->startElement('a:rot'); $objWriter->writeAttribute('lat', '0'); $objWriter->writeAttribute('lon', '0'); $objWriter->writeAttribute('rev', '0'); $objWriter->endElement(); $objWriter->endElement(); // a:lightRig $objWriter->startElement('a:lightRig'); $objWriter->writeAttribute('rig', 'threePt'); $objWriter->writeAttribute('dir', 't'); // a:rot $objWriter->startElement('a:rot'); $objWriter->writeAttribute('lat', '0'); $objWriter->writeAttribute('lon', '0'); $objWriter->writeAttribute('rev', '1200000'); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); // a:sp3d $objWriter->startElement('a:sp3d'); // a:bevelT $objWriter->startElement('a:bevelT'); $objWriter->writeAttribute('w', '63500'); $objWriter->writeAttribute('h', '25400'); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); // a:bgFillStyleLst $objWriter->startElement('a:bgFillStyleLst'); // a:solidFill $objWriter->startElement('a:solidFill'); // a:schemeClr $objWriter->startElement('a:schemeClr'); $objWriter->writeAttribute('val', 'phClr'); $objWriter->endElement(); $objWriter->endElement(); // a:gradFill $objWriter->startElement('a:gradFill'); $objWriter->writeAttribute('rotWithShape', '1'); // a:gsLst $objWriter->startElement('a:gsLst'); // a:gs $objWriter->startElement('a:gs'); $objWriter->writeAttribute('pos', '0'); // a:schemeClr $objWriter->startElement('a:schemeClr'); $objWriter->writeAttribute('val', 'phClr'); // a:tint $objWriter->startElement('a:tint'); $objWriter->writeAttribute('val', '40000'); $objWriter->endElement(); // a:satMod $objWriter->startElement('a:satMod'); $objWriter->writeAttribute('val', '350000'); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); // a:gs $objWriter->startElement('a:gs'); $objWriter->writeAttribute('pos', '40000'); // a:schemeClr $objWriter->startElement('a:schemeClr'); $objWriter->writeAttribute('val', 'phClr'); // a:tint $objWriter->startElement('a:tint'); $objWriter->writeAttribute('val', '45000'); $objWriter->endElement(); // a:shade $objWriter->startElement('a:shade'); $objWriter->writeAttribute('val', '99000'); $objWriter->endElement(); // a:satMod $objWriter->startElement('a:satMod'); $objWriter->writeAttribute('val', '350000'); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); // a:gs $objWriter->startElement('a:gs'); $objWriter->writeAttribute('pos', '100000'); // a:schemeClr $objWriter->startElement('a:schemeClr'); $objWriter->writeAttribute('val', 'phClr'); // a:shade $objWriter->startElement('a:shade'); $objWriter->writeAttribute('val', '20000'); $objWriter->endElement(); // a:satMod $objWriter->startElement('a:satMod'); $objWriter->writeAttribute('val', '255000'); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); // a:path $objWriter->startElement('a:path'); $objWriter->writeAttribute('path', 'circle'); // a:fillToRect $objWriter->startElement('a:fillToRect'); $objWriter->writeAttribute('l', '50000'); $objWriter->writeAttribute('t', '-80000'); $objWriter->writeAttribute('r', '50000'); $objWriter->writeAttribute('b', '180000'); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); // a:gradFill $objWriter->startElement('a:gradFill'); $objWriter->writeAttribute('rotWithShape', '1'); // a:gsLst $objWriter->startElement('a:gsLst'); // a:gs $objWriter->startElement('a:gs'); $objWriter->writeAttribute('pos', '0'); // a:schemeClr $objWriter->startElement('a:schemeClr'); $objWriter->writeAttribute('val', 'phClr'); // a:tint $objWriter->startElement('a:tint'); $objWriter->writeAttribute('val', '80000'); $objWriter->endElement(); // a:satMod $objWriter->startElement('a:satMod'); $objWriter->writeAttribute('val', '300000'); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); // a:gs $objWriter->startElement('a:gs'); $objWriter->writeAttribute('pos', '100000'); // a:schemeClr $objWriter->startElement('a:schemeClr'); $objWriter->writeAttribute('val', 'phClr'); // a:shade $objWriter->startElement('a:shade'); $objWriter->writeAttribute('val', '30000'); $objWriter->endElement(); // a:satMod $objWriter->startElement('a:satMod'); $objWriter->writeAttribute('val', '200000'); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); // a:path $objWriter->startElement('a:path'); $objWriter->writeAttribute('path', 'circle'); // a:fillToRect $objWriter->startElement('a:fillToRect'); $objWriter->writeAttribute('l', '50000'); $objWriter->writeAttribute('t', '50000'); $objWriter->writeAttribute('r', '50000'); $objWriter->writeAttribute('b', '50000'); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); // a:objectDefaults $objWriter->writeElement('a:objectDefaults', null); // a:extraClrSchemeLst $objWriter->writeElement('a:extraClrSchemeLst', null); $objWriter->endElement(); // Return return $objWriter->getData(); }
/** * Write worksheet to XML format * * @param Worksheet $pSheet * @param string[] $pStringTable * @return string XML Output * @throws Exception */ public function writeWorksheet($pSheet = null, $pStringTable = null) { if (!is_null($pSheet)) { // Create XML writer $objWriter = null; if ($this->getParentWriter()->getUseDiskCaching()) { $objWriter = new Shared_XMLWriter(Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); } else { $objWriter = new Shared_XMLWriter(Shared_XMLWriter::STORAGE_MEMORY); } // XML header $objWriter->startDocument('1.0', 'UTF-8', 'yes'); // Worksheet $objWriter->startElement('worksheet'); $objWriter->writeAttribute('xml:space', 'preserve'); $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/spreadsheetml/2006/main'); $objWriter->writeAttribute('xmlns:r', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships'); // sheetPr $this->_writeSheetPr($objWriter, $pSheet); // Dimension $this->_writeDimension($objWriter, $pSheet); // sheetViews $this->_writeSheetViews($objWriter, $pSheet); // sheetFormatPr $this->_writeSheetFormatPr($objWriter, $pSheet); // cols $this->_writeCols($objWriter, $pSheet); // sheetData $this->_writeSheetData($objWriter, $pSheet, $pStringTable); // sheetProtection $this->_writeSheetProtection($objWriter, $pSheet); // protectedRanges $this->_writeProtectedRanges($objWriter, $pSheet); // autoFilter $this->_writeAutoFilter($objWriter, $pSheet); // mergeCells $this->_writeMergeCells($objWriter, $pSheet); // conditionalFormatting $this->_writeConditionalFormatting($objWriter, $pSheet); // dataValidations $this->_writeDataValidations($objWriter, $pSheet); // hyperlinks $this->_writeHyperlinks($objWriter, $pSheet); // Print options $this->_writePrintOptions($objWriter, $pSheet); // Page margins $this->_writePageMargins($objWriter, $pSheet); // Page setup $this->_writePageSetup($objWriter, $pSheet); // Header / footer $this->_writeHeaderFooter($objWriter, $pSheet); // Breaks $this->_writeBreaks($objWriter, $pSheet); // Drawings $this->_writeDrawings($objWriter, $pSheet); // LegacyDrawing $this->_writeLegacyDrawing($objWriter, $pSheet); // LegacyDrawingHF $this->_writeLegacyDrawingHF($objWriter, $pSheet); $objWriter->endElement(); // Return return $objWriter->getData(); } else { throw new Exception("Invalid Worksheet object passed."); } }
/** * Write string table to XML format * * @param string[] $pStringTable * @return string XML Output * @throws Exception */ public function writeStringTable($pStringTable = null) { if (!is_null($pStringTable)) { // Create XML writer $objWriter = null; if ($this->getParentWriter()->getUseDiskCaching()) { $objWriter = new Shared_XMLWriter(Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); } else { $objWriter = new Shared_XMLWriter(Shared_XMLWriter::STORAGE_MEMORY); } // XML header $objWriter->startDocument('1.0', 'UTF-8', 'yes'); // String table $objWriter->startElement('sst'); $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/spreadsheetml/2006/main'); $objWriter->writeAttribute('uniqueCount', count($pStringTable)); // Loop through string table foreach ($pStringTable as $textElement) { $objWriter->startElement('si'); if (!$textElement instanceof RichText) { $textToWrite = Shared_String::ControlCharacterPHP2OOXML($textElement); $objWriter->startElement('t'); if ($textToWrite !== trim($textToWrite)) { $objWriter->writeAttribute('xml:space', 'preserve'); } $objWriter->writeRaw($textToWrite); $objWriter->endElement(); } else { if ($textElement instanceof RichText) { $this->writeRichText($objWriter, $textElement); } } $objWriter->endElement(); } $objWriter->endElement(); // Return return $objWriter->getData(); } else { throw new Exception("Invalid string table array passed."); } }