使用PHPWord格式化表格单元格中的文本,例如粗体,字体,大小e.t.c.

时间:2013-08-02 15:33:12

标签: php phpword

我有下面的代码段

  //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';
}

如何将单元格值的文本格式添加为粗体,斜体,字体大小等,我已尝试如上所示,但它不起作用

3 个答案:

答案 0 :(得分:2)

$myFontStyle = array('bold' => true, 'align' => 'center');

$table->addCell(1750)->addText("Testing", $myFontStyle, array('align' => 'center'));

答案 1 :(得分:0)

以下适用于我:

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

唯一的区别是 - 我传入一个数组,而不是一个样式定义...

HTH

答案 2 :(得分:0)

这应该这样做:

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