PHPExcel - How to make part of the text bold

2020-02-08 04:00发布

问题:

How do you create a bold cell value using PHPExcel? I know I can use \n to add a carriage return within the text, but is there some kind of way to bold part of cell value? I also have tried using html formatting such as <b> or <strong> but it did not work.

回答1:

You can bold part of the text in a cell using rich text formatting, as described in section 4.6.37 of the developer documentation.

$objRichText = new PHPExcel_RichText();
$objRichText->createText('This text is ');

$objBold = $objRichText->createTextRun('bold');
$objBold->getFont()->setBold(true);

$objRichText->createText(' within the cell.');

$objPHPExcel->getActiveSheet()->getCell('A18')->setValue($objRichText);


回答2:

Yes you can bold a cell's value with the following code:

$workbook = new PHPExcel;
$sheet = $workbook->getActiveSheet();
$sheet->setCellValue('A1', 'Hello World');
$styleArray = array(
    'font' => array(
        'bold' => true
    )
);
$sheet->getStyle('A1')->applyFromArray($styleArray);
$writer = new PHPExcel_Writer_Excel5($workbook);
header('Content-type: application/vnd.ms-excel');
$writer->save('php://output');

Hope this helps.

Source



回答3:

$objPHPExcel->setActiveSheetIndex(0)
            ->setCellValue('A1', 'Hello')
            ->setCellValue('B1', 'world!')
            ->setCellValue('C1', 'Hello')
            ->setCellValue('D1', 'world!');

for single cell use:

$objPHPExcel->getActiveSheet()->getStyle("A1")->getFont()->setBold(true);

for multiple cells use:

$objPHPExcel->getActiveSheet()->getStyle("A1:D1")->getFont()->setBold(true);


回答4:

You can use the HTML helper class in PHPExcel to bold text.

$htmlHelper = new \PHPExcel_Helper_HTML();
$html = "<b> Bold Text!! </b>";
$rich_text = $htmlHelper->toRichTextObject($html);
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', $rich_text);


回答5:

$objPHPExcel->getActiveSheet()->getStyle('1:1')->getFont()->setBold(true);


标签: php phpexcel