/** * Write relationships for a signed VBA Project * * @param PHPExcel $pPHPExcel * @return string XML Output * @throws PHPExcel_Writer_Exception */ public function writeVBARelationships(PHPExcel $pPHPExcel = null) { // Create XML writer $objWriter = null; if ($this->getParentWriter()->getUseDiskCaching()) { $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); } else { $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_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'); $objWriter->startElement('Relationship'); $objWriter->writeAttribute('Id', 'rId1'); $objWriter->writeAttribute('Type', 'http://schemas.microsoft.com/office/2006/relationships/vbaProjectSignature'); $objWriter->writeAttribute('Target', 'vbaProjectSignature.bin'); $objWriter->endElement(); //Relationship $objWriter->endElement(); //Relationships // Return return $objWriter->getData(); }
/** * Write settings.xml to XML format * * @param PHPExcel $pPHPExcel * @return string XML Output * @throws PHPExcel_Writer_Exception */ public function write(PHPExcel $pPHPExcel = null) { if (!$pPHPExcel) { $pPHPExcel = $this->getParentWriter()->getPHPExcel(); } $objWriter = null; if ($this->getParentWriter()->getUseDiskCaching()) { $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); } else { $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); } // XML header $objWriter->startDocument('1.0', 'UTF-8'); // Settings $objWriter->startElement('office:document-settings'); $objWriter->writeAttribute('xmlns:office', 'urn:oasis:names:tc:opendocument:xmlns:office:1.0'); $objWriter->writeAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink'); $objWriter->writeAttribute('xmlns:config', 'urn:oasis:names:tc:opendocument:xmlns:config:1.0'); $objWriter->writeAttribute('xmlns:ooo', 'http://openoffice.org/2004/office'); $objWriter->writeAttribute('office:version', '1.2'); $objWriter->startElement('office:settings'); $objWriter->startElement('config:config-item-set'); $objWriter->writeAttribute('config:name', 'ooo:view-settings'); $objWriter->startElement('config:config-item-map-indexed'); $objWriter->writeAttribute('config:name', 'Views'); $objWriter->endElement(); $objWriter->endElement(); $objWriter->startElement('config:config-item-set'); $objWriter->writeAttribute('config:name', 'ooo:configuration-settings'); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); return $objWriter->getData(); }
/** * Write styles.xml to XML format * * @param PHPExcel $pPHPExcel * @return string XML Output * @throws PHPExcel_Writer_Exception */ public function write(PHPExcel $pPHPExcel = null) { if (!$pPHPExcel) { $pPHPExcel = $this->getParentWriter()->getPHPExcel(); } $objWriter = null; if ($this->getParentWriter()->getUseDiskCaching()) { $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); } else { $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); } // XML header $objWriter->startDocument('1.0', 'UTF-8'); // Content $objWriter->startElement('office:document-styles'); $objWriter->writeAttribute('xmlns:office', 'urn:oasis:names:tc:opendocument:xmlns:office:1.0'); $objWriter->writeAttribute('xmlns:style', 'urn:oasis:names:tc:opendocument:xmlns:style:1.0'); $objWriter->writeAttribute('xmlns:text', 'urn:oasis:names:tc:opendocument:xmlns:text:1.0'); $objWriter->writeAttribute('xmlns:table', 'urn:oasis:names:tc:opendocument:xmlns:table:1.0'); $objWriter->writeAttribute('xmlns:draw', 'urn:oasis:names:tc:opendocument:xmlns:drawing:1.0'); $objWriter->writeAttribute('xmlns:fo', 'urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0'); $objWriter->writeAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink'); $objWriter->writeAttribute('xmlns:dc', 'http://purl.org/dc/elements/1.1/'); $objWriter->writeAttribute('xmlns:meta', 'urn:oasis:names:tc:opendocument:xmlns:meta:1.0'); $objWriter->writeAttribute('xmlns:number', 'urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0'); $objWriter->writeAttribute('xmlns:presentation', 'urn:oasis:names:tc:opendocument:xmlns:presentation:1.0'); $objWriter->writeAttribute('xmlns:svg', 'urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0'); $objWriter->writeAttribute('xmlns:chart', 'urn:oasis:names:tc:opendocument:xmlns:chart:1.0'); $objWriter->writeAttribute('xmlns:dr3d', 'urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0'); $objWriter->writeAttribute('xmlns:math', 'http://www.w3.org/1998/Math/MathML'); $objWriter->writeAttribute('xmlns:form', 'urn:oasis:names:tc:opendocument:xmlns:form:1.0'); $objWriter->writeAttribute('xmlns:script', 'urn:oasis:names:tc:opendocument:xmlns:script:1.0'); $objWriter->writeAttribute('xmlns:ooo', 'http://openoffice.org/2004/office'); $objWriter->writeAttribute('xmlns:ooow', 'http://openoffice.org/2004/writer'); $objWriter->writeAttribute('xmlns:oooc', 'http://openoffice.org/2004/calc'); $objWriter->writeAttribute('xmlns:dom', 'http://www.w3.org/2001/xml-events'); $objWriter->writeAttribute('xmlns:rpt', 'http://openoffice.org/2005/report'); $objWriter->writeAttribute('xmlns:of', 'urn:oasis:names:tc:opendocument:xmlns:of:1.2'); $objWriter->writeAttribute('xmlns:xhtml', 'http://www.w3.org/1999/xhtml'); $objWriter->writeAttribute('xmlns:grddl', 'http://www.w3.org/2003/g/data-view#'); $objWriter->writeAttribute('xmlns:tableooo', 'http://openoffice.org/2009/table'); $objWriter->writeAttribute('xmlns:css3t', 'http://www.w3.org/TR/css3-text/'); $objWriter->writeAttribute('office:version', '1.2'); $objWriter->writeElement('office:font-face-decls'); $objWriter->writeElement('office:styles'); $objWriter->writeElement('office:automatic-styles'); $objWriter->writeElement('office:master-styles'); $objWriter->endElement(); return $objWriter->getData(); }
/** * Write meta.xml to XML format * * @param PHPExcel $pPHPExcel * @return string XML Output * @throws \PHPExcel\Writer\Exception */ public function write(\PHPExcel\SpreadSheet $pPHPExcel = null) { if (!$pPHPExcel) { $pPHPExcel = $this->getParentWriter()->getPHPExcel(); } $objWriter = null; if ($this->getParentWriter()->getUseDiskCaching()) { $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); } else { $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); } // XML header $objWriter->startDocument('1.0', 'UTF-8'); // Meta $objWriter->startElement('office:document-meta'); $objWriter->writeAttribute('xmlns:office', 'urn:oasis:names:tc:opendocument:xmlns:office:1.0'); $objWriter->writeAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink'); $objWriter->writeAttribute('xmlns:dc', 'http://purl.org/dc/elements/1.1/'); $objWriter->writeAttribute('xmlns:meta', 'urn:oasis:names:tc:opendocument:xmlns:meta:1.0'); $objWriter->writeAttribute('xmlns:ooo', 'http://openoffice.org/2004/office'); $objWriter->writeAttribute('xmlns:grddl', 'http://www.w3.org/2003/g/data-view#'); $objWriter->writeAttribute('office:version', '1.2'); $objWriter->startElement('office:meta'); $objWriter->writeElement('meta:initial-creator', $pPHPExcel->getProperties()->getCreator()); $objWriter->writeElement('dc:creator', $pPHPExcel->getProperties()->getCreator()); $objWriter->writeElement('meta:creation-date', date(DATE_W3C, $pPHPExcel->getProperties()->getCreated())); $objWriter->writeElement('dc:date', date(DATE_W3C, $pPHPExcel->getProperties()->getCreated())); $objWriter->writeElement('dc:title', $pPHPExcel->getProperties()->getTitle()); $objWriter->writeElement('dc:description', $pPHPExcel->getProperties()->getDescription()); $objWriter->writeElement('dc:subject', $pPHPExcel->getProperties()->getSubject()); $keywords = explode(' ', $pPHPExcel->getProperties()->getKeywords()); foreach ($keywords as $keyword) { $objWriter->writeElement('meta:keyword', $keyword); } //<meta:document-statistic meta:table-count="XXX" meta:cell-count="XXX" meta:object-count="XXX"/> $objWriter->startElement('meta:user-defined'); $objWriter->writeAttribute('meta:name', 'Company'); $objWriter->writeRaw($pPHPExcel->getProperties()->getCompany()); $objWriter->endElement(); $objWriter->startElement('meta:user-defined'); $objWriter->writeAttribute('meta:name', 'category'); $objWriter->writeRaw($pPHPExcel->getProperties()->getCategory()); $objWriter->endElement(); $objWriter->endElement(); $objWriter->endElement(); return $objWriter->getData(); }
/** * Write META-INF/manifest.xml to XML format * * @param PHPExcel $pPHPExcel * @return string XML Output * @throws PHPExcel_Writer_Exception */ public function writeManifest(PHPExcel $pPHPExcel = null) { if (!$pPHPExcel) { $pPHPExcel = $this->getParentWriter()->getPHPExcel(); } $objWriter = null; if ($this->getParentWriter()->getUseDiskCaching()) { $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); } else { $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); } // XML header $objWriter->startDocument('1.0', 'UTF-8'); // Manifest $objWriter->startElement('manifest:manifest'); $objWriter->writeAttribute('xmlns:manifest', 'urn:oasis:names:tc:opendocument:xmlns:manifest:1.0'); $objWriter->writeAttribute('manifest:version', '1.2'); $objWriter->startElement('manifest:file-entry'); $objWriter->writeAttribute('manifest:full-path', '/'); $objWriter->writeAttribute('manifest:version', '1.2'); $objWriter->writeAttribute('manifest:media-type', 'application/vnd.oasis.opendocument.spreadsheet'); $objWriter->endElement(); $objWriter->startElement('manifest:file-entry'); $objWriter->writeAttribute('manifest:full-path', 'meta.xml'); $objWriter->writeAttribute('manifest:media-type', 'text/xml'); $objWriter->endElement(); $objWriter->startElement('manifest:file-entry'); $objWriter->writeAttribute('manifest:full-path', 'settings.xml'); $objWriter->writeAttribute('manifest:media-type', 'text/xml'); $objWriter->endElement(); $objWriter->startElement('manifest:file-entry'); $objWriter->writeAttribute('manifest:full-path', 'content.xml'); $objWriter->writeAttribute('manifest:media-type', 'text/xml'); $objWriter->endElement(); $objWriter->startElement('manifest:file-entry'); $objWriter->writeAttribute('manifest:full-path', 'Thumbnails/thumbnail.png'); $objWriter->writeAttribute('manifest:media-type', 'image/png'); $objWriter->endElement(); $objWriter->startElement('manifest:file-entry'); $objWriter->writeAttribute('manifest:full-path', 'styles.xml'); $objWriter->writeAttribute('manifest:media-type', 'text/xml'); $objWriter->endElement(); $objWriter->endElement(); 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 PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); } else { $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_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 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 PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); } else { $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_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 docProps/custom.xml to XML format * * @param PHPExcel $pPHPExcel * * @return string XML Output * @throws PHPExcel_Writer_Exception */ public function writeDocPropsCustom(PHPExcel $pPHPExcel = null) { $customPropertyList = $pPHPExcel->getProperties()->getCustomProperties(); if (empty($customPropertyList)) { return; } // Create XML writer $objWriter = null; if ($this->getParentWriter()->getUseDiskCaching()) { $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); } else { $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); } // XML header $objWriter->startDocument('1.0', 'UTF-8', 'yes'); // cp:coreProperties $objWriter->startElement('Properties'); $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/officeDocument/2006/custom-properties'); $objWriter->writeAttribute('xmlns:vt', 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes'); foreach ($customPropertyList as $key => $customProperty) { $propertyValue = $pPHPExcel->getProperties()->getCustomPropertyValue($customProperty); $propertyType = $pPHPExcel->getProperties()->getCustomPropertyType($customProperty); $objWriter->startElement('property'); $objWriter->writeAttribute('fmtid', '{D5CDD505-2E9C-101B-9397-08002B2CF9AE}'); $objWriter->writeAttribute('pid', $key + 2); $objWriter->writeAttribute('name', $customProperty); switch ($propertyType) { case 'i': $objWriter->writeElement('vt:i4', $propertyValue); break; case 'f': $objWriter->writeElement('vt:r8', $propertyValue); break; case 'b': $objWriter->writeElement('vt:bool', $propertyValue ? 'true' : 'false'); break; case 'd': $objWriter->startElement('vt:filetime'); $objWriter->writeRawData(date(DATE_W3C, $propertyValue)); $objWriter->endElement(); break; default: $objWriter->writeElement('vt:lpwstr', $propertyValue); break; } $objWriter->endElement(); } $objWriter->endElement(); // Return return $objWriter->getData(); }
/** * Write relationships for additional objects of custom UI (ribbon) * * @param PHPExcel $pPHPExcel * @return string XML Output * @throws PHPExcel_Writer_Exception */ public function writeRibbonRelationships(PHPExcel $pPHPExcel = null) { // Create XML writer $objWriter = null; if ($this->getParentWriter()->getUseDiskCaching()) { $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); } else { $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_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'); $localRels = $pPHPExcel->getRibbonBinObjects('names'); if (is_array($localRels)) { foreach ($localRels as $aId => $aTarget) { $objWriter->startElement('Relationship'); $objWriter->writeAttribute('Id', $aId); $objWriter->writeAttribute('Type', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/image'); $objWriter->writeAttribute('Target', $aTarget); $objWriter->endElement(); //Relationship } } $objWriter->endElement(); //Relationships // Return return $objWriter->getData(); }