当前的 PHPExcel 现在可以在 excel 单元格中格式化 HTML 标记吗?这就像这里的问题
我有一个来自数据库的表,其中的字段包含带有 html 标签的字符串
即<b>你好</b>
我希望它在excel中输出不是纯文本,而是像这样的你好
是否有任何 php to excel 库可以做到这一点?任何想法?提前致谢
不!PHPExcel 没有任何内置逻辑来执行此操作;我知道的任何其他图书馆也没有。
您需要自己编写一些代码来处理从 HTML 到富文本运行的转换.... HTML 阅读器中有一些逻辑,您可以将其用作此基础。
编辑
自编写此答案以来,PHPExcel 库中添加了一个帮助器类,该类将采用简单的 html 标记的基本块并将其转换为可以设置为单元格值的富文本对象。这是一个PHPExcel_Helper_HTML
带有方法的类,它toRichTextObject()
接受一个 html 块的参数并返回一个富文本对象。在Examples/42richText.php中有一些例子展示了它的使用
$html = '<font color="#0000ff">
<h1 align="center">My very first example of rich text<br />generated from html markup</h1>
<p>
<font size="14" COLOR="rgb(0,255,128)">
<b>This block</b> contains an <i>italicized</i> word;
while this block uses an <u>underline</u>.
</font>
</p>
<p align="right"><font size="9" color="red">
I want to eat <ins><del>healthy food</del> <strong>pizza</strong></ins>.
</font>
';
$wizard = new PHPExcel_Helper_HTML;
$richText = $wizard->toRichTextObject($html);
虽然不是所有的标记都受支持,并且它不使用样式表,并且只有一组有限的内联样式元素,但它与基本的标记元素配合得很好。
我在这件事上花了很多时间。但我没有得到目标。Thier 是不可能像这样写并按我们的意愿获取数据的。我喜欢马克的回答,试试你自己的脚本。