Formatting a text in a table cell with PHPWord e.g

2019-07-21 16:53发布

I have the code snippet below

  //create a new word document

    $word= new PHPWord();

    //create potrait orientation
    $section=$word->createSection();   


    $table = $section->addTable();
    $word->addFontStyle('rStyle', array('bold'=>true, 'italic'=>true, 'size'=>16));
    //header row
    $table->addRow(400, array('bgColor'=>'dbdbdb'));
    $table->addCell(2000, array('bgColor'=>'dbdbdb'))->addText('Cell 1','rStyle');
    $table->addCell(3500, array('bgColor'=>'dbdbdb'))->addText('Cell 1');
    $table->addCell(1500, array('bgColor'=>'dbdbdb'))->addText('Cell 1','rStyle');
    $table->addCell(2000, array('bgColor'=>'dbdbdb'))->addText('Cell 1');       

    // Save File
    $objWriter = PHPWord_IOFactory::createWriter($word, 'Word2007');
    $objWriter->save('Text.docx');
    echo 'Text.docx created successfully';
}

How can i add text formatting to a cell value to bold, italic, font-size etc, I have tried as shown above but it does not work

标签: php phpword
3条回答
▲ chillily
2楼-- · 2019-07-21 17:32

The following works for me:

$tdwidth = 1440 * 3;
$table
  ->addCell($tdwidth)
  ->addText(
    "TO",
    array(
      'size' => 12,
      'bold' => true,
      'underline' => PHPWord_Style_Font::UNDERLINE_SINGLE
    )
  );
$table
  ->addCell($tdwidth, array('align'=>'left'))
  ->addText(
    "FROM",
    array(
      'size' => 12,
      'bold' => true,
      'underline' => PHPWord_Style_Font::UNDERLINE_SINGLE,
    )
  );

The only diff is - I pass in an array and not a style defn...

HTH

查看更多
老娘就宠你
3楼-- · 2019-07-21 17:34

This should do it:

$word->addFontStyle('rStyle', array('bold'=>true, 'italic'=>true, 'size'=>16));
$centered= array('align'=>'center');

//header row
$table->addRow(400, array('bgColor'=>'dbdbdb'));
$table->addCell(2000, array('bgColor'=>'dbdbdb'))->addText('Cell 1','rStyle', $centered);
查看更多
一纸荒年 Trace。
4楼-- · 2019-07-21 17:36
$myFontStyle = array('bold' => true, 'align' => 'center');

$table->addCell(1750)->addText("Testing", $myFontStyle, array('align' => 'center'));
查看更多
登录 后发表回答