1. CSV工具类

1.1. 简要描述

此工具类提供CSV文件和List、实体Bean的相互转换功能

1.2. 示例

/src/test/java/com.helioscloud.middleware.util.CsvUtilTest

文件下载:CsvUtilTest

1.3. CSV文件转换为List

1.3.1. 方法签名

List parse(String path)

1.3.2. 输入

参数名 参数类型 描述
path String CSV文件路径

1.3.3. 输出

参数名 参数类型 描述
List CVS文件解析结果,每一个String[]为一行CVS数据

1.4. CSV文件转换为实体Bean

1.4.1. 方法签名

List parse(String path,Class clazz)

1.4.2. 输入

参数名 参数类型 描述
path String CSV文件路径
clazz Class 实体Bean<泛型>的class,举例:Test.class

1.4.3. 输出

参数名 参数类型 描述
List 返回实体的List集合

1.5. List转换为CSV文件

1.5.1. 方法签名

void createCSVFile(String[] heads, List rows, String path)

1.5.2. 输入

参数名 参数类型 描述
heads String[] CSV文件头
rows List CSV文件内容
path String CSV文件路径

1.5.3. 输出

参数名 参数类型 描述
void 无返回,可在路径下查看文件是否创建

1.6. List转换为CSV文件

1.6.1. 方法签名

void createCSVFile(List rows, String path,Class clazz)

1.6.2. 输入

参数名 参数类型 描述
rows List 实体对象集合<泛型>
path String CSV文件路径
clazz Class 实体Bean<泛型>的class,举例:Test.class

1.6.3. 输出

参数名 参数类型 描述
void 无返回,可在路径下查看文件是否创建

1.7. 实体类注解说明

@Data
@Headers(sequence = { "quantity","comments","amount","date"})
public class CsvBean {

    @Format(formats = {"dd-MM-yyyy", "yyyy-MM-dd"})
    @Parsed
    private Date date;

    @NullString(nulls = {"?", "-"})
    @Parsed(defaultNullRead = "0")
    private Integer quantity; 
    @Trim
    @LowerCase
    @Parsed(index = 1)
    private String comments;

    @Parsed(field = "amount")
    private BigDecimal amount;

}

1.7.1. @Headers:定义生成cvs文件的头信息

1.7.2. @Format:格式化日期等

1.7.3. @Parsed:将CSV文件中的属性与字段建立映射

1.7.4. @NullString(nulls = {"?", "-"}):会将? -映射为实体类的null

1.7.5. @Trim:去掉字符串两边空格

1.7.6. @LowerCase:转换为小写

1.7.7. @Parsed(index = 1):指定映射列顺序

1.7.8. @Parsed(field = "amount"):指定映射列别名

1.7.9. @Parsed(defaultNullRead = "0"):字段为空时的默认值

results matching ""

    No results matching ""