public function PHPExcel_Writer_Excel2007_Rels::writeWorkbookRelationships in Loft Data Grids 7.2
Same name and namespace in other branches
- 6.2 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Rels.php \PHPExcel_Writer_Excel2007_Rels::writeWorkbookRelationships()
* Write workbook relationships to XML format * *
Parameters
PHPExcel $pPHPExcel: * @return string XML Output * @throws PHPExcel_Writer_Exception
File
- vendor/
phpoffice/ phpexcel/ Classes/ PHPExcel/ Writer/ Excel2007/ Rels.php, line 120
Class
- PHPExcel_Writer_Excel2007_Rels
- PHPExcel_Writer_Excel2007_Rels
Code
public function writeWorkbookRelationships(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');
// Relationship styles.xml
$this
->_writeRelationship($objWriter, 1, 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles', 'styles.xml');
// Relationship theme/theme1.xml
$this
->_writeRelationship($objWriter, 2, 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme', 'theme/theme1.xml');
// Relationship sharedStrings.xml
$this
->_writeRelationship($objWriter, 3, 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings', 'sharedStrings.xml');
// Relationships with sheets
$sheetCount = $pPHPExcel
->getSheetCount();
for ($i = 0; $i < $sheetCount; ++$i) {
$this
->_writeRelationship($objWriter, $i + 1 + 3, 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet', 'worksheets/sheet' . ($i + 1) . '.xml');
}
// Relationships for vbaProject if needed
// id : just after the last sheet
if ($pPHPExcel
->hasMacros()) {
$this
->_writeRelationShip($objWriter, $i + 1 + 3, 'http://schemas.microsoft.com/office/2006/relationships/vbaProject', 'vbaProject.bin');
++$i;
//increment i if needed for an another relation
}
$objWriter
->endElement();
// Return
return $objWriter
->getData();
}