private function parseRichText($is = null) { $value = new \PHPExcel\RichText(); if (isset($is->t)) { $value->createText(\PHPExcel\Shared\StringHelper::controlCharacterOOXML2PHP((string) $is->t)); } else { if (is_object($is->r)) { foreach ($is->r as $run) { if (!isset($run->rPr)) { $objText = $value->createText(\PHPExcel\Shared\StringHelper::controlCharacterOOXML2PHP((string) $run->t)); } else { $objText = $value->createTextRun(\PHPExcel\Shared\StringHelper::controlCharacterOOXML2PHP((string) $run->t)); if (isset($run->rPr->rFont["val"])) { $objText->getFont()->setName((string) $run->rPr->rFont["val"]); } if (isset($run->rPr->sz["val"])) { $objText->getFont()->setSize((string) $run->rPr->sz["val"]); } if (isset($run->rPr->color)) { $objText->getFont()->setColor(new \PHPExcel\Style\Color(self::readColor($run->rPr->color))); } if (isset($run->rPr->b["val"]) && self::boolean((string) $run->rPr->b["val"]) || isset($run->rPr->b) && !isset($run->rPr->b["val"])) { $objText->getFont()->setBold(true); } if (isset($run->rPr->i["val"]) && self::boolean((string) $run->rPr->i["val"]) || isset($run->rPr->i) && !isset($run->rPr->i["val"])) { $objText->getFont()->setItalic(true); } if (isset($run->rPr->vertAlign) && isset($run->rPr->vertAlign["val"])) { $vertAlign = strtolower((string) $run->rPr->vertAlign["val"]); if ($vertAlign == 'superscript') { $objText->getFont()->setSuperScript(true); } if ($vertAlign == 'subscript') { $objText->getFont()->setSubScript(true); } } if (isset($run->rPr->u) && !isset($run->rPr->u["val"])) { $objText->getFont()->setUnderline(\PHPExcel\Style\Font::UNDERLINE_SINGLE); } elseif (isset($run->rPr->u) && isset($run->rPr->u["val"])) { $objText->getFont()->setUnderline((string) $run->rPr->u["val"]); } if (isset($run->rPr->strike["val"]) && self::boolean((string) $run->rPr->strike["val"]) || isset($run->rPr->strike) && !isset($run->rPr->strike["val"])) { $objText->getFont()->setStrikethrough(true); } } } } } return $value; }