动态指定报表行对齐方式

来源:互联网 发布:java基础入门课后答案 编辑:程序博客网 时间:2024/06/05 06:45


背景

报表中各单元格内容长度不定,当内容较少时垂直水平均居中对齐,当内容长度超过某特定值时,内容在单元格中水平居左垂直靠上对齐。

分析

     报表的属性面板中包含了各种单元格对齐方式,可以选定任意对齐方式组合指定单元格内容对齐方式。但若扩展的单元格需实现上面提到的效果,那我们就没办法写死了。可以试图通过对齐方式表达式进行控制,但我们并不知道”居中”该以何种方式给出。

通过查找API,可以看到对齐方式对应的常量值:

public static final byte

HALIGN_CENTER

-47

public static final byte

HALIGN_LEFT

-48

public static final byte

HALIGN_RIGHT

-46

public static final byte

VALIGN_BOTTOM

-30

public static final byte

VALIGN_MIDDLE

-31

public static final byte

VALIGN_TOP

-32

这样,我们就可以非常容易的使用相应常量值进行控制了。

实现

制作一张简单的报表,

A1单元格的水平对齐表达式中写入:if(len(str(value()))>4,-48,-47),其含义为当内容长度超过4个字符时,水平靠左对齐,否则水平居中对齐;

可以看到,这里我们就是在使用对应的对齐方式常量值。

预览效果可以看到:




总结

本文的小例旨在说明,润乾报表中属性的可控范围是很广的,经常查API文档是个不错的解决问题的途径。

0 0
原创粉丝点击