PHPWord如何自动换行文字?
PHPWord how to wordwrap text?
我目前在 Word2007、Word2013 中测试了一个问题,它在 LibreOffice 中运行良好。
我的单元格内有来自 mysql 数据库的文本,它不考虑换行符。
Word2007 示例:
文本= - 汽车 - 飞机 - 沙发 - 办公室
LibreOffice 中的示例 (Ubuntu 16 LTS):
- 车
- 飞机
- 沙发
- 办公室
我在 PHPWord 'wordWrap'=>true
中找到了一个选项,但似乎没有任何效果。
有人遇到过这个问题并可以给我一个有效的例子吗?
编辑:尝试在 table 内使用单元格的第一个解决方案。 (下面的代码在一个 while 循环中,因此如果有 10 个单元格,它会重新创建 10 次单元格 \n)
$table->addRow($height);
$table->addCell($width, $styleVertical)->addText("$risques_identifies", $styleTextNextRow, $styleLeft);
$table->addCell($width, $styleVertical)->addText("$epi_epc", $styleTextNextRow, $styleLeft);
$table->addCell($width, $styleVertical);
$textlines_organisation_documentation=explode("\n",$organisation_documentation);
for ($i = 0; $i < sizeof($textlines_organisation_documentation); $i++) {
$table->addText("$textlines_organisation_documentation", $styleTextNextRow, $styleLeft);
}
我的代码创建了一个错误。我不知道如何创建单元格并在之后添加文本(在 "for" 内)。这就是我想要做的。
这将为 \n
:
定义的每个段落插入一个换行符
编辑(感谢@CBroe):
$text = "foo\nbar\nfoobar";
$textlines = explode("\n", $text);
// Create table...
// Add table cell
$mycell = $table->addCell()
// Loop content to append cell
for ($i = 0; $i < sizeof($textlines); $i++) {
$mycell->addText($textlines[$i]);
}
我目前在 Word2007、Word2013 中测试了一个问题,它在 LibreOffice 中运行良好。
我的单元格内有来自 mysql 数据库的文本,它不考虑换行符。
Word2007 示例:
文本= - 汽车 - 飞机 - 沙发 - 办公室
LibreOffice 中的示例 (Ubuntu 16 LTS):
- 车
- 飞机
- 沙发
- 办公室
我在 PHPWord 'wordWrap'=>true
中找到了一个选项,但似乎没有任何效果。
有人遇到过这个问题并可以给我一个有效的例子吗?
编辑:尝试在 table 内使用单元格的第一个解决方案。 (下面的代码在一个 while 循环中,因此如果有 10 个单元格,它会重新创建 10 次单元格 \n)
$table->addRow($height);
$table->addCell($width, $styleVertical)->addText("$risques_identifies", $styleTextNextRow, $styleLeft);
$table->addCell($width, $styleVertical)->addText("$epi_epc", $styleTextNextRow, $styleLeft);
$table->addCell($width, $styleVertical);
$textlines_organisation_documentation=explode("\n",$organisation_documentation);
for ($i = 0; $i < sizeof($textlines_organisation_documentation); $i++) {
$table->addText("$textlines_organisation_documentation", $styleTextNextRow, $styleLeft);
}
我的代码创建了一个错误。我不知道如何创建单元格并在之后添加文本(在 "for" 内)。这就是我想要做的。
这将为 \n
:
编辑(感谢@CBroe):
$text = "foo\nbar\nfoobar";
$textlines = explode("\n", $text);
// Create table...
// Add table cell
$mycell = $table->addCell()
// Loop content to append cell
for ($i = 0; $i < sizeof($textlines); $i++) {
$mycell->addText($textlines[$i]);
}