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行,生日字段,数据为空,跳过!



介绍就到此为止,下一篇上代码与分析!





posted @ 2014-04-19 23:23  小小架构师  阅读(797)  评论(0编辑  收藏  举报