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 ...
随机推荐
- java代码----------计算器代码
总结: 很多不完善—— package com.rue; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.a ...
- Java 对象的创建和使用
1.创建对象 类名 对象名 = new 类名(): Telphone phone = new Telphone; 2.使用对象 引用对象的属性:对象名 . 属性 phone.screen = 5; / ...
- python3第一次作业
需要一个文件users,里面有用户名密码以及是否锁定的标识符 lzd--123--1wdl--123--0lw--123--0aaa--123--0bbb--123--0ccc--123--1ddd- ...
- MySQL Connector/NET 使用小结(踩坑之路)
背景描述 根据项目的需要,需连接MySQL获取数据. 首先,先了解一下项目的情况: 之前的代码是C#编写的的, 运行时:.NETFramework3.5. 由于项目已经部署上线,因此不能升级运行时,这 ...
- java做web抓取
就像许多现代科技一样,从网站提取信息这一功能也有多个框架可以选择.最流行的有JSoup.HTMLUnit和Selenium WebDriver.我们这篇文章讨论JSoup.JSoup是个开源项目,提供 ...
- JS逻辑题 技术点: 1). 变量提升 2). 函数提升 3). 预处理 4). 调用顺序
考查的技术点: 1). 变量提升 2). 函数提升 3). 预处理 4). 调用顺序 var c = 1; function c(c) { console.log(c); var c = 3; ...
- rownum, row_number(), rank() , dense_rank(), partition by ,max() keep 语句的区别与用法
rownum,rownumber(), rank(),dense_rank()都是用来为记录分配序号的, rownum只能在orderby语句排完序后,在外层嵌套查询才能获得正确的行号,用起来相当复杂 ...
- CSS 父级方法清除浮动方法
.baseMod:after { clear: both; content: ' '; display: block; visibility: none; height: 1% } 2. overfl ...
- vue+uwsgi+nginx部署项目
首先先下载好前后端项目 先从前端vue搞起 要在服务器上,编译打包vue项目,必须得有node环境 下载node二进制包,此包已经包含node,不需要再编译 wget https://nodejs.o ...
- MySQL 索引优化原则
一.索引优化原则 1.最左前缀匹配原则,联合索引,mysql会从做向右匹配直到遇到范围查询(>.<.between.like)就停止匹配,比如a = 1 and b = 2 and c & ...