时常在导出遇到的问题,总结了一下,菜菜鸟目前主要编码显示有误、null数据不显示、列表数据与导出数据不一致以及列表排序这四个方面。
编码导出展示有误
这种情况一般是格式转换问题,在文件写时添加’\t’,就可以解决,以实际为准;菜菜鸟在该这种bug是导出的csv文件与excel文件有的格式不一样导致的。
int i = 0; //方便后期添加相应的数据
record[i++] = "\t" + obj.getEnterpriseCustomerCode();
Null数据不显示
这个就是菜菜鸟遇到导出数据之间展示null,从处理为null,不展示直接为空,如果数字为空则展示为0,菜菜鸟解决的办法是使用三目表达式。
record[i++] = obj.getArea()==null?"0":"\t"+obj.getArea();
record[i++] = obj.getOrgCode()==null?"":"\t"+obj.getOrgCode();
导出数据与页面展示不符
这种问题一般都是SQL存在问题,可能是一下菜菜鸟认为的几种:
- 联查方式。多表联查的方式有好几种,虽然都可以满足需求,但是还是选取最适合的为好,联查方式之间存在一些差别;
- DISTINCT降重。有的时候联查会有许多重复数据,需要去重掉;
- 查询选取。这个本不应该算在这里的,查询数据的时候提高效率,可以做select '1’这种处理;
列表排序
这个就简单多了,根据需求进行排序就好了,有时候需要先分组在排序。
//只排序不分组
ORDER BY area_code DESC
//先分组再排序
GROUP BY
area_code
ORDER BY
area_code DESC