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中的<< 和 >> 和 >>> 详细分析
<<表示左移移,不分正负数,低位补0: 注:以下数据类型默认为byte-8位 左移时不管正负,低位补0 正数:r = 20 << 2 20的二进制补码:0001 0100 向左 ...
- Echarts运用
echarts客户端写法:http://echarts.baidu.com/doc/example.html ,下载echarts-2.0.4.jar包,把src里面的js引入到项目里,在放esl. ...
- SpringMVC使用Hibernate-validator验证出现的错误
缺少jar包 SpringMVC可以使用Hibernate-validator作为效验的实现,需要的jar包: hibernate-validator.jar validation-api.jar j ...
- Mysql--产品支持的平台
- C语言和C++中的字符串(string)
知识内容: 1.C\C++字符串简述 2.C字符串相关操作 3.C++ string类相关操作 一.C\C++字符串简述 1.C语言字符串 C语言字符串是字符的数组.单字节字符串顺序存放各个字符串,并 ...
- leetcode341
数据结构设计类题目,参考网上的代码: /** * // This is the interface that allows for creating nested lists. * // You sh ...
- UNIX网络编程——socket的keep-alive(转)
第一部分 [需求] 不影响服务器处理的前提下,检测客户端程序是否被强制终了. [现状] 服务器端和客户端的Socket都设定了keepalive属性. 服务器端设定了探测次数等参数,客户端.服务器只是 ...
- Unable to save settings: Failed to save settings. Please restart IntelliJ IDEA
找到原先备份的项目,把 .idea 文件夹重新覆盖,解决问题.
- nexus3 搭建maven远程仓库
右上角 下载maven http://maven.apache.org/download.cgi 下载nexus https://www.sonatype.com/download-oss-sonat ...
- script放置最佳位置(转载)
html文件是自上而下的执行方式,但引入的css和javascript的顺序有所不同,css引入执行加载时, 程序仍然往下执行,而执行到<script>脚本是则中断线程,待该script脚 ...