java excel 导入oracle_java代码导入excel数据至oracle(poi方式)
本文处理的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方式)相关推荐
- 超大数据量的xlsx格式的excel文件的读取和解析,解决了POI方式的内存溢出和性能问题
在之前的博文< POI读取并解析xlsx格式的excel文件>中,在小数据量的情况下是可以轻松愉快的处理的,但是当excel文件的数据量达到百万级的时候, InputStream is = ...
- excel解析html代码,使用excel vba解析HTML的错误
因此,由于受到约束,我需要使用excel vba解析一些丑陋的html. HTML的问题在于它没有元素ID.我有一个拥有许多无标签表格的页面,每个表格都有几行.我可以建立的唯一的事情是,我需要在其中一 ...
- oracle导入索引b报错,数据迁移:oracle数据库表结构导出exp、导入imp
导出一个用户(userA)下的表结构到另一个用户(userB)下: 第一次使用的是exp.imp命令,同事告诉我可以使用expdp.impdp,两者差异不大,但是后者的功能更多一点,比如导入数据表空间 ...
- python怎么导入时间-python 插入日期数据到Oracle
[root@yyjk DATABASE]# cat DBI.py # -*- coding: utf-8 -*- import cx_Oracle import time import datetim ...
- 通过excel生成html代码,再转为jsp代码获取后台动态数据
第一步:通过excel生成html代码 文件另存为其他格式,选择htm或者html格式保存下来 第二步:通过Notepad++编辑器打开 右键通过编辑器打开就可以看到html代码 第三步:在你的工程目 ...
- poi读取excel 转换实体_java解析excel数据,将excel数据转换为实体类,存入数据库...
前一段时间写了一个功能,从数据库中抽取出来的字段,写入到excel文件里:java使用poi把从数据库中取出的数据写入excel 最近实现了一个相反的功能,前台传一个excel文件,在后台解析该exc ...
- 用java把excel数据导入oracle日期转换,Java代码兑现excel数据导入到Oracle
Java代码实现excel数据导入到Oracle 1.首先需要两个jar包jxl.jar,ojdbc.jar(注意版本,版本不合适会报版本错误) 2.代码: import java.io.File; ...
- Java 使用poi导入excel,结合xml文件进行数据验证的例子(增加了jar包)
ava 使用poi导入excel,结合xml文件进行数据验证的例子(增加了jar包) 假设现在要做一个通用的导入方法: 要求: 1.xml的只定义数据库表中的column字段,字段类型,是否非空等条件 ...
- java自定义注解实现excel数据导入导出,设置单元格数据验证与生成省市区多列联动效果
本文通过自定义注解实现excel数据导入导出.以及设置excel文件中列数据验证,即用户在excel文件中输入数据时就可以对数据格式验证是否符合,节省了程序中过多的数据验证操作,注解还额外提供了一系列 ...
- java 导入excel工具类_java Excel工具类,导入导出Excel数据
java Excel工具类,导入导出Excel数据,导入数据对合并表格有判断获取数据: 导出数据到Excel,Excel文件不存在会创建. 使用的是poi处理,兼容Excel. 对反射不够理解,目前先 ...
最新文章
- 仅使用python基本语法、即不使用任何模块、编写_微博可以设置“仅半年内可见”!你竟然还不知道???...
- A - 数据结构实验之查找一:二叉排序树
- Spring - Java/J2EE Application Framework 应用框架 第 14 章 JMS支持
- c语言和java和汇编语言_C语言和汇编语言的区别是什么?
- SpringBoot整合 ActiveMQ、SpringBoot整合RabbitMQ、SpringBoot整合Kafka
- hessian spring实例整合
- AspNet MVC2 学习笔记
- 换主板 oracle 蓝屏,图文说明win7系统更换主板后开机蓝屏的办法
- 链表的基本操作Basic Operation of LinkList
- 如何使用IBM SPSS Statistics进行描述性分析
- mame0.239选定系统所需要的ROM/磁碟映像档为缺少或不正确
- 刘东明微信营销二十五式初探(一)
- 怎么在线压缩PDF文件?常见途径说明
- Kerbose 原理
- OpenGL环境的配置(GLUT安装教程)
- 安卓报错:E/EGL_adreno: tid 2148: eglSurfaceAttrib(1338): error 0x3009 (EGL_BAD_MATCH)
- 【习题35】交互程序三 + 汉化版
- Windows Sever2016磁盘分区
- 扩展我们的分析处理服务(Smartly.io):使用 Citus 对 PostgreSQL 数据库进行分片
- css grid布局实现水平垂直居中 文字水平垂直居中
热门文章
- IP/TCP IP分组的交付与转发
- 四川的软考成绩终于出来了
- 让系统“飞”起来 读懂电脑虚拟内存常遇问题
- NESTEROV ACCELERATED GRADIENT AND SCALE INVARIANCE FOR ADVERSARIAL ATTACKS论文解读
- 8.2 复用(protected+向上转型+final关键字+类的初始化)
- Confluence 6 PostgreSQL 输入你的数据库细节
- 区块链应用 | 区块链的火爆会一直持续吗?
- Excel单元格格式选择货币格式US$时变成US$¥
- 0819 - 要想富,追新不守旧
- awk编程之数组、控制流(长期更新)