コード例 #1
0
 /**
  * Write link element.
  *
  * @return void
  */
 public function write()
 {
     $xmlWriter = $this->getXmlWriter();
     $element = $this->getElement();
     if (!$element instanceof \PhpOffice\PhpWord\Element\Link) {
         return;
     }
     $rId = $element->getRelationId() + ($element->isInSection() ? 6 : 0);
     $this->startElementP();
     $xmlWriter->startElement('w:hyperlink');
     if ($element->isInternal()) {
         $xmlWriter->writeAttribute('w:anchor', $element->getSource());
     } else {
         $xmlWriter->writeAttribute('r:id', 'rId' . $rId);
     }
     $xmlWriter->writeAttribute('w:history', '1');
     $xmlWriter->startElement('w:r');
     $this->writeFontStyle();
     $xmlWriter->startElement('w:t');
     $xmlWriter->writeAttribute('xml:space', 'preserve');
     if (Settings::isOutputEscapingEnabled()) {
         $xmlWriter->text($element->getText());
     } else {
         $xmlWriter->writeRaw($element->getText());
     }
     $xmlWriter->endElement();
     // w:t
     $xmlWriter->endElement();
     // w:r
     $xmlWriter->endElement();
     // w:hyperlink
     $this->endElementP();
     // w:p
 }
コード例 #2
0
 /**
  * Write element
  */
 public function write()
 {
     $xmlWriter = $this->getXmlWriter();
     $element = $this->getElement();
     if (!$element instanceof \PhpOffice\PhpWord\Element\Link) {
         return;
     }
     if (!$this->withoutP) {
         $xmlWriter->startElement('text:p');
         // text:p
     }
     $xmlWriter->startElement('text:a');
     $xmlWriter->writeAttribute('xlink:type', 'simple');
     $xmlWriter->writeAttribute('xlink:href', $element->getSource());
     if (Settings::isOutputEscapingEnabled()) {
         $xmlWriter->text($element->getText());
     } else {
         $xmlWriter->writeRaw($element->getText());
     }
     $xmlWriter->endElement();
     // text:a
     if (!$this->withoutP) {
         $xmlWriter->endElement();
         // text:p
     }
 }
コード例 #3
0
 /**
  * Write preserve text element.
  *
  * @return void
  */
 public function write()
 {
     $xmlWriter = $this->getXmlWriter();
     $element = $this->getElement();
     if (!$element instanceof \PhpOffice\PhpWord\Element\PreserveText) {
         return;
     }
     $texts = $element->getText();
     if (!is_array($texts)) {
         $texts = array($texts);
     }
     $this->startElementP();
     foreach ($texts as $text) {
         if (substr($text, 0, 1) == '{') {
             $text = substr($text, 1, -1);
             $xmlWriter->startElement('w:r');
             $xmlWriter->startElement('w:fldChar');
             $xmlWriter->writeAttribute('w:fldCharType', 'begin');
             $xmlWriter->endElement();
             $xmlWriter->endElement();
             $xmlWriter->startElement('w:r');
             $this->writeFontStyle();
             $xmlWriter->startElement('w:instrText');
             $xmlWriter->writeAttribute('xml:space', 'preserve');
             if (Settings::isOutputEscapingEnabled()) {
                 $xmlWriter->text($text);
             } else {
                 $xmlWriter->writeRaw($text);
             }
             $xmlWriter->endElement();
             $xmlWriter->endElement();
             $xmlWriter->startElement('w:r');
             $xmlWriter->startElement('w:fldChar');
             $xmlWriter->writeAttribute('w:fldCharType', 'separate');
             $xmlWriter->endElement();
             $xmlWriter->endElement();
             $xmlWriter->startElement('w:r');
             $xmlWriter->startElement('w:fldChar');
             $xmlWriter->writeAttribute('w:fldCharType', 'end');
             $xmlWriter->endElement();
             $xmlWriter->endElement();
         } else {
             $xmlWriter->startElement('w:r');
             $this->writeFontStyle();
             $xmlWriter->startElement('w:t');
             $xmlWriter->writeAttribute('xml:space', 'preserve');
             if (Settings::isOutputEscapingEnabled()) {
                 $xmlWriter->text($this->getText($text));
             } else {
                 $xmlWriter->writeRaw($this->getText($text));
             }
             $xmlWriter->endElement();
             $xmlWriter->endElement();
         }
     }
     $this->endElementP();
     // w:p
 }
コード例 #4
0
 /**
  * Write element
  */
 public function write()
 {
     $xmlWriter = $this->getXmlWriter();
     $element = $this->getElement();
     if (!$element instanceof \PhpOffice\PhpWord\Element\Text) {
         return;
     }
     $fontStyle = $element->getFontStyle();
     $paragraphStyle = $element->getParagraphStyle();
     // @todo Commented for TextRun. Should really checkout this value
     // $fStyleIsObject = ($fontStyle instanceof Font) ? true : false;
     $fStyleIsObject = false;
     if ($fStyleIsObject) {
         // Don't never be the case, because I browse all sections for cleaning all styles not declared
         throw new Exception('PhpWord : $fStyleIsObject wouldn\'t be an object');
     } else {
         if (!$this->withoutP) {
             $xmlWriter->startElement('text:p');
             // text:p
         }
         if (empty($fontStyle)) {
             if (empty($paragraphStyle)) {
                 $xmlWriter->writeAttribute('text:style-name', 'P1');
             } elseif (is_string($paragraphStyle)) {
                 $xmlWriter->writeAttribute('text:style-name', $paragraphStyle);
             }
             if (Settings::isOutputEscapingEnabled()) {
                 $xmlWriter->text($element->getText());
             } else {
                 $xmlWriter->writeRaw($element->getText());
             }
         } else {
             if (empty($paragraphStyle)) {
                 $xmlWriter->writeAttribute('text:style-name', 'Standard');
             } elseif (is_string($paragraphStyle)) {
                 $xmlWriter->writeAttribute('text:style-name', $paragraphStyle);
             }
             // text:span
             $xmlWriter->startElement('text:span');
             if (is_string($fontStyle)) {
                 $xmlWriter->writeAttribute('text:style-name', $fontStyle);
             }
             if (Settings::isOutputEscapingEnabled()) {
                 $xmlWriter->text($element->getText());
             } else {
                 $xmlWriter->writeRaw($element->getText());
             }
             $xmlWriter->endElement();
         }
         if (!$this->withoutP) {
             $xmlWriter->endElement();
             // text:p
         }
     }
 }
コード例 #5
0
 /**
  * Write list item
  *
  * @return string
  */
 public function write()
 {
     if (!$this->element instanceof \PhpOffice\PhpWord\Element\ListItem) {
         return '';
     }
     if (Settings::isOutputEscapingEnabled()) {
         $content = '<p>' . $this->escaper->escapeHtml($this->element->getTextObject()->getText()) . '</p>' . PHP_EOL;
     } else {
         $content = '<p>' . $this->element->getTextObject()->getText() . '</p>' . PHP_EOL;
     }
     return $content;
 }
コード例 #6
0
 /**
  * Write heading
  *
  * @return string
  */
 public function write()
 {
     if (!$this->element instanceof \PhpOffice\PhpWord\Element\Title) {
         return '';
     }
     $tag = 'h' . $this->element->getDepth();
     if (Settings::isOutputEscapingEnabled()) {
         $text = $this->escaper->escapeHtml($this->element->getText());
     } else {
         $text = $this->element->getText();
     }
     $content = "<{$tag}>{$text}</{$tag}>" . PHP_EOL;
     return $content;
 }
コード例 #7
0
 /**
  * Write link
  *
  * @return string
  */
 public function write()
 {
     if (!$this->element instanceof \PhpOffice\PhpWord\Element\Link) {
         return '';
     }
     $content = '';
     $content .= $this->writeOpening();
     if (Settings::isOutputEscapingEnabled()) {
         $content .= "<a href=\"{$this->escaper->escapeHtmlAttr($this->element->getSource())}\">{$this->escaper->escapeHtml($this->element->getText())}</a>";
     } else {
         $content .= "<a href=\"{$this->element->getSource()}\">{$this->element->getText()}</a>";
     }
     $content .= $this->writeClosing();
     return $content;
 }
コード例 #8
0
 /**
  * Write element
  */
 public function write()
 {
     $xmlWriter = $this->getXmlWriter();
     $element = $this->getElement();
     if (!$element instanceof \PhpOffice\PhpWord\Element\Title) {
         return;
     }
     $xmlWriter->startElement('text:h');
     $xmlWriter->writeAttribute('text:outline-level', $element->getDepth());
     if (Settings::isOutputEscapingEnabled()) {
         $xmlWriter->text($element->getText());
     } else {
         $xmlWriter->writeRaw($element->getText());
     }
     $xmlWriter->endElement();
     // text:h
 }
コード例 #9
0
 /**
  * Write part
  *
  * @return string
  */
 public function write()
 {
     $docProps = $this->getParentWriter()->getPhpWord()->getDocInfo();
     $propertiesMapping = array('creator' => 'author', 'title' => '', 'description' => '', 'subject' => '', 'keywords' => '', 'category' => '', 'company' => '', 'manager' => '');
     $title = $docProps->getTitle();
     $title = $title != '' ? $title : 'PHPWord';
     $content = '';
     $content .= '<head>' . PHP_EOL;
     $content .= '<meta charset="UTF-8" />' . PHP_EOL;
     $content .= '<title>' . $title . '</title>' . PHP_EOL;
     foreach ($propertiesMapping as $key => $value) {
         $value = $value == '' ? $key : $value;
         $method = "get" . $key;
         if ($docProps->{$method}() != '') {
             $content .= '<meta name="' . $value . '"' . ' content="' . (Settings::isOutputEscapingEnabled() ? $this->escaper->escapeHtmlAttr($docProps->{$method}()) : $docProps->{$method}()) . '"' . ' />' . PHP_EOL;
         }
     }
     $content .= $this->writeStyles();
     $content .= '</head>' . PHP_EOL;
     return $content;
 }
コード例 #10
0
 /**
  * Write title element.
  *
  * @return void
  */
 public function write()
 {
     $xmlWriter = $this->getXmlWriter();
     $element = $this->getElement();
     if (!$element instanceof \PhpOffice\PhpWord\Element\Title) {
         return;
     }
     $style = $element->getStyle();
     $xmlWriter->startElement('w:p');
     if (!empty($style)) {
         $xmlWriter->startElement('w:pPr');
         $xmlWriter->startElement('w:pStyle');
         $xmlWriter->writeAttribute('w:val', $style);
         $xmlWriter->endElement();
         $xmlWriter->endElement();
     }
     $rId = $element->getRelationId();
     $bookmarkRId = $element->getPhpWord()->addBookmark();
     // Bookmark start for TOC
     $xmlWriter->startElement('w:bookmarkStart');
     $xmlWriter->writeAttribute('w:id', $bookmarkRId);
     $xmlWriter->writeAttribute('w:name', "_Toc{$rId}");
     $xmlWriter->endElement();
     // Actual text
     $xmlWriter->startElement('w:r');
     if (Settings::isOutputEscapingEnabled()) {
         $xmlWriter->writeElement('w:t', $this->getText($element->getText()));
     } else {
         $xmlWriter->startElement('w:t');
         $xmlWriter->writeRaw($this->getText($element->getText()));
         $xmlWriter->endElement();
     }
     $xmlWriter->endElement();
     // Bookmark end
     $xmlWriter->startElement('w:bookmarkEnd');
     $xmlWriter->writeAttribute('w:id', $bookmarkRId);
     $xmlWriter->endElement();
     $xmlWriter->endElement();
 }
コード例 #11
0
 /**
  * Write document information
  *
  * @return string
  */
 private function writeInfo()
 {
     $docProps = $this->getParentWriter()->getPhpWord()->getDocInfo();
     $properties = array('title', 'subject', 'category', 'keywords', 'comment', 'author', 'operator', 'creatim', 'revtim', 'company', 'manager');
     $mapping = array('comment' => 'description', 'author' => 'creator', 'operator' => 'lastModifiedBy', 'creatim' => 'created', 'revtim' => 'modified');
     $dateFields = array('creatim', 'revtim');
     $content = '';
     $content .= '{';
     $content .= '\\info';
     foreach ($properties as $property) {
         $method = 'get' . (isset($mapping[$property]) ? $mapping[$property] : $property);
         if (!in_array($property, $dateFields) && Settings::isOutputEscapingEnabled()) {
             $value = $this->escaper->escape($docProps->{$method}());
         } else {
             $value = $docProps->{$method}();
         }
         $value = in_array($property, $dateFields) ? $this->getDateValue($value) : $value;
         $content .= "{\\{$property} {$value}}";
     }
     $content .= '}';
     $content .= PHP_EOL;
     return $content;
 }
コード例 #12
0
 /**
  * Write text element.
  *
  * @return void
  */
 public function write()
 {
     $xmlWriter = $this->getXmlWriter();
     $element = $this->getElement();
     if (!$element instanceof \PhpOffice\PhpWord\Element\Text) {
         return;
     }
     $this->startElementP();
     $xmlWriter->startElement('w:r');
     $this->writeFontStyle();
     $xmlWriter->startElement('w:t');
     $xmlWriter->writeAttribute('xml:space', 'preserve');
     if (Settings::isOutputEscapingEnabled()) {
         $xmlWriter->text($this->getText($element->getText()));
     } else {
         $xmlWriter->writeRaw($this->getText($element->getText()));
     }
     $xmlWriter->endElement();
     $xmlWriter->endElement();
     // w:r
     $this->endElementP();
     // w:p
 }
コード例 #13
0
 /**
  * Write element.
  *
  * @return void
  */
 public function write()
 {
     $xmlWriter = $this->getXmlWriter();
     $element = $this->getElement();
     if (!$element instanceof FormFieldElement) {
         return;
     }
     $type = $element->getType();
     $instructions = array('textinput' => 'FORMTEXT', 'checkbox' => 'FORMCHECKBOX', 'dropdown' => 'FORMDROPDOWN');
     $instruction = $instructions[$type];
     $writeFormField = "write{$type}";
     $name = $element->getName();
     if ($name === null) {
         $name = $type . $element->getElementId();
     }
     $value = $element->getValue();
     if ($value === null) {
         $value = str_repeat(' ', self::FILLER_LENGTH);
     }
     $this->startElementP();
     $xmlWriter->startElement('w:r');
     $xmlWriter->startElement('w:fldChar');
     $xmlWriter->writeAttribute('w:fldCharType', 'begin');
     $xmlWriter->startElement('w:ffData');
     $xmlWriter->writeElementBlock('w:enabled', 'w:val', 1);
     $xmlWriter->writeElementBlock('w:name', 'w:val', $name);
     $xmlWriter->writeElementBlock('w:calcOnExit', 'w:val', 0);
     $this->{$writeFormField}($xmlWriter, $element);
     $xmlWriter->endElement();
     // w:ffData
     $xmlWriter->endElement();
     // w:fldChar
     $xmlWriter->endElement();
     // w:r
     $xmlWriter->startElement('w:r');
     $this->writeFontStyle();
     $xmlWriter->startElement('w:instrText');
     $xmlWriter->writeAttribute('xml:space', 'preserve');
     $xmlWriter->text("{$instruction}");
     $xmlWriter->endElement();
     // w:instrText
     $xmlWriter->endElement();
     // w:r
     $xmlWriter->startElement('w:r');
     $this->writeFontStyle();
     $xmlWriter->writeElementBlock('w:fldChar', 'w:fldCharType', 'separate');
     $xmlWriter->endElement();
     // w:r
     $xmlWriter->startElement('w:r');
     $this->writeFontStyle();
     $xmlWriter->startElement('w:t');
     $xmlWriter->writeAttribute('xml:space', 'preserve');
     if (Settings::isOutputEscapingEnabled()) {
         $xmlWriter->text($value);
     } else {
         $xmlWriter->writeRaw($value);
     }
     $xmlWriter->endElement();
     // w:t
     $xmlWriter->endElement();
     // w:r
     $xmlWriter->startElement('w:r');
     $this->writeFontStyle();
     $xmlWriter->writeElementBlock('w:fldChar', 'w:fldCharType', 'end');
     $xmlWriter->endElement();
     // w:r
     $this->endElementP();
     // w:p
 }
コード例 #14
0
 /**
  * Write title
  *
  * @param \PhpOffice\Common\XMLWriter $xmlWriter
  * @param \PhpOffice\PhpWord\Element\TOC $element
  * @param \PhpOffice\PhpWord\Element\Title $title
  * @param bool $writeFieldMark
  * @return void
  */
 private function writeTitle(XMLWriter $xmlWriter, TOCElement $element, $title, $writeFieldMark)
 {
     $tocStyle = $element->getStyleTOC();
     $fontStyle = $element->getStyleFont();
     $isObject = $fontStyle instanceof Font ? true : false;
     $rId = $title->getRelationId();
     $indent = ($title->getDepth() - 1) * $tocStyle->getIndent();
     $xmlWriter->startElement('w:p');
     // Write style and field mark
     $this->writeStyle($xmlWriter, $element, $indent);
     if ($writeFieldMark) {
         $this->writeFieldMark($xmlWriter, $element);
     }
     // Hyperlink
     $xmlWriter->startElement('w:hyperlink');
     $xmlWriter->writeAttribute('w:anchor', "_Toc{$rId}");
     $xmlWriter->writeAttribute('w:history', '1');
     // Title text
     $xmlWriter->startElement('w:r');
     if ($isObject) {
         $styleWriter = new FontStyleWriter($xmlWriter, $fontStyle);
         $styleWriter->write();
     }
     if (Settings::isOutputEscapingEnabled()) {
         $xmlWriter->writeElement('w:t', $title->getText());
     } else {
         $xmlWriter->startElement('w:t');
         $xmlWriter->writeRaw($title->getText());
         $xmlWriter->endElement();
     }
     $xmlWriter->endElement();
     // w:r
     $xmlWriter->startElement('w:r');
     $xmlWriter->writeElement('w:tab', null);
     $xmlWriter->endElement();
     $xmlWriter->startElement('w:r');
     $xmlWriter->startElement('w:fldChar');
     $xmlWriter->writeAttribute('w:fldCharType', 'begin');
     $xmlWriter->endElement();
     $xmlWriter->endElement();
     $xmlWriter->startElement('w:r');
     $xmlWriter->startElement('w:instrText');
     $xmlWriter->writeAttribute('xml:space', 'preserve');
     $xmlWriter->text("PAGEREF _Toc{$rId} \\h");
     $xmlWriter->endElement();
     $xmlWriter->endElement();
     $xmlWriter->startElement('w:r');
     $xmlWriter->startElement('w:fldChar');
     $xmlWriter->writeAttribute('w:fldCharType', 'end');
     $xmlWriter->endElement();
     $xmlWriter->endElement();
     $xmlWriter->endElement();
     // w:hyperlink
     $xmlWriter->endElement();
     // w:p
 }
コード例 #15
0
 /**
  * Write element.
  *
  * @return void
  */
 public function write()
 {
     $xmlWriter = $this->getXmlWriter();
     $element = $this->getElement();
     if (!$element instanceof \PhpOffice\PhpWord\Element\CheckBox) {
         return;
     }
     $this->startElementP();
     $xmlWriter->startElement('w:r');
     $xmlWriter->startElement('w:fldChar');
     $xmlWriter->writeAttribute('w:fldCharType', 'begin');
     $xmlWriter->startElement('w:ffData');
     $xmlWriter->startElement('w:name');
     $xmlWriter->writeAttribute('w:val', $this->getText($element->getName()));
     $xmlWriter->endElement();
     //w:name
     $xmlWriter->writeAttribute('w:enabled', '');
     $xmlWriter->startElement('w:calcOnExit');
     $xmlWriter->writeAttribute('w:val', '0');
     $xmlWriter->endElement();
     //w:calcOnExit
     $xmlWriter->startElement('w:checkBox');
     $xmlWriter->writeAttribute('w:sizeAuto', '');
     $xmlWriter->startElement('w:default');
     $xmlWriter->writeAttribute('w:val', 0);
     $xmlWriter->endElement();
     //w:default
     $xmlWriter->endElement();
     //w:checkBox
     $xmlWriter->endElement();
     // w:ffData
     $xmlWriter->endElement();
     // w:fldChar
     $xmlWriter->endElement();
     // w:r
     $xmlWriter->startElement('w:r');
     $xmlWriter->startElement('w:instrText');
     $xmlWriter->writeAttribute('xml:space', 'preserve');
     $xmlWriter->text(' FORMCHECKBOX ');
     $xmlWriter->endElement();
     // w:instrText
     $xmlWriter->endElement();
     // w:r
     $xmlWriter->startElement('w:r');
     $xmlWriter->startElement('w:fldChar');
     $xmlWriter->writeAttribute('w:fldCharType', 'separate');
     $xmlWriter->endElement();
     // w:fldChar
     $xmlWriter->endElement();
     // w:r
     $xmlWriter->startElement('w:r');
     $xmlWriter->startElement('w:fldChar');
     $xmlWriter->writeAttribute('w:fldCharType', 'end');
     $xmlWriter->endElement();
     // w:fldChar
     $xmlWriter->endElement();
     // w:r
     $xmlWriter->startElement('w:r');
     $this->writeFontStyle();
     $xmlWriter->startElement('w:t');
     $xmlWriter->writeAttribute('xml:space', 'preserve');
     if (Settings::isOutputEscapingEnabled()) {
         $xmlWriter->text($this->getText($element->getText()));
     } else {
         $xmlWriter->writeRaw($this->getText($element->getText()));
     }
     $xmlWriter->endElement();
     // w:t
     $xmlWriter->endElement();
     // w:r
     $this->endElementP();
     // w:p
 }
コード例 #16
0
 /**
  * Write individual property
  *
  * @param \PhpOffice\Common\XMLWriter $xmlWriter
  * @param string $property
  * @param string $value
  * @return void
  *
  * @todo Handle other `$type`: double|date|dateTime|duration|boolean (4th arguments)
  */
 private function writeCustomProperty(XMLWriter $xmlWriter, $property, $value)
 {
     $xmlWriter->startElement('meta:user-defined');
     $xmlWriter->writeAttribute('meta:name', $property);
     // if ($type !== null) {
     //     $xmlWriter->writeAttribute('meta:value-type', $type);
     // }
     if (Settings::isOutputEscapingEnabled()) {
         $xmlWriter->text($value);
     } else {
         $xmlWriter->writeRaw($value);
     }
     $xmlWriter->endElement();
     // meta:user-defined
 }
コード例 #17
0
 /**
  * @param mixed $search
  * @param mixed $replace
  * @param integer $limit
  *
  * @return void
  */
 public function setValue($search, $replace, $limit = self::MAXIMUM_REPLACEMENTS_DEFAULT)
 {
     if (is_array($search)) {
         foreach ($search as &$item) {
             $item = self::ensureMacroCompleted($item);
         }
     } else {
         $search = self::ensureMacroCompleted($search);
     }
     if (is_array($replace)) {
         foreach ($replace as &$item) {
             $item = self::ensureUtf8Encoded($item);
         }
     } else {
         $replace = self::ensureUtf8Encoded($replace);
     }
     if (Settings::isOutputEscapingEnabled()) {
         $xmlEscaper = new Xml();
         $replace = $xmlEscaper->escape($replace);
     }
     $this->tempDocumentHeaders = $this->setValueForPart($search, $replace, $this->tempDocumentHeaders, $limit);
     $this->tempDocumentMainPart = $this->setValueForPart($search, $replace, $this->tempDocumentMainPart, $limit);
     $this->tempDocumentFooters = $this->setValueForPart($search, $replace, $this->tempDocumentFooters, $limit);
 }
コード例 #18
0
 /**
  * Write ending
  *
  * @return string
  */
 protected function writeClosing()
 {
     $content = '';
     if (!$this->withoutP) {
         if (Settings::isOutputEscapingEnabled()) {
             $content .= $this->escaper->escapeHtml($this->closingText);
         } else {
             $content .= $this->closingText;
         }
         $content .= "</p>" . PHP_EOL;
     }
     return $content;
 }
コード例 #19
0
 /**
  * Write series items.
  *
  * @param \PhpOffice\Common\XMLWriter $xmlWriter
  * @param string $type
  * @param array $values
  * @return void
  */
 private function writeSeriesItem(XMLWriter $xmlWriter, $type, $values)
 {
     $types = array('cat' => array('c:cat', 'c:strLit'), 'val' => array('c:val', 'c:numLit'), 'xVal' => array('c:xVal', 'c:strLit'), 'yVal' => array('c:yVal', 'c:numLit'));
     list($itemType, $itemLit) = $types[$type];
     $xmlWriter->startElement($itemType);
     $xmlWriter->startElement($itemLit);
     $index = 0;
     foreach ($values as $value) {
         $xmlWriter->startElement('c:pt');
         $xmlWriter->writeAttribute('idx', $index);
         if (\PhpOffice\PhpWord\Settings::isOutputEscapingEnabled()) {
             $xmlWriter->writeElement('c:v', $value);
         } else {
             $xmlWriter->startElement('c:v');
             $xmlWriter->writeRaw($value);
             $xmlWriter->endElement();
         }
         $xmlWriter->endElement();
         // c:pt
         $index++;
     }
     $xmlWriter->endElement();
     // $itemLit
     $xmlWriter->endElement();
     // $itemType
 }