永发信息网

java excel一般怎样导入oracel数据库

答案:7  悬赏:0  手机版
解决时间 2021-03-19 23:35
java excel一般怎样导入oracel数据库
最佳答案
用到的JAR包如下(可以直接到POI官网上下载下载):
poi-3.9-20121203.jar
poi-ooxml-3.9-20121203.jar
poi-ooxml-schemas-3.9-20121203.jar
xmlbeans-2.3.0.jar

可能有冲突的JAR包,如果工程lib中存在,需要删除。
xbean-2.1.0.jar

具体代码如下:
Java代码
package com.yusj;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;


public class OperationExcelForPOI {

public static void main(String[] args) {
// 文件所在路径
String execelFile = "C:/Book2007.xlsx" ;
//String execelFile = "C:/Book2003.xls" ;
// 导入Excel
new OperationExcelForPOI().impExcel(execelFile) ;
// 导出Excel
String expFilePath = "C:/testBook.xls" ;
new OperationExcelForPOI().expExcel(expFilePath);
}


public void impExcel(String execelFile){
try {
// 构造 Workbook 对象,execelFile 是传入文件路径(获得Excel工作区)
Workbook book = null;
try {
// Excel 2007获取方法
book = new XSSFWorkbook(new FileInputStream(execelFile));
} catch (Exception ex) {
// Excel 2003获取方法
book = new HSSFWorkbook(new FileInputStream(execelFile));
}

// 读取表格的第一个sheet页
Sheet sheet = book.getSheetAt(0);
// 定义 row、cell
Row row;
String cell;
// 总共有多少行,从0开始
int totalRows = sheet.getLastRowNum() ;
// 循环输出表格中的内容,首先循环取出行,再根据行循环取出列
for (int i = 1; i <= totalRows; i++) {
row = sheet.getRow(i);
// 处理空行
if(row == null){
continue ;
}
// 总共有多少列,从0开始
int totalCells = row.getLastCellNum() ;
for (int j = row.getFirstCellNum(); j < totalCells; j++) {
// 处理空列
if(row.getCell(j) == null){
continue ;
}
// 通过 row.getCell(j).toString() 获取单元格内容
cell = row.getCell(j).toString();
System.out.print(cell + "\t");
}
System.out.println("");
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

public void expExcel(String expFilePath){
OutputStream os = null ;
Workbook book = null;
try {
// 输出流
os = new FileOutputStream(expFilePath);
// 创建工作区(97-2003)
book = new HSSFWorkbook();
// 创建第一个sheet页
Sheet sheet= book.createSheet("test");
// 生成第一行
Row row = sheet.createRow(0);
// 给第一行的第一列赋值
row.createCell(0).setCellValue("column1");
// 给第一行的第二列赋值
row.createCell(1).setCellValue("column2");
// 写文件
book.write(os);

} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
// 关闭输出流
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}

}
}
全部回答
最简单的方法就是下载oracle可视化工具,例如pl/sql等,直接复制咱贴就可以了

要么就利用外置jar包解析excel,生成sql文件或者直接向数据库导入
一般都是java代码将excel解析了;获取到相应的数据插入到Oracle数据库中;注意excel中的格式..
安装一个PLSQL Developer或者Oracle SQL Developer
用工具查询表如下:
select t.*,t.rowid from table;
接着就可以复制就行了啊
可以通过程序利于第三方jar(poi或jxl)读取excel内容后通过jdbc方式写入数据库
excel文件要区分xsl/xslx读取方式不同
下载个UML建模工具生成会将你给的汉语版表结构创建数据库连接自动生成到数据库。至于excel导入没试过,代码导入一般需要生成sql文本。
你是说用java读取excel的数据插入数据库? 可以使用第三方插件,下载一个jxl.jar放到工程中;
如果你的excel数据是一行对应一条表数据的话,我这里有个例子你参考下:

public class ReaderExcel {
public static void main(String[] args) throws FileNotFoundException {
Workbook wb = null;
try {
wb = Workbook.getWorkbook(new File("D:/test.xls"));
Sheet rs = wb.getSheet(0);
int column = 3;//列数

for (int i = 0; i < rs.getRows(); i++) {
for (int j = 0; j < column; j++) {

System.out.println(rs.getCell(j, i).getContents().trim());
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

记得下载jxl.jar导入项目中哦!!!望采纳!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
内存条损坏的表现是什么啊?有那位知道?
橙子都能用来做什么
申请rohs认证要多少钱
Zmark电子杂志怎么把目录这个页面链接到下一
山东银丰司法鉴定所在哪里啊,我有事要去这个
轮毂和轮胎问题,宽度6.5寸的轮毂最适合205的
is语音帐号忘了怎么办
25岁男人开什么样的车
请问,QQ问题!,谁知道上的QQ怎么玩,越详细越
长沙市望城区靖港新镇邮编多少
铃木gr150化油器油针能不能调好。好像是没法
我把女超人第一季20集都看完了,谁知道第二季
诚信百货商店我想知道这个在什么地方
矩形EFGH内接于三角形ABC,
这是一位同学写的一份关于探究“光对鼠妇生活
推荐资讯
nba 2k13如何远距离勾手
广东省客运站到东莞中堂镇多少钱
企业文化诞生的源是什么
咽喉总有吐不完的透明粘稠痰怎么办
n+1电源冗余是什么意思?有什么优势吗?
摩羯座男生适合做什么工作
联通送的省内普通流量累计(120M),是怎么回事
数学猜一猜,填一填
家里婆自助水饺得18元一位得投资多少钱
请问c1能不能开六轮箱式小货车?光有驾照就能
鱼苗得白点病怎样下药
dnf剑宗钝器流武器选择问题
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?