admin
2021-02-06 d1f26741bddf6f512d62c0100d42c52be8d37e76
utils/src/main/java/org/yeshi/utils/CsvUtil.java
@@ -1,37 +1,37 @@
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();
   }
}