poi 获取excel数据 导入数据库
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
MultipartFile file = entity.getValue();// 获取上传文件对象
ImportParams params = new ImportParams();
params.setHeadRows(1);
params.setNeedSave(false);
try {
/*System.out.println(file.getInputStream());
List<CasHistoryDateEntity> listCasHistoryDateEntitys = ExcelImportUtil.importExcel(file.getInputStream(),CasHistoryDateEntity.class,params);
listCasHistoryDateEntitys.remove(0);
for (CasHistoryDateEntity casHistoryDate : listCasHistoryDateEntitys) {*/
//casHistoryDateService.save(casHistoryDate);
// 构造 Workbook 对象,execelFile 是传入文件路径(获得Excel工作区)
MultipartFile file1 = file;
CommonsMultipartFile cf = (CommonsMultipartFile) file1;
DiskFileItem fi = (DiskFileItem) cf.getFileItem();
File file2 = fi.getStoreLocation();
Workbook book = null;
//book = new XSSFWorkbook(new FileInputStream(file2));
try {
// Excel 2007获取方法
book = new XSSFWorkbook(new FileInputStream(file2));
} catch (Exception ex) {
// Excel 2003获取方法
book = new HSSFWorkbook(new FileInputStream(file2));
}
// 读取表格的第一个sheet页
Sheet sheet = book.getSheetAt(0);
// 定义 row、cell
Row row;
String cell;
// 总共有多少行,从0开始
int totalRows = sheet.getLastRowNum();
// 循环输出表格中的内容,首先循环取出行,再根据行循环取出列
for (int i = 1; i <= totalRows; i++) {
CasHistoryDateEntity casHistoryDateEntity = new CasHistoryDateEntity();
Map<String, Object> map = new HashedMap();
row = sheet.getRow(i);
// 处理空行
if (row == null) {
continue;
}
// 总共有多少列,从0开始
int totalCells = row.getLastCellNum();
for (int f = row.getFirstCellNum(); f < totalCells; f++) {
// 处理空列
if (row.getCell(f) == null) {
continue;
}
// 通过 row.getCell(j).toString() 获取单元格内容
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
cell = row.getCell(f).toString();
if (row.getRowNum() > 1) {
if (1 == f) {
casHistoryDateEntity.setXmmc(cell);
}
if (2 == f) {
casHistoryDateEntity.setQtys(cell);
}
if (3 == f) {
casHistoryDateEntity.setZzdw(cell);
}
if (4 == f) {
casHistoryDateEntity.setFzcs(cell);
}
if (5 == f) {
casHistoryDateEntity.setLxsjj(cell);
}
if (6 == f) {
casHistoryDateEntity.setLxshc(cell);
}
if (7 == f) {
casHistoryDateEntity.setLxsjn(cell);
}
if (8 == f) {
casHistoryDateEntity.setWyh(cell);
}
if (9 == f) {
casHistoryDateEntity.setXmbh(cell);
}
if (10 == f) {
casHistoryDateEntity.setJf(cell);
}
if (11 == f) {
casHistoryDateEntity.setJtsjj(cell);
}
if (12 == f) {
casHistoryDateEntity.setJtsjc(cell);
}
if (13 == f) {
casHistoryDateEntity.setJtsjn(cell);
}
if (14 == f) {
casHistoryDateEntity.setMqzt(cell);
}
if (15 == f) {
casHistoryDateEntity.setZxbg(cell);
}
if (16 == f) {
casHistoryDateEntity.setXmlxr(cell);
}
if (17 == f) {
casHistoryDateEntity.setLxfs(cell);
}
if (18 == f) {
casHistoryDateEntity.setFzr(cell);
}
if (19 == f) {
casHistoryDateEntity.setBz(cell);
}
systemService.save(casHistoryDateEntity);
}
System.out.print(cell + "\t");
}
//casHistoryDateService.save(casHistoryDate);
//casHistoryDateService.save(casHistoryDate);
System.out.println("");
}
j.setMsg("文件导入成功!");
/*}*/
} catch (Exception e) {
j.setMsg("文件导入失败!");
logger.error(ExceptionUtil.getExceptionMessage(e));
} finally {
try {
file.getInputStream().close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
poi 获取excel数据 导入数据库的更多相关文章
- 使用python将excel数据导入数据库
使用python将excel数据导入数据库 因为需要对数据处理,将excel数据导入到数据库,记录一下过程. 使用到的库:xlrd 和 pymysql (如果需要写到excel可以使用xlwt) 直接 ...
- [Asp.net]常见数据导入Excel,Excel数据导入数据库解决方案,总有一款适合你!
引言 项目中常用到将数据导入Excel,将Excel中的数据导入数据库的功能,曾经也查找过相关的内容,将曾经用过的方案总结一下. 方案一 NPOI NPOI 是 POI 项目的 .NET 版本.POI ...
- Excel数据导入数据库
maven依赖 <!--excel相关依赖--> <dependency> <groupId>org.apache.poi</groupId> < ...
- 转:[Asp.net]常见数据导入Excel,Excel数据导入数据库解决方案,总有一款适合你!
引言 项目中常用到将数据导入Excel,将Excel中的数据导入数据库的功能,曾经也查找过相关的内容,将曾经用过的方案总结一下. 方案一 NPOI NPOI 是 POI 项目的 .NET 版本.POI ...
- PHPExcel将Excel数据导入数据库
<?php //PHPExcel读取导入Excel数据到数据库(2003,2007通用)使用方法: //先用excel2array()方法将excel表中的数据存储到数组,在从遍历二维数组将数据 ...
- 如何把excel数据导入数据库
这里介绍2种把excel数据导入oracle数据库的方法. 1. 在excel中生成sql语句. 1)在数据列的右侧,第一行的任何位置输入="insert into table(xx,yyy ...
- C#将Excel数据导入数据库(MySQL或Sql Server)
最近一直很忙,很久没写博客了.今天给大家讲解一下如何用C#将Excel数据导入Excel,同时在文章最后附上如何用sqlserver和mysql工具导入数据. 导入过程大致分为两步: 1.将excel ...
- 利用poi,jxl将Excel数据导入数据库
需求:‘需要将本地的Excel中的数据经过验证之后导入数据库,在导入数据库之前在页面上展示出来 思路:将Excel导入存到session里面 去判断有没有不合法数据 如果有阻止提交 工具类: imp ...
- 将Excel数据导入数据库
Excel如下,这页工作表名叫“线路” 数据库表如下 using System; using System.Collections.Generic; using System.Linq; using ...
随机推荐
- 第十三章 hadoop机架感知
背景 分布式的集群通常包含非常多的机器,由于受到机架槽位和交换机网口的限制,通常大型的分布式集群都会跨好几个机架,由多个机架上的机器共同组成一个分布式集群.机架内的机器之间的网络速度通常都会高于跨机架 ...
- 大白话系列之C#委托与事件讲解大结局
声明:本系列非原创,因为太精彩才转载,如有侵权请通知删除,原文:http://www.cnblogs.com/wudiwushen/archive/2010/04/20/1698795.html 今天 ...
- 侯捷 c++面向对象程序设计
基础知识 基于对象:Object Based 面对的是单一class的设计. 面向对象:Object Oriented 面对的是多重classes的设计,涉及到类和类之间的关系. 课程中设计到两种不同 ...
- kafka常用命令(cdh5.10.0+kafka)
参考资料:http://kafka.apache.org/quickstart 进入kafka安装目录(CDH安装路径为:/opt/cloudera/parcels/KAFKA):进入bin目录: c ...
- javascript示例一
开发工具介绍 前端常用开发工具:sublime.visual Studio Code.HBuilder.Webstorm. 那么大家使用的PCharm跟WebStorm是JetBrains公司推出的编 ...
- oracke创建db link
-- Create database link create public database link test_link connect to 用户名 identified by 密码 using ...
- 在spring中该如何使用DTO,以及DTO和Entity的关系
1. DTO是用于将后台的数据结构(javaBean)转换为对用户友好的表现方式的数据结构,同时也能防止后台数据直接传送到前台而存在的潜在危险. 2. 可以时候要哪个springbot框架提供的转换器 ...
- Spring源码加载过程图解(一)
最近看了一下Spring源码加载的简装版本,为了更好的理解,所以在绘图的基础上,进行了一些总结.(图画是为了理解和便于记忆Spring架构) Spring的核心是IOC(控制反转)和AOP(面向切面编 ...
- Mellanox infinoband RDMA SDP
IPoIB Internet Protocol over InfiniBand 就是指利用物理IB网络(IB卡,线缆,交换机,更甚者IB3层交换)通过ip协议进行连接,并进行数据传输! SDP Soc ...
- CSS——创建css
CreateInlineStyle: function () { //创建一个内联样式表 var style = document.createElement('style'); //创建一个styl ...