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.Web]从零开始布署 Tomcat
1. 下载 JRE 1.7 2. 下载 Tomcat 7.0.77,我使用的是红圈的压缩包版本,也可以使用绿圈的安装包版本[更省心] 3. 加入环境变量 JRE_HOME .CATALINA_HOME ...
- node 通过指令创建一个package.json文件
描述包的文件是package.json文件. 一个这样的文件,里面的信息还是挺大的.我们可以放弃手动建立.为了练手我们有命令行来建一个这样的包; 完成name,varsion....license ...
- MySql——进阶一(库表的建 删 改)
基于学生管理系统建立 数据库 和 表 表的样式: 表(一)Student (学生use) 属性名 数据类型 可否为空 含 义 Sno varchar (20) 否 学号(主码) Sname varch ...
- RAC的时间同步问题
今天在两个节点上面安装RAC,在安装clusterware的时候OUI总是提示失败.查到资料的得知: 特此记录: 需要在在所有的集群节点上设置正确的日期和时间 在安装 Oracle 集群件.数据库以 ...
- Xming配置
提要:一般服务器是以命令模式运行,所以缺少图形化界面.当我们需要在本机进行一些测试时,这也算是一个困扰我们的问题.所以在Xming+CRT可以为我们解决此问题.请看一下介绍: 1.windows环境下 ...
- 使用国内源部署ceph
由于网络方面的原因,Ceph的部署经常受到干扰,通常为了加速部署,基本上大家都是将Ceph的源同步到本地进行安装.根据Ceph中国社区的统计,当前已经有国内的网站定期将Ceph安装源同步,极大的方便了 ...
- springcloud (一) 介绍
开启springcloud 之旅... 传统单体架构: 微服务架构: 每个模块独立运行,就是独立的进程. 接下来基于springboot 来构建微服务: 1, 客户端->订单微服务->用户 ...
- Python Web框架——Django
返回顶部 使用框架简单快速开发特定的系统. pip freeze > requirements.txt pip install -r requirements.txt 一 MVC和MTV模式 二 ...
- Java静态代码块
static{ //代码 } 在加载类的时候,会执行静态代码块-->非静态代码块--->构造函数 http://www.cnblogs.com/panjun-Donet/archive/2 ...
- Delphi IOS class_addMethod
class_addMethod 学习FMX.Platform.iOS.pas文件的处理办法 d:\program files (x86)\embarcadero\studio\17.0\source\ ...