Esempio n. 1
0
 /**
  * Write drawings to XML format
  *
  * @param     \PHPExcel\Shared\XMLWriter    $objWriter         XML Writer
  * @param     Chart                $pChart
  * @param     int                            $pRelationId
  * @throws     \PHPExcel\Writer\Exception
  */
 public function writeChart(\PHPExcel\Shared\XMLWriter $objWriter = null, Chart $pChart = null, $pRelationId = -1)
 {
     $tl = $pChart->getTopLeftPosition();
     $tl['colRow'] = \PHPExcel\Cell::coordinateFromString($tl['cell']);
     $br = $pChart->getBottomRightPosition();
     $br['colRow'] = \PHPExcel\Cell::coordinateFromString($br['cell']);
     $objWriter->startElement('xdr:twoCellAnchor');
     $objWriter->startElement('xdr:from');
     $objWriter->writeElement('xdr:col', \PHPExcel\Cell::columnIndexFromString($tl['colRow'][0]) - 1);
     $objWriter->writeElement('xdr:colOff', \PHPExcel\Shared\Drawing::pixelsToEMU($tl['xOffset']));
     $objWriter->writeElement('xdr:row', $tl['colRow'][1] - 1);
     $objWriter->writeElement('xdr:rowOff', \PHPExcel\Shared\Drawing::pixelsToEMU($tl['yOffset']));
     $objWriter->endElement();
     $objWriter->startElement('xdr:to');
     $objWriter->writeElement('xdr:col', \PHPExcel\Cell::columnIndexFromString($br['colRow'][0]) - 1);
     $objWriter->writeElement('xdr:colOff', \PHPExcel\Shared\Drawing::pixelsToEMU($br['xOffset']));
     $objWriter->writeElement('xdr:row', $br['colRow'][1] - 1);
     $objWriter->writeElement('xdr:rowOff', \PHPExcel\Shared\Drawing::pixelsToEMU($br['yOffset']));
     $objWriter->endElement();
     $objWriter->startElement('xdr:graphicFrame');
     $objWriter->writeAttribute('macro', '');
     $objWriter->startElement('xdr:nvGraphicFramePr');
     $objWriter->startElement('xdr:cNvPr');
     $objWriter->writeAttribute('name', 'Chart ' . $pRelationId);
     $objWriter->writeAttribute('id', 1025 * $pRelationId);
     $objWriter->endElement();
     $objWriter->startElement('xdr:cNvGraphicFramePr');
     $objWriter->startElement('a:graphicFrameLocks');
     $objWriter->endElement();
     $objWriter->endElement();
     $objWriter->endElement();
     $objWriter->startElement('xdr:xfrm');
     $objWriter->startElement('a:off');
     $objWriter->writeAttribute('x', '0');
     $objWriter->writeAttribute('y', '0');
     $objWriter->endElement();
     $objWriter->startElement('a:ext');
     $objWriter->writeAttribute('cx', '0');
     $objWriter->writeAttribute('cy', '0');
     $objWriter->endElement();
     $objWriter->endElement();
     $objWriter->startElement('a:graphic');
     $objWriter->startElement('a:graphicData');
     $objWriter->writeAttribute('uri', 'http://schemas.openxmlformats.org/drawingml/2006/chart');
     $objWriter->startElement('c:chart');
     $objWriter->writeAttribute('xmlns:c', 'http://schemas.openxmlformats.org/drawingml/2006/chart');
     $objWriter->writeAttribute('xmlns:r', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships');
     $objWriter->writeAttribute('r:id', 'rId' . $pRelationId);
     $objWriter->endElement();
     $objWriter->endElement();
     $objWriter->endElement();
     $objWriter->endElement();
     $objWriter->startElement('xdr:clientData');
     $objWriter->endElement();
     $objWriter->endElement();
 }