web-dev-qa-db-fra.com

PHPExcel - Comment mettre une partie du texte en gras

Comment créer une valeur de cellule en gras à l'aide de PHPExcel? Je sais que je peux utiliser\n pour ajouter un retour chariot dans le texte, mais existe-t-il un moyen de mettre en gras une partie de la valeur de la cellule? J'ai également essayé d'utiliser un formatage HTML tel que <b> ou <strong> mais cela n'a pas fonctionné.

23
Ahmad Satiri

Vous pouvez mettre en gras une partie du texte dans une cellule en utilisant la mise en forme de texte enrichi, comme décrit dans la section 4.6.37 de la documentation du développeur.

$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);
49
Mark Baker

Oui, vous pouvez mettre en gras la valeur d'une cellule avec le code suivant:

$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');

J'espère que cela t'aides.

Source

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

pour une utilisation sur une seule cellule:

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

pour plusieurs cellules, utilisez:

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

Vous pouvez utiliser la classe d'assistance HTML dans PHPExcel pour mettre du texte en gras.

$htmlHelper = new \PHPExcel_Helper_HTML();
$html = "<b> Bold Text!! </b>";
$rich_text = $htmlHelper->toRichTextObject($html);
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', $rich_text);
3
Syam
$objPHPExcel->getActiveSheet()->getStyle('1:1')->getFont()->setBold(true);
0
Nishant