Example #1
1
 private function parseRichText($is = '')
 {
     $value = new \PHPExcel\RichText();
     $value->createText($is);
     return $value;
 }
Example #2
1
 protected function parseRichText($is = '')
 {
     $value = new \PHPExcel\RichText();
     $value->createText(self::convertStringEncoding($is, $this->charSet));
     return $value;
 }
Example #3
1
 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;
 }
$objCommentRichText = $objPHPExcel->getActiveSheet()->getComment('E12')->getText()->createTextRun('PHPExcel:');
$objCommentRichText->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getComment('E12')->getText()->createTextRun("\r\n");
$objPHPExcel->getActiveSheet()->getComment('E12')->getText()->createTextRun('Total amount of VAT on the current invoice.');
$objPHPExcel->getActiveSheet()->getComment('E13')->setAuthor('PHPExcel');
$objCommentRichText = $objPHPExcel->getActiveSheet()->getComment('E13')->getText()->createTextRun('PHPExcel:');
$objCommentRichText->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getComment('E13')->getText()->createTextRun("\r\n");
$objPHPExcel->getActiveSheet()->getComment('E13')->getText()->createTextRun('Total amount on the current invoice, including VAT.');
$objPHPExcel->getActiveSheet()->getComment('E13')->setWidth('100pt');
$objPHPExcel->getActiveSheet()->getComment('E13')->setHeight('100pt');
$objPHPExcel->getActiveSheet()->getComment('E13')->setMarginLeft('150pt');
$objPHPExcel->getActiveSheet()->getComment('E13')->getFillColor()->setRGB('EEEEEE');
// Add rich-text string
echo date('H:i:s'), " Add rich-text string", EOL;
$objRichText = new \PHPExcel\RichText();
$objRichText->createText('This invoice is ');
$objPayable = $objRichText->createTextRun('payable within thirty days after the end of the month');
$objPayable->getFont()->setBold(true);
$objPayable->getFont()->setItalic(true);
$objPayable->getFont()->setColor(new \PHPExcel\Style\Color(\PHPExcel\Style\Color::COLOR_DARKGREEN));
$objRichText->createText(', unless specified otherwise on the invoice.');
$objPHPExcel->getActiveSheet()->getCell('A18')->setValue($objRichText);
// Merge cells
echo date('H:i:s'), " Merge cells", EOL;
$objPHPExcel->getActiveSheet()->mergeCells('A18:E22');
$objPHPExcel->getActiveSheet()->mergeCells('A28:B28');
// Just to test...
$objPHPExcel->getActiveSheet()->unmergeCells('A28:B28');
// Just to test...
// Protect cells
Example #5
0
$objPHPExcel->getActiveSheet()->setCellValue('A9', 'Date/Time')->setCellValue('B9', 'Date')->setCellValue('C9', \PHPExcel\Shared\Date::PHPToExcel($dateTimeNow));
$objPHPExcel->getActiveSheet()->getStyle('C9')->getNumberFormat()->setFormatCode(\PHPExcel\Style\NumberFormat::FORMAT_DATE_YYYYMMDD2);
$objPHPExcel->getActiveSheet()->setCellValue('A10', 'Date/Time')->setCellValue('B10', 'Time')->setCellValue('C10', \PHPExcel\Shared\Date::PHPToExcel($dateTimeNow));
$objPHPExcel->getActiveSheet()->getStyle('C10')->getNumberFormat()->setFormatCode(\PHPExcel\Style\NumberFormat::FORMAT_DATE_TIME4);
$objPHPExcel->getActiveSheet()->setCellValue('A11', 'Date/Time')->setCellValue('B11', 'Date and Time')->setCellValue('C11', \PHPExcel\Shared\Date::PHPToExcel($dateTimeNow));
$objPHPExcel->getActiveSheet()->getStyle('C11')->getNumberFormat()->setFormatCode(\PHPExcel\Style\NumberFormat::FORMAT_DATE_DATETIME);
$objPHPExcel->getActiveSheet()->setCellValue('A12', 'NULL')->setCellValue('C12', NULL);
$objRichText = new \PHPExcel\RichText();
$objRichText->createText('你好 ');
$objPayable = $objRichText->createTextRun('你 好 吗?');
$objPayable->getFont()->setBold(true);
$objPayable->getFont()->setItalic(true);
$objPayable->getFont()->setColor(new \PHPExcel\Style\Color(\PHPExcel\Style\Color::COLOR_DARKGREEN));
$objRichText->createText(', unless specified otherwise on the invoice.');
$objPHPExcel->getActiveSheet()->setCellValue('A13', 'Rich Text')->setCellValue('C13', $objRichText);
$objRichText2 = new \PHPExcel\RichText();
$objRichText2->createText("black text\n");
$objRed = $objRichText2->createTextRun("red text");
$objRed->getFont()->setColor(new \PHPExcel\Style\Color(\PHPExcel\Style\Color::COLOR_RED));
$objPHPExcel->getActiveSheet()->getCell("C14")->setValue($objRichText2);
$objPHPExcel->getActiveSheet()->getStyle("C14")->getAlignment()->setWrapText(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setAutoSize(true);
// Rename worksheet
echo date('H:i:s'), " Rename worksheet", EOL;
$objPHPExcel->getActiveSheet()->setTitle('Datatypes');
// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);
// Save Excel 95 file
echo date('H:i:s'), " Write to Excel5 format", EOL;
$callStartTime = microtime(true);
Example #6
0
 private static function parseRichText($titleDetailPart = null)
 {
     $value = new \PHPExcel\RichText();
     foreach ($titleDetailPart as $titleDetailElementKey => $titleDetailElement) {
         if (isset($titleDetailElement->t)) {
             $objText = $value->createTextRun((string) $titleDetailElement->t);
         }
         if (isset($titleDetailElement->rPr)) {
             if (isset($titleDetailElement->rPr->rFont["val"])) {
                 $objText->getFont()->setName((string) $titleDetailElement->rPr->rFont["val"]);
             }
             $fontSize = self::getAttribute($titleDetailElement->rPr, 'sz', 'integer');
             if (!is_null($fontSize)) {
                 $objText->getFont()->setSize(floor($fontSize / 100));
             }
             $fontColor = self::getAttribute($titleDetailElement->rPr, 'color', 'string');
             if (!is_null($fontColor)) {
                 $objText->getFont()->setColor(new \PHPExcel\Style\Color(self::readColor($fontColor)));
             }
             $bold = self::getAttribute($titleDetailElement->rPr, 'b', 'boolean');
             if (!is_null($bold)) {
                 $objText->getFont()->setBold($bold);
             }
             $italic = self::getAttribute($titleDetailElement->rPr, 'i', 'boolean');
             if (!is_null($italic)) {
                 $objText->getFont()->setItalic($italic);
             }
             $baseline = self::getAttribute($titleDetailElement->rPr, 'baseline', 'integer');
             if (!is_null($baseline)) {
                 if ($baseline > 0) {
                     $objText->getFont()->setSuperScript(true);
                 } elseif ($baseline < 0) {
                     $objText->getFont()->setSubScript(true);
                 }
             }
             $underscore = self::getAttribute($titleDetailElement->rPr, 'u', 'string');
             if (!is_null($underscore)) {
                 if ($underscore == 'sng') {
                     $objText->getFont()->setUnderline(\PHPExcel\Style\Font::UNDERLINE_SINGLE);
                 } elseif ($underscore == 'dbl') {
                     $objText->getFont()->setUnderline(\PHPExcel\Style\Font::UNDERLINE_DOUBLE);
                 } else {
                     $objText->getFont()->setUnderline(\PHPExcel\Style\Font::UNDERLINE_NONE);
                 }
             }
             $strikethrough = self::getAttribute($titleDetailElement->rPr, 's', 'string');
             if (!is_null($strikethrough)) {
                 if ($strikethrough == 'noStrike') {
                     $objText->getFont()->setStrikethrough(false);
                 } else {
                     $objText->getFont()->setStrikethrough(true);
                 }
             }
         }
     }
     return $value;
 }
Example #7
0
 /**
  * Write Rich Text
  *
  * @param     \PHPExcel\Shared\XMLWriter    $objWriter         XML Writer
  * @param     string|\PHPExcel\RichText    $pRichText        text string or Rich text
  * @param     string                        $prefix            Optional Namespace prefix
  * @throws     \PHPExcel\Writer\Exception
  */
 public function writeRichTextForCharts(\PHPExcel\Shared\XMLWriter $objWriter = null, $pRichText = null, $prefix = null)
 {
     if (!$pRichText instanceof \PHPExcel\RichText) {
         $textRun = $pRichText;
         $pRichText = new \PHPExcel\RichText();
         $pRichText->createTextRun($textRun);
     }
     if ($prefix !== null) {
         $prefix .= ':';
     }
     // Loop through rich text elements
     $elements = $pRichText->getRichTextElements();
     foreach ($elements as $element) {
         // r
         $objWriter->startElement($prefix . 'r');
         // rPr
         $objWriter->startElement($prefix . 'rPr');
         // Bold
         $objWriter->writeAttribute('b', $element->getFont()->getBold() ? 1 : 0);
         // Italic
         $objWriter->writeAttribute('i', $element->getFont()->getItalic() ? 1 : 0);
         // Underline
         $underlineType = $element->getFont()->getUnderline();
         switch ($underlineType) {
             case 'single':
                 $underlineType = 'sng';
                 break;
             case 'double':
                 $underlineType = 'dbl';
                 break;
         }
         $objWriter->writeAttribute('u', $underlineType);
         // Strikethrough
         $objWriter->writeAttribute('strike', $element->getFont()->getStrikethrough() ? 'sngStrike' : 'noStrike');
         // rFont
         $objWriter->startElement($prefix . 'latin');
         $objWriter->writeAttribute('typeface', $element->getFont()->getName());
         $objWriter->endElement();
         // Superscript / subscript
         //                    if ($element->getFont()->getSuperScript() || $element->getFont()->getSubScript()) {
         //                        $objWriter->startElement($prefix.'vertAlign');
         //                        if ($element->getFont()->getSuperScript()) {
         //                            $objWriter->writeAttribute('val', 'superscript');
         //                        } elseif ($element->getFont()->getSubScript()) {
         //                            $objWriter->writeAttribute('val', 'subscript');
         //                        }
         //                        $objWriter->endElement();
         //                    }
         //
         $objWriter->endElement();
         // t
         $objWriter->startElement($prefix . 't');
         //                    $objWriter->writeAttribute('xml:space', 'preserve');    //    Excel2010 accepts, Excel2007 complains
         $objWriter->writeRawData(\PHPExcel\Shared\StringHelper::controlCharacterPHP2OOXML($element->getText()));
         $objWriter->endElement();
         $objWriter->endElement();
     }
 }