【问题标题】:Tables ignore given format表格忽略给定的格式
【发布时间】:2016-05-10 03:28:24
【问题描述】:

我正在尝试将一些表格添加到文档中,经过大量工作后,它显示正确。使用 PHPWord 生成。问题是我在表格、行或单元格样式中添加的任何内容都不会修改表格。

我已经尝试过:$table->addRow(15)$table->addRow(array('height'=>15)),如下面的代码所示。

此外,没有关于如何添加包含两行文本的单元格的文档,因为在“签名”下方我必须添加“姓名”。

//TABLE1
$table = $section->addTable(array('width'=>100, 'borderSize'=> 1, 'borderColor'=>'000000'));
$table->addRow(15,array('height'=>15));
$table->addCell(array('width'=>150))->addText('COMPANY', $smallBoldFont);
$table->addRow();
$table->addCell()->addText('');
$table->addRow();
$table->addCell()->addText('');
//TABLE1
$section->addTextBreak(2);
//TABLE2
$table2 = $section->addTable(array('borderSize'=> 1, 'borderColor'=>'000000'));
$table2->addRow(100,array('height'=>80));
$table2->addCell(150,array('width'=>800))->addText('Recibed', $smallFont8);
$table2->addRow();
$table2->addCell()->addText('Time:', $smallFont8);
$table2->addCell()->addText('Sign:', $smallFont8);
//TABLE2

PHPWord 忽略我对表格的格式样式有什么原因吗?还有其他更好的方法吗?

期望的输出:

实际输出:

【问题讨论】:

    标签: php css phpword


    【解决方案1】:

    在文档中就是全部。只是为了深入阅读。以下是如何创建tables 的部分,包括创建具有多列单元格的表格

    我不知道 PHPWord 是否有一些预定义的单位以防万一你错过使用它们。但似乎您需要设置宽度单位。但是您应该根据需要测试单位和数字。

    创建多列单元格的命令是gridSpan()。所以创建第二个表的第一行的行(可能)应该是:

    $table2->addCell(150,array('width'=>800))->gridSpan(2) ->addText('Recibed', $smallFont8);
    

    PHPWord 使用 twip 作为默认单位。并且所有单元格都必须匹配其宽度。 整个列取最小的单元格。

    从缇转换为其他单位可以使用EndMemo (Topography Conversion Online)

    250 像素是 3750 缇。

    【讨论】:

    • 我使用了该文档中显示的所有格式。添加单位不起作用,只是尝试过。您答案的最后一部分效果很好,所以谢谢。
    • PHPWord 看起来很有趣——但我宁愿继续使用我自己的方式(我自己的 HTML 代码生成器),即使它并不完美。
    • 似乎单位是缇,所有单元格都必须匹配它的宽度。整个列采用最小的单元格宽度。这是一个缇到其他单位的转换器endmemo.com/convert/topography.php,比如 3750 缇是 250 像素。请将此添加到您的答案中,我会接受。因此其他人可以更轻松地找到此信息。
    • 添加了您希望我添加到我的答案中的内容。我希望这是正确的。
    猜你喜欢
    • 1970-01-01
    • 2021-09-13
    • 2020-08-06
    • 2022-10-21
    • 2012-02-01
    • 2011-08-12
    • 2012-02-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多