web-dev-qa-db-ja.com

PHPExcel-テキストの一部を太字にする方法

PHPExcelを使用して太字のセル値を作成するにはどうすればよいですか?\nを使用してテキスト内に改行を追加できることはわかっていますが、セル値の一部を太字にする方法はありますか? <b>や<strong>などのhtml形式を使用してみましたが、機能しませんでした。

23
Ahmad Satiri

開発者向けドキュメントのセクション4.6.37で説明されているように、リッチテキスト形式を使用してセル内のテキストの一部を太字にすることができます。

$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

はい、次のコードでセルの値を太字にすることができます:

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

お役に立てれば。

ソース

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

単一セル使用の場合:

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

複数のセルを使用する場合:

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

PHPExcelのHTMLヘルパークラスを使用して、テキストを太字にすることができます。

$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