第1章 背景

在很多公文式报表中,经常出现大文本的打印, 在UniEAP Report中,对于大文本单元格会有两个问题:

1.不允许大文本内容超过一页,如果超过一页,在导出pdf格式以及打印时会报错。

即使不超过一整页,但需要分成两页时,也会有问题。

com.neusoft.report.common.ReportException: (3509)图片的高度大于一页
    at com.neusoft.report.common.Trace.createException(Trace.java:582)
    at com.neusoft.report.common.i18n.ReportTrace.exception(ReportTrace.java:33)
    at com.neusoft.report.common.Trace.error(Trace.java:537)
    at com.neusoft.report.engine.export.split.PaperSplitter.getImageHeight(PaperSplitter.java:445)
    at com.neusoft.report.engine.export.split.PaperSplitter.split(PaperSplitter.java:226)

2.不能设置行间距,两行之间的文字会紧挨着。

1

第2章 使用方法

2.1 绘制表格

如下图所示,将长文本单元格预留一行,该行上、下分别有一个无边框的单元格。

2

2.2 设置SplitByLine公式

在单元格中设置SplitByLine公式,并设置该单元格为纵向扩展单元格。

SplitByLine公式,会将长文本按照每行文字长度,将长文本拆分为若干个字符串。每个字符串恰好能放在一行中,再设置纵向扩展,这样长文本就可以按行显示了。

3

2.3 解决上下边框问题

这样设置后,将报表发布,导出pdf试试看,基本效果已经出来了,但是在拆分为多页时,页最上方和最下方会没有边框。这是可以设置一下表头、表尾。

注意表头只保留下边框,表尾只保留上边框。

4

2.4 解决行距问题

由于是按行控制长文本内容的,那么也就可以通过设置12行的行高来控制行间距了。

5

2.5 最终效果图

导出pdf效果图如下:

6

多页切分效果:

7

【注意】使用SplitByLine公式,现在还不支持系统样式,仅支持通过独立属性的方式设置样式,详见下图:

8

results matching ""

    No results matching ""

    results matching ""

      No results matching ""