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

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

POI 导入excel数据自动封装成model对象--介绍的更多相关文章

  1. POI 导入excel数据自动封装成model对象--代码

    所有的代码如下: import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; ...

  2. POI 导入excel数据自动封装成model对象--代码分析

    上完代码后,对代码进行主要的分析: 1.主要使用反射api将数数据注入javabean对象 2.代码中的日志信息级别为debug级别 3.获取ExcelImport对象后需要调用init()方法初始化 ...

  3. java 使用poi 导入Excel 数据到数据库

    由于我个人电脑装的Excel是2016版本的,所以这地方我使用了XSSF 方式导入 . 1先手要制定一个Excel 模板 把模板放入javaWeb工程的某一个目录下如图: 2模板建好了后,先实现模板下 ...

  4. POI 导入excel数据自己主动封装成model对象--代码分析

    上完代码后,对代码进行基本的分析: 1.主要使用反射api将数数据注入javabean对象 2.代码中的日志信息级别为debug级别 3.获取ExcelImport对象后须要调用init()方法初始化 ...

  5. 使用jquery将表单自动封装成json对象 /json对象元素的添加删除和转换

    $.fn.serializeObject = function () { var o = {}; var a = this.serializeArray(); $.each(a, function ( ...

  6. 基于 Aspose.Cells与XML导入excel 数据----操作类封装

    前言 导入excel数据, 在每个项目中基本上都会遇到,第三方插件或者基于微软office,用的最多的就是npoi,aspose.cells和c#基于office这三种方式,其中各有各的优缺点,在这也 ...

  7. Java 使用poi导入excel,结合xml文件进行数据验证的例子(增加了jar包)

    ava 使用poi导入excel,结合xml文件进行数据验证的例子(增加了jar包) 假设现在要做一个通用的导入方法: 要求: 1.xml的只定义数据库表中的column字段,字段类型,是否非空等条件 ...

  8. 在java poi导入Excel通用工具类示例详解

    转: 在java poi导入Excel通用工具类示例详解 更新时间:2017年09月10日 14:21:36   作者:daochuwenziyao   我要评论   这篇文章主要给大家介绍了关于在j ...

  9. Struts2(接受表单参数)请求数据自动封装和数据类型转换

    Struts2请求数据自动封装: (1)实现原理:参数拦截器 (2)方式1:jsp表单数据填充到action中的属性:        普通的成员变量,必须给set,get可以不给的.    注意点,A ...

随机推荐

  1. async 和 await 例子

    /// <summary> /// C# 5.0 /// .net framework4.5 /// CLR4.0 /// 引入了async 和 await.这两个关键字可以让你更方便的写 ...

  2. form表单里的button调用js函数

    近来发现一个特别奇怪的问题:在form表单里,button的onclick事件无法调用js函数.代码如下(这段代码放在form标签里): dropUpdateAddress调用的js函数为: 这个时候 ...

  3. kubernetes的Service是什么?

    service到底是什么? k8s的service定义了一个服务的访问入口地址,前端的应用通过这个入口地址访问其背后的一组由pod副本组成的集群实例.来自外部的访问请求被负载均衡到后端的各个容器应用上 ...

  4. 关于Sysinternals Suite

    sysinternals 的网站创立于1996年由Mark russinovich和布赖科格斯韦尔主办其先进的系统工具和技术资料·微软于2006年7月收购sysinternals公司 . 不管你是一个 ...

  5. phpcms模块安装

    工作中需要用到 phpcms开源框架,借鉴了   http://www.cnblogs.com/benpaodelulu/p/6874201.html这个地址,搞定的 ,非常实用 如果有用到的朋友们可 ...

  6. Django ORM 查询表中某列字段值

    场景: 有一个表中的某一列,你需要获取到这一列的所有值,你怎么操作? 解决办法: 有一个model为:Event 方式一: 获取内容: Event.objects.values('title') 输出 ...

  7. webug3.0靶场渗透基础Day_1

    第一关: 最简单的get注入 单引号报错 http://192.168.129.136/pentest/test/sqli/sqltamp.php?gid=1' order by 5 --+     ...

  8. java中CompletionService的使用

    java中CompletionService的使用 之前的文章中我们讲到了ExecutorService,通过ExecutorService我们可以提交一个个的task,并且返回Future,然后通过 ...

  9. vue + ArcGIS 地图应用系列一:arcgis api本地部署(开发环境)

    封面 1. 下载 ArcGIS API for JavaScript 官网地址: https://developers.arcgis.com/javascript/3/ 下载地址:http://lin ...

  10. Swoole 实战:MySQL 查询器的实现(协程连接池版)

    目录 需求分析 使用示例 模块设计 UML 类图 入口 事务 连接池 连接 查询器的组装 总结 需求分析 本篇我们将通过 Swoole 实现一个自带连接池的 MySQL 查询器: 支持通过链式调用构造 ...