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行,生日字段,数据为空,跳过!
介绍就到此为止,下一篇上代码与分析!
POI 导入excel数据自动封装成model对象--介绍的更多相关文章
- POI 导入excel数据自动封装成model对象--代码
所有的代码如下: import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; ...
- POI 导入excel数据自动封装成model对象--代码分析
上完代码后,对代码进行主要的分析: 1.主要使用反射api将数数据注入javabean对象 2.代码中的日志信息级别为debug级别 3.获取ExcelImport对象后需要调用init()方法初始化 ...
- java 使用poi 导入Excel 数据到数据库
由于我个人电脑装的Excel是2016版本的,所以这地方我使用了XSSF 方式导入 . 1先手要制定一个Excel 模板 把模板放入javaWeb工程的某一个目录下如图: 2模板建好了后,先实现模板下 ...
- POI 导入excel数据自己主动封装成model对象--代码分析
上完代码后,对代码进行基本的分析: 1.主要使用反射api将数数据注入javabean对象 2.代码中的日志信息级别为debug级别 3.获取ExcelImport对象后须要调用init()方法初始化 ...
- 使用jquery将表单自动封装成json对象 /json对象元素的添加删除和转换
$.fn.serializeObject = function () { var o = {}; var a = this.serializeArray(); $.each(a, function ( ...
- 基于 Aspose.Cells与XML导入excel 数据----操作类封装
前言 导入excel数据, 在每个项目中基本上都会遇到,第三方插件或者基于微软office,用的最多的就是npoi,aspose.cells和c#基于office这三种方式,其中各有各的优缺点,在这也 ...
- Java 使用poi导入excel,结合xml文件进行数据验证的例子(增加了jar包)
ava 使用poi导入excel,结合xml文件进行数据验证的例子(增加了jar包) 假设现在要做一个通用的导入方法: 要求: 1.xml的只定义数据库表中的column字段,字段类型,是否非空等条件 ...
- 在java poi导入Excel通用工具类示例详解
转: 在java poi导入Excel通用工具类示例详解 更新时间:2017年09月10日 14:21:36 作者:daochuwenziyao 我要评论 这篇文章主要给大家介绍了关于在j ...
- Struts2(接受表单参数)请求数据自动封装和数据类型转换
Struts2请求数据自动封装: (1)实现原理:参数拦截器 (2)方式1:jsp表单数据填充到action中的属性: 普通的成员变量,必须给set,get可以不给的. 注意点,A ...
随机推荐
- 设计模式-原型模式(Prototype)【重点:浅复制与深复制】
讲故事 最近重温了一下星爷的<唐伯虎点秋香>,依然让我捧腹不已,幻想着要是我也能有一名秋香如此的侍女,夫复何求呀,带着这个美好的幻想沉沉睡去... 突然想到,我是一名程序猿呀,想要什么对象 ...
- 在 Azure CentOS VM 中配置 SQL Server 2019 AG - (上)
前文 假定您对Azure和SQL Server HA具有基础知识 假定您对Azure Cli具有基础知识 目标是在Azure Linux VM上创建一个具有三个副本的可用性组,并实现侦听器和Fenci ...
- Linux 日常操作
Linux 日常操作 */--> Linux 日常操作 Table of Contents 1. 查看硬件信息 1.1. 服务器型号序列号 1.2. 主板型号 1.3. 查看BIOS信息 1.4 ...
- mysql错误代码对照表较完整
mysql错误代码对照表较完整 mysql_errno() From: http://blog.csdn.net/aidenliu/article/details/5925604 mysql错误代码对 ...
- 【Linux常见命令】seq命令
seq - print a sequence of numbers seq命令用于以指定增量从首数开始打印数字到尾数,即产生从某个数到另外一个数之间的所有整数,并且可以对整数的格式.宽度.分割符号进行 ...
- Git 提交项目命令
git add . //添加⽂件到待提交区 git commit -m "注释" //创建⼀个提交 git push origin //将修改内容提交
- 桌面上的Flutter:Electron又多了个对手
从本质上看,Flutter是一个独立的二进制可执行文件.它不仅改变了移动设备的玩法,在桌面设备上也同样不可小觑.一次编写,可在Android.iOS.Windows.Mac和Linux上进行原生部署, ...
- java 设计模式-责任链
责任链设计模式,其实就是处理同一个请求的对象连接成一条链,请求的路径经过这条链,符合要求的就处理这个请求,不符合就接着往下面抛出,直道有人处理这条请求. 业务:比如啊,公司个人请假,三天以下就是主管审 ...
- HR问了我朋友什么是简单工厂模式,竟被质疑是否学过设计模式,是否是计算机专业?
越是简单的东西,越是容易被忽略,我来带你们好复习一下! 简单工厂模式 简单工厂模式也被称为静态工厂模式;使用简单工厂模式可以将产品的"消费"和生产完全分开,客户端只需要知道自己需要 ...
- 数学--数论-- HDU6298 Maximum Multiple 打表找规律
Given an integer nn, Chiaki would like to find three positive integers xx, yy and zzsuch that: n=x+y ...