解决导出Excel后0丢失的问题
需求背景
1、报表中的0.XXX导出Excel后0丢失,变成了.XXX,如0.5变成.5;
2、报表数据集中数据有存在空和0的数据,在报表显示的时候要求空值不显示,0值显示0,当前都显示为0;
3、横向和纵向分组后,要求没有数据记录的单元格显示为空;
4、整数只显示整数,小数保留一位小数。
问题分析
1、由于导出的Excel单元格类型为”自定义”,该格式下的首0会自动截去,这是正常现象,当然我们可以通过设置显示格式来解决,稍后我们看具体实现;
2、目前报表分组后对于空值和0值的显示结果是相同的,即都为0,这点我们可以通过表达式判断来解决,稍后看具体实现;
3、对于横向纵向分组交叉后在数据集中没有记录的单元格,要显示为空,我们也可以通过表达式判断来解决。
实现步骤
数据:
按照正常做法写表达式后的显示结果:
表达式和显示格式设置如下:
B1:=ds1.group(day)
A2:=ds1.group(name)
B2:=if(ds1.day==B1 && ds1.name==A2,if(ds1.num==null,””,ds1.sum(num)),””)
B2显示格式表达式:if(isnumber(str(value())),if(value()==int(value()),”#0″,”#0.0″),”#”)
设置后的显示效果如下:
导出的Excel如下:
需求实现。
发布日期:2010/09/25
本文分类:
设计基础