订单等数据导出为Csv文件注意事项

Problem1.订单等数据导出,大多需要牵扯到多张表联表查询,订单等表,大多数据量较大,联表查询将占用大量服务器资源:
1:导出数据避免项目间服务调用(dubbo),负责导出的项目应具有所有项目数据源
2:导出接口应尽量精简,避免出现繁重的冗余接口
3:如果用户导出操作比较频繁,可通过建立临时表等方式,在用户访问量不大的情况下做待导出数据准备
4:延迟,异步导出,结合用户导出需求,可每天提交导出需求,告知用户只在每天的某个时间处理用户导出数据请求
5:对导出量和导出时间跨度做限制
6:绝对禁止for循环里调用接口查询装配数据
Problem2.数据导出到csv文件中,用excel打开后,部分数字或者字符错位等问题
1:订单号等字段,即使你用的是String,可是到Excel中依然还是变了(如变成科学计数法啊什么的,订单号一般比较长,它还会把后面几位全部变成0),加上这句话就好啦~
StringEscapeUtils.escapeCsv(“\t”+record.getOrderNo()))
2:如果导出的字段,如用户备注什么的,有可能有一些特殊字符,如逗号等,在写入csv文件时会被解析,然后就一阵错乱….咋办?把导出内容加上双引号就好啦~加上双引号之后就可以防止内容中的特殊字符被解析啦~~~

发布了25 篇原创文章 · 获赞 64 · 访问量 26万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章