| | |
| | | package org.yeshi.utils;
|
| | |
|
| | | import java.io.InputStreamReader;
|
| | | import java.util.List;
|
| | |
|
| | | import org.springframework.web.multipart.MultipartFile;
|
| | |
|
| | | import com.opencsv.bean.CsvToBean;
|
| | | import com.opencsv.bean.CsvToBeanBuilder;
|
| | | import com.opencsv.bean.HeaderColumnNameMappingStrategy;
|
| | |
|
| | | public class CsvUtil {
|
| | |
|
| | | /**
|
| | | * 解析csv文件并转成bean
|
| | | * |
| | | * @param file csv文件
|
| | | * @param clazz 类
|
| | | * @param <T> 泛型
|
| | | * @return 泛型bean集合
|
| | | */
|
| | | public static <T> List<T> getCsvData(MultipartFile file, Class<T> clazz) {
|
| | | InputStreamReader in = null;
|
| | | try {
|
| | | in = new InputStreamReader(file.getInputStream(), "gbk");
|
| | | } catch (Exception e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | |
|
| | | HeaderColumnNameMappingStrategy<T> strategy = new HeaderColumnNameMappingStrategy<>();
|
| | | strategy.setType(clazz);
|
| | |
|
| | | CsvToBean<T> csvToBean = new CsvToBeanBuilder<T>(in).withSeparator(',').withQuoteChar('\'')
|
| | | .withMappingStrategy(strategy).build();
|
| | | return csvToBean.parse();
|
| | | }
|
| | | }
|
| | | package org.yeshi.utils; |
| | | |
| | | import java.io.InputStreamReader; |
| | | import java.util.List; |
| | | |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import com.opencsv.bean.CsvToBean; |
| | | import com.opencsv.bean.CsvToBeanBuilder; |
| | | import com.opencsv.bean.HeaderColumnNameMappingStrategy; |
| | | |
| | | public class CsvUtil { |
| | | |
| | | /** |
| | | * 解析csv文件并转成bean |
| | | * |
| | | * @param file csv文件 |
| | | * @param clazz 类 |
| | | * @param <T> 泛型 |
| | | * @return 泛型bean集合 |
| | | */ |
| | | public static <T> List<T> getCsvData(MultipartFile file, Class<T> clazz) { |
| | | InputStreamReader in = null; |
| | | try { |
| | | in = new InputStreamReader(file.getInputStream(), "gbk"); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | HeaderColumnNameMappingStrategy<T> strategy = new HeaderColumnNameMappingStrategy<>(); |
| | | strategy.setType(clazz); |
| | | |
| | | CsvToBean<T> csvToBean = new CsvToBeanBuilder<T>(in).withSeparator(',').withQuoteChar('\'') |
| | | .withMappingStrategy(strategy).build(); |
| | | return csvToBean.parse(); |
| | | } |
| | | } |