近期处理了一些Ureport2报表问题,对源码略有了解。现将所遇到的问题总结如下:
------------------------------------------
问题:html显示的表格实际宽度比例与设计页面的colspan合并数不一致【使用不当】
原因:首行为合并行导致html表格的宽度设置失效
处理:第一行上右键设置“重复表头”,报表正文从第二行开始。
注意:不要通过关闭换行这种治标不治本的方式解决,因为换行关闭后,浏览器可以自适应文本内容来撑高td,但是pdf不行,故会导致pdf导出数据缺失。
------------------------------------------
问题:换行计算错误(F12可以看到br标签插入位置不正确)【使用不当】
原因:Ureport2计算换行时,半角字符的宽度比浏览器实际显示的要小,故换行标签插入位置比正确位置偏后。
- 半角字符导致,比如sql中使用了半角空格来缩进。
- 文本行出现较多西文字符,比如“2019年3月4日至2019年4月3日”这种数字或字母较多的字符。
处理:
- 切换输入法到全角,插入对应的全角字符(可以看到插入的全角字符占比要宽一些)
- 想办法替换模板中的西文字符,比如将时间段改为“近xx天”
------------------------------------------
问题:行高度计算错误,导致多列表格中除最后一列以外的所有列可能数据显示不全。【插件缺陷】
原因:Ureport2缺陷,将最后一列的高度作为了整行高度。应该将整行所有列中的最大高度设为行高度
处理:已在2.2.8版本解决,fork且合并到github的官方源码。
-------------------------------------------
问题:大段文本在换行计算后,段落前后出现大段空白。【插件缺陷】
原因:Ureport2缺陷,换行高度预估多了导致
处理:已在2.3.0版本解决,fork且合并到github的官方源码。