public void excelToDB() throws ParseException {
String datapath = this.getParameter("datapath");
String filePath = AppUtil.getAppAbsolutePath()+datapath;
Workbook rwb = null; try {
// 创建输入流
InputStream stream = new FileInputStream(filePath);
// 获取Excel文件对象
rwb = Workbook.getWorkbook(stream);
} catch (Exception e) {
e.printStackTrace();
}//导入文件
Sheet rs = rwb.getSheet();//表
int rows = rs.getRows();//得到所有的行
for(int i=;i<rows;i++) {
Map<String,Object> map = null;
//如果busreqno,entno为空则添加
String busregno = rs.getCell(,i).getContents();
String entno = rs.getCell(,i).getContents();
map = yksptBuildManager.getEntityDao().findObjectBySql("sql查询语句",busregno);
if(map == null && !"".equals(entno) && entno!= null) {
map = yksptBuildManager.getEntityDao().findObjectBySql("sql查询语句",entno);
}
if(map == null) {
map = new HashMap<String,Object>();
}
//没查到就插入数据库
所导入实体类 entity = new 所导入的实体类();
boolean flag = false;
if(map.size() != ) {
entity = yksptBuildManager.getEntityDao().getById((String)map.get("所导入表id"));
flag = true;
} entity.setBname(rs.getCell(,i).getContents());
entity.setBaddress(rs.getCell(,i).getContents());
entity.setOnesitekey(rs.getCell(,i).getContents());
entity.setTwositekey(rs.getCell(,i).getContents());
//根据下标获取excle表中经度纬度,取逗号前0后1
String s=rs.getCell(,i).getContents();
String[] ss=s.split(",");
if(!"".equals(s) && s!= null) {
entity.setCoordinatesx (ss[]);
entity.setCoordinatesy(ss[]);
}
if(!"".equals(rs.getCell(,i).getContents())&& rs.getCell(,i).getContents()!=null) {//根据excle表内数据匹配后台相对应状态,001,,002,003~~存入库内
entity.setBstreet(this.sysDictionaryManager.findDictNameByGroupkeyAndHvalue("ykspt.street",rs.getCell(,i).getContents()));
}
entity.setManage(rs.getCell(,i).getContents());
entity.setBtype(rs.getCell(,i).getContents());
entity.setWorkstation(rs.getCell(,i).getContents());
entity.setBuiltuparea(rs.getCell(,i).getContents());
entity.setUpperarea(rs.getCell(,i).getContents());
entity.setSparearea(rs.getCell(,i).getContents());
entity.setPropertyunit(rs.getCell(,i).getContents()); if(flag) {
//更新数据库
this.yksptBuildManager.update(entity);
}else {
//插入数据
this.yksptBuildManager.save(entity);
}
System.out.println(i);
}
}

2.固定路径!(路径写死)

Workbook rwb = null;
InputStream stream=null;
try {
// 创建输入流
stream = new FileInputStream("D:\\002.xls");
rwb = Workbook.getWorkbook(stream);
// 获取Excel文件对象
} catch (Exception e) {
e.printStackTrace();
}//导入文件
Sheet rs = rwb.getSheet();//表
int rows = rs.getRows();//得到所有的行

excel表格导入数据库数据存在则更新不存在添加的更多相关文章

  1. java实现excel表格导入数据库表

    导入excel就是一个上传excel文件,然后获取excel文件数据,然后处理数据并插入到数据库的过程 一.上传excel 前端jsp页面,我的是index.jsp 在页面中我自己加入了一个下载上传文 ...

  2. C#解决从含身份证号码的Excel表格导入数据库的问题

    用C#做从Excel表导入SQL数据库时发现从EXCEL导入的身份证号码会变成科学表示方法. 解决这个问题是比较容易的,首先,打开电子表格,选中“身份证号码”一列,右键选择“设置单元格格式”,进入单元 ...

  3. C#代码实现 Excel表格与Object互相转换,Excel表格导入数据库(.NET2.0 .NET4.0)

    前些天在工作上遇到这个需求,在GitHub找到一个开源代码可以用,Fork了一个版本,整理一下发出来. ①.Net项目中使用Nuget安装一个 NPOI 包    https://github.com ...

  4. Django上传excel表格并将数据写入数据库

    前言: 最近公司领导要统计技术部门在各个业务条线花费的工时百分比,而 jira 当前的 Tempo 插件只能统计个人工时.于是就写了个报表工具,将 jira 中导出的个人工时excel表格 导入数据库 ...

  5. Excel表格导入Mysql数据库,一行存入多条数据的前后台完整实现思路(使用mybatis框架)

    现在有一张Excel表格: 存入数据库时需要这样存放: 现在需要将Excel表格做处理,将每一行拆分成多条数据存入数据库. 1.首先在前台jsp页面画一个按钮:,加入点击事件: <td styl ...

  6. 怎么把excel表格内的数据导入数据库?

    第一种方法: 思路:想要把excel表格内的数据直接导入数据库不是那么容易,可以把excel表格另存为.csv格式的文档(特点:内容以逗号分割):然后通过一系列的文档操作函数处理成为一个二维数组,然后 ...

  7. 使用Excel表格导入数据到Oracle表

    在工作中我们会遇到将通过数据手动录入到系统中的需求,如果数据量比较小,那么手动输入是可行的,倘若数据量很大,那么这些数据手动录入将会是一个很大的工作量,为了简化这个手动录入的操作流程,我们可以使用Ex ...

  8. 利用java反射机制实现读取excel表格中的数据

    如果直接把excel表格中的数据导入数据库,首先应该将excel中的数据读取出来. 为了实现代码重用,所以使用了Object,而最终的结果是要获取一个list如List<User>.Lis ...

  9. python读取excel表格中的数据

    使用python语言实现Excel 表格中的数据读取,需要用到xlrd.py模块,实现程序如下: import xlrd #导入xlrd模块 class ExcelData(): def __init ...

随机推荐

  1. better-scroll项目中遇到的问题

    1.在项目中发现个问题,用better-scroll实现的轮播图和页面滚动条俩个效果一起出现的时候,当鼠标或手指放在轮播图位置的时候,上下滚动的时候,页面滚动条不动 发现最新的版本就会出这个问题,就是 ...

  2. jq获取页面url后边带的参数

    //获取url后边的参数 $.getUrlParam = function (name) {                  var reg = new RegExp("(^|&) ...

  3. js去除空格12种方法

    注:本文非本人原著:原文作者: 黄卉  <js去除空格12种方法> //JS去除空格的方法目前共有12种: //实现1 String.prototype.trim = function() ...

  4. Confluence 6 MySQL 测试你的数据库连接

    在你的数据库设置界面,有一个 测试连接(Test connection)按钮可以检查: Confluence 可以连接你的数据库服务器 数据库字符集,隔离级别和存储引擎是正确的 你的数据库用户有正确的 ...

  5. react 使用draft.js富文本编辑器

    参照网址:https://www.cnblogs.com/3body/p/6224010.html 参看网址:https://www.cnblogs.com/mosquito18/p/9787816. ...

  6. bzoj 5418

    这是拓展crt的典型应用 在你开始做之前,我一定要告诉你一件事情:虽然这道题看着和拓展crt模板很像,但他俩是有巨大的区别的!不要直接把板子改吧改吧扔上去! 题目模型:求解模线性方程组 其中p1,p2 ...

  7. Python 读写excel类

    #-*- coding: utf8 -*- import xlrd import xlwt from Public import GlobalClass def openexcel(path): tr ...

  8. python操作注册表

    #注册表操作 # -*- coding: utf-8 -*- import win32api import win32con #打开注册表:传主键化值,子键值,操作方法(win32con.KEY_AL ...

  9. 集腋成裘-01 sublime常用的快捷键

    sublime使用的快捷键 1:Html 结构代码  : Html:xt + tab键 2:补全标签代码   : tab键 3:快速复制一行代码 : Ctrl+shift+d 4:快速选中一行代码 : ...

  10. python爬虫点触验证码的识别思路(图片版)