java excel一般怎样导入oracel数据库
答案:7 悬赏:0 手机版
解决时间 2021-03-19 23:35
- 提问者网友:自食苦果
- 2021-03-19 09:54
java excel一般怎样导入oracel数据库
最佳答案
- 五星知识达人网友:一把行者刀
- 2021-03-19 11:17
用到的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();
}
}
}
}
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();
}
}
}
}
全部回答
- 1楼网友:酒醒三更
- 2021-03-19 19:04
最简单的方法就是下载oracle可视化工具,例如pl/sql等,直接复制咱贴就可以了
要么就利用外置jar包解析excel,生成sql文件或者直接向数据库导入
要么就利用外置jar包解析excel,生成sql文件或者直接向数据库导入
- 2楼网友:不如潦草
- 2021-03-19 18:05
一般都是java代码将excel解析了;获取到相应的数据插入到Oracle数据库中;注意excel中的格式..
- 3楼网友:思契十里
- 2021-03-19 16:26
安装一个PLSQL Developer或者Oracle SQL Developer
用工具查询表如下:
select t.*,t.rowid from table;
接着就可以复制就行了啊
用工具查询表如下:
select t.*,t.rowid from table;
接着就可以复制就行了啊
- 4楼网友:一秋
- 2021-03-19 15:08
可以通过程序利于第三方jar(poi或jxl)读取excel内容后通过jdbc方式写入数据库
excel文件要区分xsl/xslx读取方式不同
excel文件要区分xsl/xslx读取方式不同
- 5楼网友:执傲
- 2021-03-19 14:19
下载个UML建模工具生成会将你给的汉语版表结构创建数据库连接自动生成到数据库。至于excel导入没试过,代码导入一般需要生成sql文本。
- 6楼网友:旧脸谱
- 2021-03-19 12:52
你是说用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导入项目中哦!!!望采纳!
如果你的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导入项目中哦!!!望采纳!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯