QtXlsx 富文本换行
版本信息
- Qt-5.15.2
- QXlsx-0.3
- MSVC2019-x64
QtXlsx 富文本换行
QtXlsx 是支持富文本的,富文本的标签与 html 类似,但是只支持 font 相关的标签,所以通过 br 标签是无法实现换行效果的。富文本的换行符是 \n,所以只要在文本上直接写 \n 就行。但是测试发现如果像下面这样写的话,换行符会被换成空格,无法实现换行效果。
<font color=\"red\">不</font><font color=\"green\">\n通过</font>
目前要实现富文本的换行效果,应该使用 RichString 的 addFragment 方法,逐个插入文本格式。
auto doc = new QXlsx::Document;
doc->workbook()->setHtmlToRichStringEnabled(true);
QXlsx::Format red;
red.setFontColor(Qt::red);
QXlsx::Format green;
green.setFontColor(Qt::green);
QXlsx::RichString rs;
rs.addFragment("不", red);
rs.addFragment("\n通过", green);
QXlsx::Format format_normal;
format_normal.setTextWarp(true); // 设置换行
doc->write(0, 1, rs, format_normal);