CSV导入

时间:2023-03-10 05:12:45
CSV导入
 import java.io.FileReader;
import java.io.IOException;
import java.util.List; import au.com.bytecode.opencsv.CSVReader;
import au.com.bytecode.opencsv.bean.ColumnPositionMappingStrategy;
import au.com.bytecode.opencsv.bean.CsvToBean;
import com.jeffy.bean.Indexmanage;
/**
* CSV公用类
* @author Jeffy
*
*/
public class CsvManage { /**
* 读取csv
* @param path CSV文件路径
* @param columns bean属性对应的表头顺序
* 注:String数组的内容是bean的属性名,顺序是CSV中的列的顺序
* 例:new String[] {"","indexmanageCoding","indexmanageLevel","index_Father_Coding","indexName"}
* @param className 要返回的结果类型
* @return 结果list
* @throws IOException
*/
public static List getDataFromCsv(String path, String[] columns, Class<? extends Object> className) throws IOException{
CSVReader reader = new CSVReader(new FileReader(path)); ColumnPositionMappingStrategy strat = new ColumnPositionMappingStrategy();
strat.setType(className);
strat.setColumnMapping(columns); CsvToBean csv = new CsvToBean();
List list = csv.parse(strat, reader);
list.remove(0);
return list;
}
public static void main(String[] args) throws IOException {
String[] columns = new String[] {"indexmanageCoding","indexmanageLevel","index_Father_Coding","indexName"}; // the fields to bind do in your JavaBean
getDataFromCsv("d:\\test3.csv", columns, Indexmanage.class);
}
}

CSV通用类

maven依赖

<dependency>
<groupId>net.sf.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>2.3</version>
</dependency>