导入Excel表格数据
2016-04-25 16:26
357 查看
自己做的批量导入Excel数据,模板是自己拟定的,格式是文本格式。菜鸟新入行,勿喷,写这个只是为了自己以后忘记了能够快速找到解决的办法。
jsp页面:
<form form id="myform" method="post" enctype="multipart/form-data" action="freeMan!batchAdd.do" onSubmit="return batch()">
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="table_style11">
<tr>
<td align="right">
<s:text name="如果没有模板,请点击下载"></s:text> :
</td>
<td align="left">
<a href="${pageContext.request.contextPath}/upload/自由人管理.xlsx">下载模板 </a>
</td>
</tr>
<tr>
<td align="right">
填写完成之后,请导入该Excel文件:
</td>
<td align="left">
<input type="file" name="myFile" id="myFile" />
<input type="hidden" name="fileName" id="fileName" value="" />
<input type="submit" value="导入信息" class="btn" size="40" id="importBtn" />
<input type="button" name="btn" value="返回" class="btn" onclick="history.go(-1)" />
</td>
</tr>
</table>
</form>
action 后台方法:
/**
* 批量导入
* @return
*/
public String batchAdd(){
//获取文件后缀
String suffix = fileName.substring(fileName.lastIndexOf("."));
if(suffix!=null&&".xls".equals(suffix)||".xlsx".equals(suffix)){
ImportExeclUtil poi = new ImportExeclUtil();
//获取execl表内的数据
List<List<String>>list = poi.read(myFile);
FreeMan freeMan=null;
if(list!=null){
for (int i = 0; i < list.size(); i++) {
//判断如果是第一行的话,跳过。
if(i==0){
continue;
}
else{
List<String> cells=list.get(i);
//把数据赋值给对象
if(cells!=null&&cells.size()>0){
freeMan=new FreeMan();
freeMan.setUserName(cells.get(0)!=null?cells.get(0):"");
freeMan.setUserPhone(cells.get(1)!=null?cells.get(1):"");
freeMan.setCardId(cells.get(2)!=null?cells.get(2):"");
freeMan.setMobile(cells.get(3)!=null?cells.get(3):"");
freeMan.setEmail(cells.get(4)!=null?cells.get(4):"");
freeMan.setBankCard(cells.get(5)!=null?cells.get(5):"");
freeMan.setAddress(cells.get(6)!=null?cells.get(6):"");
freeMan.setServiceArea(cells.get(7)!=null?cells.get(7):"");
freeMan.setPersonState(Integer.parseInt(cells.get(8)!=null?cells.get(8):""));
freeMan.setServiceScore(Double.parseDouble(cells.get(9)!=null?cells.get(9):""));
freeMan.setServiceCount(Integer.parseInt(cells.get(10)!=null?cells.get(10):""));
freeMan.setCapacityState(Integer.parseInt(cells.get(11)!=null?cells.get(11):""));
freeMan.setPersonalNote(cells.get(12)!=null?cells.get(12):"");
freeMan.setRemarks(cells.get(15)!=null?cells.get(15):"");
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//时间格式
try {
freeMan.setCreateDate(sdf.parse(cells.get(13)));
} catch (ParseException e) {
e.printStackTrace();
}
freeMan.setCreator(cells.get(14)!=null?cells.get(14):"");
//调用添加方法,批量添加。
freeManService.add(freeMan);
}
}
}
}
}
return initList();//返回要返回的页面或方法
}
jsp页面:
<form form id="myform" method="post" enctype="multipart/form-data" action="freeMan!batchAdd.do" onSubmit="return batch()">
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="table_style11">
<tr>
<td align="right">
<s:text name="如果没有模板,请点击下载"></s:text> :
</td>
<td align="left">
<a href="${pageContext.request.contextPath}/upload/自由人管理.xlsx">下载模板 </a>
</td>
</tr>
<tr>
<td align="right">
填写完成之后,请导入该Excel文件:
</td>
<td align="left">
<input type="file" name="myFile" id="myFile" />
<input type="hidden" name="fileName" id="fileName" value="" />
<input type="submit" value="导入信息" class="btn" size="40" id="importBtn" />
<input type="button" name="btn" value="返回" class="btn" onclick="history.go(-1)" />
</td>
</tr>
</table>
</form>
action 后台方法:
/**
* 批量导入
* @return
*/
public String batchAdd(){
//获取文件后缀
String suffix = fileName.substring(fileName.lastIndexOf("."));
if(suffix!=null&&".xls".equals(suffix)||".xlsx".equals(suffix)){
ImportExeclUtil poi = new ImportExeclUtil();
//获取execl表内的数据
List<List<String>>list = poi.read(myFile);
FreeMan freeMan=null;
if(list!=null){
for (int i = 0; i < list.size(); i++) {
//判断如果是第一行的话,跳过。
if(i==0){
continue;
}
else{
List<String> cells=list.get(i);
//把数据赋值给对象
if(cells!=null&&cells.size()>0){
freeMan=new FreeMan();
freeMan.setUserName(cells.get(0)!=null?cells.get(0):"");
freeMan.setUserPhone(cells.get(1)!=null?cells.get(1):"");
freeMan.setCardId(cells.get(2)!=null?cells.get(2):"");
freeMan.setMobile(cells.get(3)!=null?cells.get(3):"");
freeMan.setEmail(cells.get(4)!=null?cells.get(4):"");
freeMan.setBankCard(cells.get(5)!=null?cells.get(5):"");
freeMan.setAddress(cells.get(6)!=null?cells.get(6):"");
freeMan.setServiceArea(cells.get(7)!=null?cells.get(7):"");
freeMan.setPersonState(Integer.parseInt(cells.get(8)!=null?cells.get(8):""));
freeMan.setServiceScore(Double.parseDouble(cells.get(9)!=null?cells.get(9):""));
freeMan.setServiceCount(Integer.parseInt(cells.get(10)!=null?cells.get(10):""));
freeMan.setCapacityState(Integer.parseInt(cells.get(11)!=null?cells.get(11):""));
freeMan.setPersonalNote(cells.get(12)!=null?cells.get(12):"");
freeMan.setRemarks(cells.get(15)!=null?cells.get(15):"");
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//时间格式
try {
freeMan.setCreateDate(sdf.parse(cells.get(13)));
} catch (ParseException e) {
e.printStackTrace();
}
freeMan.setCreator(cells.get(14)!=null?cells.get(14):"");
//调用添加方法,批量添加。
freeManService.add(freeMan);
}
}
}
}
}
return initList();//返回要返回的页面或方法
}
相关文章推荐
- mysql load data 导出、导入 csv
- 使用Python生成Excel格式的图片
- Excel 曝出 Power Query 安全漏洞,1.2 亿用户易受远程 DDE 攻击
- VBA将excel数据表生成JSON文件
- excel vba 限制工作表的滚动区域代码
- excel vba 高亮显示当前行代码
- db2 导入导出单个表的操作详解
- SQL 导入导出Excel数据的语句
- SQLServer 数据导入导出的几种方法小结
- 通过系统数据库获取用户所有数据库中的视图、表、存储过程
- SQL Server数据库中批量导入数据的2种方法
- SQL Server导入、导出、备份数据方法
- 文本、Excel、Access数据导入SQL Server2000的方法
- C#实现Excel动态生成PivotTable
- C#导出数据到Excel文件的方法
- Vbscript生成Excel报表的常用操作总结
- C#实现导入CSV文件到Excel工作簿的方法
- SQL Server数据复制到的Access两步走
- C#基于NPOI生成具有精确列宽行高的Excel文件的方法