有两种思路:
一.采用JExcelAPI或apache POI来读取Excel中的每行记录,通过程序插入以数据库中; (
可参考http://blog.csdn.net/pengchua/archive/2007/08/09/1733591.aspx)
二.将Excel转化成.csv格式,然后利用Oracle中的sqlldr命令成批导入,具体步骤如下:
1.采用XL2ExternalTables,apache POI 将Excel数据转化为csv格式
测试方法之一:
注意:要将ExternalTableGenerator类中的方法改为public就行了
import java.io.FileInputStream;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
public class Test {
public static void getCSV(String spreadsheet) {
String sheet = spreadsheet.substring(spreadsheet.lastIndexOf("/"));
POIFSFileSystem fs;
HSSFWorkbook wb;
try {
fs = new POIFSFileSystem(new FileInputStream(spreadsheet));
//绝对路径
wb = new HSSFWorkbook(fs);
ExternalTableGenerator generator generator = new ExternalTableGenerator(sheet);
//文件名
generator.processWorkook(wb);
//要将ExternalTableGenerator类中的方法改为public就行了
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String args[]) {
getCSV("C:/Documents and Settings/XXXX/workspace/Test/test.xls");
}
}
测试方法之二:
java -cp XL2ExternalTables.jar;jakarta-poi-1.5.1-final-20020615.jar;jakarta-poi-contrib-1.5.1-final-20020615.jar com.saternos.database.utilities.ExternalTableGenerator new_department_data.xls
2.再利用oracle的sqlldr命令导入数据效率高。
test.ctl
load data
infile 'TEST.csv'
into table TEST
REPLACE
fields terminated by ',' OPTIONALLY ENCLOSED BY '"'
trailing nullcols
(
TEST_ID "SE_AIRCRAFT.nextval" ,
TEST "upper(:TEST)",
TEST_USER "to_number(:TEST_user)",
TEST_DATE DATE "yyyy-mm-dd hh24:mi:ss",
TEST_NOTE
)
sqlldr admin/password@DATABASE control=ctl/TEST.ctl log=out/TEST.log data=data/TEST.csv bad=out/TEST.bad skip=1
分享到:
相关推荐
这段代码主要实现的是将excel里面的大量数据一次性批量导入Oracle数据库内。
利用plsql把excel的数据批量导入oracle数据库的顺序
C#Excel大量数据快速导入数据库.
自己整理的利用c#写的excel数据导入到oracle11G数据库,100%可用,里面包含程序demo和excel表格、建表的sql,需要学习和借鉴的朋友可以下载。
一个实现批量导入Excel到MySQL/Oracle数据库的工具 一个实现批量导入Excel到MySQL/Oracle数据库的工具 一个实现批量导入Excel到MySQL/Oracle数据库的工具 一个实现批量导入...
可以将任意的EXCEL格式数据,导入到数据库中。能进行批量的导入。
此程序在VC++2003.net中实现了将Excel表格数据批量上载到Oracle数据表中,程序中连接数据库的方式为OO4O
支持最新oracle11g,将excel ,pdf等数据批量导入到oracle数据库中,简单易用。
可以直接把excel/csv文件导入oracle或sql server数据库中 可对导入的excel内容进行筛选后再导入 可选择需要导入表的栏位 可批量导入文件夹的所有excel文件或者一个excel文件中的所有sheet 也可以导入一个文件内单个...
通过执行jar文件,输入oracle登录信息、需要导入的表名、excel文件路径,路径可以是文件夹或者文件,可实现递归导入指定文件夹下的所有excel文件,每个文件可以是多个sheet。 每个数据文件的格式必须一致,所有sheet...
读取excel数据,并将每50行批量上传到oracle10g数据库中
由于项目需求,需要将Excel中的数据进过一定转换导入仅Oracle数据库中。考虑到当Excel数据量较大时,循环Insert语句效率太低,故采用批量插入的方法。在插入操作运行时,会造成系统短暂的“卡死”现象。为了让用户...
方便进行Excel的数据向SQL Server数据库的导入工作,适合简单重复性的导入操作,使用XML配置文件进行导入设置的保存,理论上支持数据的任意导入(Update更新、Insert插入),数据库密码做了加密处理,工具使用也做...
SQL Server,MySQL在开发中)中的数据直接导出到打开的任意表格中(支持MS Excel和WPS表格),也可以从任意打开表格中将数据导入到数据库中,还可以将变更前的数据先保存到XML中,数据变化后,可以变化的数据导出到...
该小程序主要适用于大量excel导入ORACLE数据库时,批量将excel转换为TXT文本文档并同时完成数据清洗,特定分隔符转换,以及数据质量检查。适用于大数据分析者。内含使用说明文档。
XlsToOra是一款功能强大,简单实用的Excel导入Oracle工具,能够帮助您将xls、xlsx格式文件中的数据导入到Oracle数据库中,只需根据向导一步一步操作即可完成,支持批量导入,支持保存和加载会话,可以通过命令行重复...
快速批量将excel数据导入到Oracle数据库中,附件中有sql示例,excel文件示例,命令示例
数据库批量导入工具,支持oracle数据库,通用的excel模板
支持Oracle,SQL Sever,Access,Excel等数据库之间数据格式批量转换:即Oracle转SQL Server;SQL Server转Oracle;Oracle转Access;Access转Oracle;SQL Server转Access, Access转SQL Server等,支持Oracle,SQL Sever,...
2. 数据导入和导出:通过Navicat,您可以方便地将数据从不同的数据源导入到数据库中,也可以将数据库中的数据导出为各种格式,如CSV、Excel等。 3. SQL查询和脚本执行:使用Navicat,您可以编写和执行SQL查询,进行...