POI 导入excel数据自动封装成model对象-引见
1、项目开发中,导入输入应该是常用的基本功能。我们经常会使用excel将数据导入到数据库,在导入之前必须得将excel数据转换成javaBean对象
2、由于此功能经常使用,所以开发此工具类方便日后轻松完成输入导入与转换功能
要求:excel中必须有标题栏,标注每个字段的意义 如:
与此excel对应的javabean对象为:
/**
* 用户基本信息测试
*
* @author cml
*
*/
public class User
{
private String username;
private int id;
private String name;
private Date birthday;
private long height;
private double salary;
//省略set get方法
}
在使用测试类的时候我们只需要注明bean中的属性与excel标题栏哪一列对应即可,不要求excel中列的顺序关系。
先运行工具类:
Map<String, String> header = new HashMap<String, String>();
header.put("编号", "id");
header.put("用户名", "username");
header.put("姓名", "name");
header.put("生日", "birthday");
header.put("身高", "height");
header.put("工资", "salary");
ExcelImport export = new ExcelImport(header);
export.init(new File("src/user.xls"));
List<User> users = export.bindToModels(User.class, true);
if (export.hasError())
{
System.out.println(export.getError().toString());
}
可以在后台看到控制信息:
[DEBUG]---[ExcelImport]加载标题栏:编号
[DEBUG]---[ExcelImport]加载标题栏:用户名
[DEBUG]---[ExcelImport]加载标题栏:姓名
[DEBUG]---[ExcelImport]加载标题栏:生日
[DEBUG]---[ExcelImport]加载标题栏:身高
[DEBUG]---[ExcelImport]加载标题栏:工资
[DEBUG]---[ExcelImport]<<<<<<<<<<<<标题栏加载完毕>>>>>>>>>>>
[DEBUG]---[ExcelImport]第5行,姓名字段,数据为空,跳过!
[DEBUG]---[ExcelImport]第7行,生日字段,数据为空,跳过!
[DEBUG]---[ExcelImport]<<<<<装换完成有错误信息,共有对象:19个>>>>>>
第5行,姓名字段,数据为空,跳过!
第7行,生日字段,数据为空,跳过!
介绍就到此为止,下一篇上代码与分析!