Vendor/phpspreadsheet/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Drawing.php
public function writeChart(XMLWriter $objWriter, \PhpOffice\PhpSpreadsheet\Chart\Chart $pChart, $pRelationId = -1)
    {
        $tl = $pChart->getTopLeftPosition();
        $tl['colRow'] = Coordinate::coordinateFromString($tl['cell']);
        $br = $pChart->getBottomRightPosition();
        $br['colRow'] = Coordinate::coordinateFromString($br['cell']);

        $objWriter->startElement('xdr:twoCellAnchor');

        $objWriter->startElement('xdr:from');
        $objWriter->writeElement('xdr:col', Coordinate::columnIndexFromString($tl['colRow'][0]) - 1);
        $objWriter->writeElement('xdr:colOff', \PhpOffice\PhpSpreadsheet\Shared\Drawing::pixelsToEMU($tl['xOffset']));
        $objWriter->writeElement('xdr:row', $tl['colRow'][1] - 1);
        $objWriter->writeElement('xdr:rowOff', \PhpOffice\PhpSpreadsheet\Shared\Drawing::pixelsToEMU($tl['yOffset']));
        $objWriter->endElement();
        $objWriter->startElement('xdr:to');
        $objWriter->writeElement('xdr:col', Coordinate::columnIndexFromString($br['colRow'][0]) - 1);
        $objWriter->writeElement('xdr:colOff', \PhpOffice\PhpSpreadsheet\Shared\Drawing::pixelsToEMU($br['xOffset']));
        $objWriter->writeElement('xdr:row', $br['colRow'][1] - 1);
        $objWriter->writeElement('xdr:rowOff', \PhpOffice\PhpSpreadsheet\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();
    }
public function writeChart(XMLWriter $objWriter, \PhpOffice\PhpSpreadsheet\Chart\Chart $pChart, $pRelationId = -1)
    {
        $tl = $pChart->getTopLeftPosition();
        $tl['colRow'] = Coordinate::coordinateFromString($tl['cell']);
        $br = $pChart->getBottomRightPosition();
        $br['colRow'] = Coordinate::coordinateFromString($br['cell']);

        $objWriter->startElement('xdr:twoCellAnchor');

        $objWriter->startElement('xdr:from');
        $objWriter->writeElement('xdr:col', Coordinate::columnIndexFromString($tl['colRow'][0]) - 1);
        $objWriter->writeElement('xdr:colOff', \PhpOffice\PhpSpreadsheet\Shared\Drawing::pixelsToEMU($tl['xOffset']));
        $objWriter->writeElement('xdr:row', $tl['colRow'][1] - 1);
        $objWriter->writeElement('xdr:rowOff', \PhpOffice\PhpSpreadsheet\Shared\Drawing::pixelsToEMU($tl['yOffset']));
        $objWriter->endElement();
        $objWriter->startElement('xdr:to');
        $objWriter->writeElement('xdr:col', Coordinate::columnIndexFromString($br['colRow'][0]) - 1);
        $objWriter->writeElement('xdr:colOff', \PhpOffice\PhpSpreadsheet\Shared\Drawing::pixelsToEMU($br['xOffset']));
        $objWriter->writeElement('xdr:row', $br['colRow'][1] - 1);
        $objWriter->writeElement('xdr:rowOff', \PhpOffice\PhpSpreadsheet\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();
    }
public function writeChart ( XMLWriter $ objWriter , \ PhpOffice \ PhpSpreadsheet \ Chart \ Chart $ pChart , $ pRelationId = - 1 ) { $ tl = $ pChart -> getTopLeftPosition ( ) ; $ tl [ 'colRow' ] = Coordinate :: coordinateFromString ( $ tl [ 'cell' ] ) ; $ br = $ pChart -> getBottomRightPosition ( ) ; $ br [ 'colRow' ] = Coordinate :: coordinateFromString ( $ br [ 'cell' ] ) ; $ objWriter -> startElement ( 'xdr:twoCellAnchor' ) ; $ objWriter -> startElement ( 'xdr:from' ) ; $ objWriter -> writeElement ( 'xdr:col' , Coordinate :: columnIndexFromString ( $ tl [ 'colRow' ] [ 0 ] ) - 1 ) ; $ objWriter -> writeElement ( 'xdr:colOff' , \ PhpOffice \ PhpSpreadsheet \ Shared \ Drawing :: pixelsToEMU ( $ tl [ 'xOffset' ] ) ) ; $ objWriter -> writeElement ( 'xdr:row' , $ tl [ 'colRow' ] [ 1 ] - 1 ) ; $ objWriter -> writeElement ( 'xdr:rowOff' , \ PhpOffice \ PhpSpreadsheet \ Shared \ Drawing :: pixelsToEMU ( $ tl [ 'yOffset' ] ) ) ; $ objWriter -> endElement ( ) ; $ objWriter -> startElement ( 'xdr:to' ) ; $ objWriter -> writeElement ( 'xdr:col' , Coordinate :: columnIndexFromString ( $ br [ 'colRow' ] [ 0 ] ) - 1 ) ; $ objWriter -> writeElement ( 'xdr:colOff' , \ PhpOffice \ PhpSpreadsheet \ Shared \ Drawing :: pixelsToEMU ( $ br [ 'xOffset' ] ) ) ; $ objWriter -> writeElement ( 'xdr:row' , $ br [ 'colRow' ] [ 1 ] - 1 ) ; $ objWriter -> writeElement ( 'xdr:rowOff' , \ PhpOffice \ PhpSpreadsheet \ 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 ( ) ; }
Write drawings to XML format.

@param XMLWriter $objWriter XML Writer
@param \PhpOffice\PhpSpreadsheet\Chart\Chart $pChart
@param int $pRelationId
Write drawings to XML format .