【问题标题】:PhpWord table no borderphpWord表格无边框
【发布时间】:2018-06-06 19:44:29
【问题描述】:

我在 phpword 文件中添加了一个表格,但似乎无法更改表格的边框。我读到borderSize 是一个特定于单元格的设置,但即使没有变化。边界根本没有改变。我在这里尝试了很多关于堆栈溢出的事情,但似乎找不到解决方案。有没有人遇到过类似的问题?

$phpWord = \PhpOffice\PhpWord\IOFactory::load($file);
$styleTable = array('borderColor'=>'#CCC', 'borderSize'=> 2, 'cellMargin'=>50, 'valign'=>'center');
$styleFirstRow = array('bgColor'=>'#CCC', 'bold'=>true, 'size'=>11, 'valign'=>'center');
$styleCell = array('valign'=>'center');
$fontStyle = array('bold'=>false, 'align'=>'center', 'color'=>'ccc');

$phpWord->addTableStyle('myTable', $styleTable, $styleFirstRow);

$section = $phpWord->createSection();
$table = $section->addTable('myTable');

$table->addRow(900);
$table->addCell(2000, $styleCell)->addText('#SIG01_100_200#', $fontStyle);
$table->addCell(2000, $styleCell)->addText('#SIG02_100_200#', $fontStyle);

$xmlWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord , 'PDF');
$xmlWriter->save($file_pdf);

【问题讨论】:

  • 看起来borderStyle定义确实只影响单元格,并且似乎总是应用最小尺寸(当您增加值时它会按预期工作)。我不确定“无边框表格”的确切目标是什么,但产生看似“无边框”表格样式的一种方法是设置边框颜色以匹配您的背景颜色(可能是白色)。

标签: php phpword


【解决方案1】:

为每个单元格的每一边设置边框颜色和边框大小:

$styleCell =
[
    'borderColor' =>'ff0000',
    'borderSize' => 6,
];
$table->addCell(2000, $styleCell);

$styleCell =
[
    'borderTopColor' =>'ff0000',
    'borderTopSize' => 6,
    'borderRightColor' =>'ff0000',
    'borderRightSize' => 6,
    'borderBottomColor' =>'ff0000',
    'borderBottomSize' => 6,
    'borderLeftColor' =>'ff0000',
    'borderLeftSize' => 6,
];
$table->addCell(2000, $styleCell);

【讨论】:

    猜你喜欢
    • 2020-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-27
    • 1970-01-01
    • 1970-01-01
    • 2011-08-25
    • 2011-01-04
    相关资源
    最近更新 更多