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 ...
随机推荐
- Windows下安装GCC
1.GCC编译器的选择 Windows下最常见的安装GCC的方式有两种:Cygwin和MinGW.本文主要介绍MinGW的安装配置. 2.下载MinGW 下载地址:http://sourceforge ...
- 将服务器上的SqlServer数据库备份到本地
如何将服务器上的SqlServer数据库备份到本地电脑 http://bbs.csdn.net/topics/370051204 有A数据库服务器,B本机: 我现在想通过在B机器上通过代码调用S ...
- PHP中的traits简单理解
Traits可以理解为一组能被不同的类都能调用到的方法集合,但Traits不是类!不能被实例化.先来例子看下语法: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 ...
- mysql where语句中 or 和 and连用注意点
在mysql中,经常会遇到这样的情况,在写条件语句where时,可能会同时有多个条件的“或”或者“与”,但经常会达不到效果,经百度,本人发现一个where语句中同时出现条件的“与”或者“或的时候”,要 ...
- Java 定义常量
转自:http://www.softservice.org.cn/html/zjbk/2012-8/7685.html 方法一采用接口(Interface)的中变量默认为static final的特性 ...
- 浏览器及CURL代理设置
需要代理的请求 代理服务器及端口 120.197.233.205 80 firefox为例浏览器代理设置:(浏览器端也可以通过foxyproxy插件方便设置) 选项->高级->网络-> ...
- 可以兼容ie6的纯CSS三级鼠标悬停显示/隐藏菜单实现
本来在chrome上用js写的好好的三级显隐菜单,放到ie6上一测试竟然奇葩般的会瞎闪.问题原因至今没参透,可能是我每次响应事件的处理代码过长??总之我是对ie6幻灭了,去网上搜一搜能支持ie6的下拉 ...
- jQuery之事件和动画
1.加载DOM $(document).ready(function(){ }) 简写形式: $(function(){ }) 事件绑定: 合成事件 事件冒泡 移除事件 JQuery中的动画 show ...
- 上传项目到git
…or create a new repository on the command line echo "# test" >> README.md git ini ...
- django -- 内置分页
urls.py from django.conf.urls import url from conn_oracle import views urlpatterns = [ url(r'^page/' ...