gpt4 book ai didi

PHPWord 将 HTML 读入表格单元格

转载 作者:搜寻专家 更新时间:2023-10-31 21:23:07 32 4
gpt4 key购买 nike

似乎 PHPWord 需要一个元素来插入 \PhpOffice\PhpWord\Shared\Html::addHtml 的输出。我正在尝试将 HTML 字符串的内容输出到表格单元格中,示例如下:

//Example HTML
$html = '<h1>Adding element via HTML</h1>';
$html .= '<p>Some well formed HTML snippet needs to be used</p>';
$html .= '<p>With for example <strong>some<sup>1</sup> <em>inline</em> formatting</strong><sub>1</sub></p>';
$html .= '<p>Unordered (bulleted) list:</p>';
$html .= '<ul><li>Item 1</li><li>Item 2</li><ul><li>Item 2.1</li><li>Item 2.1</li></ul></ul>';
$html .= '<p>Ordered (numbered) list:</p>';
$html .= '<ol><li>Item 1</li><li>Item 2</li></ol>';

$table = $section->addTable();
$target = $table->addRow()->addCell(10000)->addText();
\PhpOffice\PhpWord\Shared\Html::addHtml($target, $html);

目标单元格仍为空,但我可以生成 Word2007 文档而不会出错。我试过不调用 addText() 但生成的文档已损坏。

关于如何实现我的目标有什么建议吗?

编辑:上面的示例 HTML 确实适用于 $target = $table->addRow()->addCell(10000)。我似乎在使用的实际 HTML 中存在问题,某些标签似乎正在产生问题。我已经删除了那些不需要的但现在有一个异常(exception):

BadMethodCallException in AbstractContainer.php line 232:
Cannot add ListItem in TextRun.

这很奇怪,因为在上面的工作示例 HTML 中有列表项

最佳答案

试试这个

$table->addRow();

$resource_cell_left = $table->addCell(3000);
$resource_cell_left->addText('Test', array('name' => 'Century Gothic', 'size' => 9, 'bold' => true), array('align'=>'left'));
$resource_cell_right = $table->addCell(6000);
$resource_text->addText('Test ', array('name' => 'Century Gothic', 'size' => 9, 'bold' => true), array('align' => 'right'));

\PhpOffice\PhpWord\Shared\Html::addHtml($resource_cell_right, $html);

$resource_cell_right->addTextBreak();

关于PHPWord 将 HTML 读入表格单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42133367/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com