java OpenCSV自定义列标题和列位置

背景:最近使用csv进行数据导出,提高导出性能

问题:@CsvBindByName和@CsvBindByPosition不能同时用,要么是没标题要么是不是指定的排序规则

实现思路:

自定义排序规则,HeaderNameBaseMappingStrategy的writeOrder 属性可以通过set方法指定你需要的顺序java OpenCSV自定义列标题和列位置_第1张图片

 java OpenCSV自定义列标题和列位置_第2张图片

实现方案:

step1:

实现Comparator接口,通过传参指定字段顺序

java OpenCSV自定义列标题和列位置_第3张图片

step2:

        内部封装HeaderColumnNameMappingStrategy get方法范型T &指定字段排序

java OpenCSV自定义列标题和列位置_第4张图片

step3: 业务调用

        

DTO

java OpenCSV自定义列标题和列位置_第5张图片

 CsvUtil:

java OpenCSV自定义列标题和列位置_第6张图片

这样就实现了自定义排序方式  

参考:

 java - OpenCSV:如何使用自定义列标题和自定义列位置从 POJO 创建 CSV 文件? - SegmentFault 思否

你可能感兴趣的:(java)