我使用的工具是Jaspersoft iReport Designer。
首先在Styles里添加为需要自动缩小字体的单元格增加一个style,然后再添加Conditional Style,设置Condition Expression。
这里可以设置两个Conditional Style:小于等于原字体一行数量,大于原字体一行数量。
如果字体更多,则对应需要设置更多的Conditional Style。
然后将对应字段的Style设置为新增的style即可。
我使用iReport Designer完成以上步骤后,开始测试一直不生效,后来在网上搜索,进行了以下修改后生效:
- 新增的style需要有一个设置为Default Style
- 对应的单元格字体大小需要删除。使用iReport Designer无法删除,需要手工修改jrxml文件,找到对应的单元格,删除字体。其他属性如需在Conditional Style里修改也需要删除,如Vertical Alignment水平对齐方式
如使用TIBCO Jaspersoft Studio软件,可以直接删除单元格字体,无需手工修改jrxml文件。