本文处理的excel格式为xlsx:

1.新建maven项目

org.apache.poi

poi

3.14

org.apache.poi

poi-ooxml

3.14

(另:ojdbc的jar包由于版权问题无法直接引入,需要手动下载本次用的是ojdbc7.jar。)

2.文件(将1.xlsx(数据如下图)的数据 插入到 表a(deptno int,dname varchar,loc varchar))DEPTNODNAMELOC

10ACCUNEWYORK

20BBBB

30VVVV

40CCCC

3.代码部分

package exceltest;

import java.io.File;

import java.io.FileInputStream;

import java.io.InputStream;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.Statement;

import org.apache.poi.xssf.usermodel.XSSFCell;

import org.apache.poi.xssf.usermodel.XSSFRow;

import org.apache.poi.xssf.usermodel.XSSFSheet;

import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class ExeclOperate {

//获取数据库连接

public Connection conn(){

try {

//第一步:加载JDBC驱动

Class.forName("oracle.jdbc.driver.OracleDriver");

//第二步:创建数据库连接

Connection con = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "scott", "tiger");

return con;

}catch(ClassNotFoundException cnf){

System.out.println("driver not find:"+cnf);

return null;

}catch(SQLException sqle){

System.out.println("can't connection db:"+sqle);

return null;

}

catch (Exception e) {

System.out.println("Failed to load JDBC/ODBC driver.");

return null;

}

}

//读取excel

public void getExcel() throws Exception {

InputStream is = new FileInputStream(new File("D:\\1.xlsx"));

XSSFWorkbook xssfWorkbook = new XSSFWorkbook(is);

// 获取每一个工作薄(sheet)

for (int numSheet = 0; numSheet

XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(numSheet);

if (xssfSheet == null) {

continue;

}

// 获取当前工作薄的每一行

for (int rowNum = 1; rowNum <= xssfSheet.getLastRowNum(); rowNum++) {

XSSFRow xssfRow = xssfSheet.getRow(rowNum);

if (xssfRow != null) {

//读取第一列数据

String a = getValue(xssfRow.getCell(0));

Integer one = Integer.parseInt(a.substring(0,a.indexOf(".")));

//读取第二列数据

String two = getValue(xssfRow.getCell(1));

//读取第三列数据

String three = getValue(xssfRow.getCell(2));

String insert="insert into a values("+one+",'"+two+"','"+three+"')";

System.out.println("SQL:"+insert);

insert(insert);

}

}

}

}

//转换数据格式

private String getValue(XSSFCell xssfRow) {

if (xssfRow.getCellType() == xssfRow.CELL_TYPE_BOOLEAN) {

return String.valueOf(xssfRow.getBooleanCellValue());

} else if (xssfRow.getCellType() == xssfRow.CELL_TYPE_NUMERIC) {

return String.valueOf(xssfRow.getNumericCellValue());

} else {

return String.valueOf(xssfRow.getStringCellValue());

}

}

//添加数据

public int insert(String insert) throws SQLException{

Connection conn = this.conn();

int re = 0;

try{

conn.setAutoCommit(false);//事务开始

Statement sm = conn.createStatement();

re = sm.executeUpdate(insert);

if(re

conn.rollback();      //回滚

sm.close();

conn.close();

return re;

}

conn.commit();            //插入正常

sm.close();

conn.close();

return re;

}

catch(Exception e){

e.printStackTrace();

}

conn.close();

return 0;

}

//测试

public static void main(String[] args) throws Exception {

ExeclOperate e=new ExeclOperate();

e.getExcel();

System.out.println("导入完成!");

}

}

java excel 导入oracle_java代码导入excel数据至oracle(poi方式)相关推荐

  1. 超大数据量的xlsx格式的excel文件的读取和解析,解决了POI方式的内存溢出和性能问题

    在之前的博文< POI读取并解析xlsx格式的excel文件>中,在小数据量的情况下是可以轻松愉快的处理的,但是当excel文件的数据量达到百万级的时候, InputStream is = ...

  2. excel解析html代码,使用excel vba解析HTML的错误

    因此,由于受到约束,我需要使用excel vba解析一些丑陋的html. HTML的问题在于它没有元素ID.我有一个拥有许多无标签表格的页面,每个表格都有几行.我可以建立的唯一的事情是,我需要在其中一 ...

  3. oracle导入索引b报错,数据迁移:oracle数据库表结构导出exp、导入imp

    导出一个用户(userA)下的表结构到另一个用户(userB)下: 第一次使用的是exp.imp命令,同事告诉我可以使用expdp.impdp,两者差异不大,但是后者的功能更多一点,比如导入数据表空间 ...

  4. python怎么导入时间-python 插入日期数据到Oracle

    [root@yyjk DATABASE]# cat DBI.py # -*- coding: utf-8 -*- import cx_Oracle import time import datetim ...

  5. 通过excel生成html代码,再转为jsp代码获取后台动态数据

    第一步:通过excel生成html代码 文件另存为其他格式,选择htm或者html格式保存下来 第二步:通过Notepad++编辑器打开 右键通过编辑器打开就可以看到html代码 第三步:在你的工程目 ...

  6. poi读取excel 转换实体_java解析excel数据,将excel数据转换为实体类,存入数据库...

    前一段时间写了一个功能,从数据库中抽取出来的字段,写入到excel文件里:java使用poi把从数据库中取出的数据写入excel 最近实现了一个相反的功能,前台传一个excel文件,在后台解析该exc ...

  7. 用java把excel数据导入oracle日期转换,Java代码兑现excel数据导入到Oracle

    Java代码实现excel数据导入到Oracle 1.首先需要两个jar包jxl.jar,ojdbc.jar(注意版本,版本不合适会报版本错误) 2.代码: import java.io.File; ...

  8. Java 使用poi导入excel,结合xml文件进行数据验证的例子(增加了jar包)

    ava 使用poi导入excel,结合xml文件进行数据验证的例子(增加了jar包) 假设现在要做一个通用的导入方法: 要求: 1.xml的只定义数据库表中的column字段,字段类型,是否非空等条件 ...

  9. java自定义注解实现excel数据导入导出,设置单元格数据验证与生成省市区多列联动效果

    本文通过自定义注解实现excel数据导入导出.以及设置excel文件中列数据验证,即用户在excel文件中输入数据时就可以对数据格式验证是否符合,节省了程序中过多的数据验证操作,注解还额外提供了一系列 ...

  10. java 导入excel工具类_java Excel工具类,导入导出Excel数据

    java Excel工具类,导入导出Excel数据,导入数据对合并表格有判断获取数据: 导出数据到Excel,Excel文件不存在会创建. 使用的是poi处理,兼容Excel. 对反射不够理解,目前先 ...

最新文章

  1. 仅使用python基本语法、即不使用任何模块、编写_微博可以设置“仅半年内可见”!你竟然还不知道???...
  2. A - 数据结构实验之查找一:二叉排序树
  3. Spring - Java/J2EE Application Framework 应用框架 第 14 章 JMS支持
  4. c语言和java和汇编语言_C语言和汇编语言的区别是什么?
  5. SpringBoot整合 ActiveMQ、SpringBoot整合RabbitMQ、SpringBoot整合Kafka
  6. hessian spring实例整合
  7. AspNet MVC2 学习笔记
  8. 换主板 oracle 蓝屏,图文说明win7系统更换主板后开机蓝屏的办法
  9. 链表的基本操作Basic Operation of LinkList
  10. 如何使用IBM SPSS Statistics进行描述性分析
  11. mame0.239选定系统所需要的ROM/磁碟映像档为缺少或不正确
  12. 刘东明微信营销二十五式初探(一)
  13. 怎么在线压缩PDF文件?常见途径说明
  14. Kerbose 原理
  15. OpenGL环境的配置(GLUT安装教程)
  16. 安卓报错:E/EGL_adreno: tid 2148: eglSurfaceAttrib(1338): error 0x3009 (EGL_BAD_MATCH)
  17. 【习题35】交互程序三 + 汉化版
  18. Windows Sever2016磁盘分区
  19. 扩展我们的分析处理服务(Smartly.io):使用 Citus 对 PostgreSQL 数据库进行分片
  20. css grid布局实现水平垂直居中 文字水平垂直居中

热门文章

  1. IP/TCP IP分组的交付与转发
  2. 四川的软考成绩终于出来了
  3. 让系统“飞”起来 读懂电脑虚拟内存常遇问题
  4. NESTEROV ACCELERATED GRADIENT AND SCALE INVARIANCE FOR ADVERSARIAL ATTACKS论文解读
  5. 8.2 复用(protected+向上转型+final关键字+类的初始化)
  6. Confluence 6 PostgreSQL 输入你的数据库细节
  7. 区块链应用 | 区块链的火爆会一直持续吗?
  8. Excel单元格格式选择货币格式US$时变成US$¥
  9. 0819 - 要想富,追新不守旧
  10. awk编程之数组、控制流(长期更新)