大文本分页正文和页脚距离调整方案

 

问题描述:

客户报表中有一个单元格是查询数据库中的一个大字段出来的,内容有时多有时少,多的时候有几万个字,打印出来的结果是这个字段占据好多页,这些页的正文和页脚的距离很大,参差不齐。

解决思路:

让这个行足够大,能在一个大个格子中显示完所有的内容

实现方式:

这里有两种实现方式:1. 增加固定行合并,2. 根据内容多少动态扩展单元格大小。下面我们就具体看下两种方式的具体实现吧。

通过增加固定行合并的方式。

当内容一定的时候,通过增加多行进行合并,可以解决正文和页脚的距离大的问题。如下图增加了小 100 的行。

因为是增加固定的行,当内容数量减少或增加的时候,效果就不理想,会出现空白页。

2. 根据内容多少动态扩展单元格大小。

根据字符个数大致算出展现大文本需要的行数,在大文本单元格后,用 to(1,len( 大文本所在单元格)/ 每行最多的字符个数 ),然后动态扩展相应数量的行,拉伸大文本所在单元格的行高,辅助列宽度为 0。

需要注意的是内容所在格子高度要合适,如上图中 A236 单元格的高要合适,因为当内容越多,行数就越多,由于行高需要是整数像素,那乘起来,误差也就越大。