`

将Excel数据批量导入oracle数据库方法

阅读更多
有两种思路:
一.采用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数据库

    这段代码主要实现的是将excel里面的大量数据一次性批量导入Oracle数据库内。

    利用plsql把excel的数据批量导入oracle数据库的顺序.docx

    利用plsql把excel的数据批量导入oracle数据库的顺序

    C#Excel大量数据快速导入数据库

    C#Excel大量数据快速导入数据库.

    c#批量导入excel数据到oracle数据库.rar

    自己整理的利用c#写的excel数据导入到oracle11G数据库,100%可用,里面包含程序demo和excel表格、建表的sql,需要学习和借鉴的朋友可以下载。

    一个实现批量导入Excel到MySQL_Oracle数据库的工具.zip

    一个实现批量导入Excel到MySQL/Oracle数据库的工具 一个实现批量导入Excel到MySQL/Oracle数据库的工具 一个实现批量导入Excel到MySQL/Oracle数据库的工具 一个实现批量导入...

    将EXCEL数据 插入ORACLE数据库

    可以将任意的EXCEL格式数据,导入到数据库中。能进行批量的导入。

    VC 实现Excel数据批量上载到Oracle数据库中

    此程序在VC++2003.net中实现了将Excel表格数据批量上载到Oracle数据表中,程序中连接数据库的方式为OO4O

    数据导入oracle数据库工具

    支持最新oracle11g,将excel ,pdf等数据批量导入到oracle数据库中,简单易用。

    excel数据直接导入oracle或sql server

    可以直接把excel/csv文件导入oracle或sql server数据库中 可对导入的excel内容进行筛选后再导入 可选择需要导入表的栏位 可批量导入文件夹的所有excel文件或者一个excel文件中的所有sheet 也可以导入一个文件内单个...

    通用java程序批量导excel数据到oracle

    通过执行jar文件,输入oracle登录信息、需要导入的表名、excel文件路径,路径可以是文件夹或者文件,可实现递归导入指定文件夹下的所有excel文件,每个文件可以是多个sheet。 每个数据文件的格式必须一致,所有sheet...

    excel批量导入数据

    读取excel数据,并将每50行批量上传到oracle10g数据库中

    C# Oracle批量插入数据进度条的实现代码

    由于项目需求,需要将Excel中的数据进过一定转换导入仅Oracle数据库中。考虑到当Excel数据量较大时,循环Insert语句效率太低,故采用批量插入的方法。在插入操作运行时,会造成系统短暂的“卡死”现象。为了让用户...

    Excel数据导入SQL Server 辅助工具

    方便进行Excel的数据向SQL Server数据库的导入工作,适合简单重复性的导入操作,使用XML配置文件进行导入设置的保存,理论上支持数据的任意导入(Update更新、Insert插入),数据库密码做了加密处理,工具使用也做...

    数据导入导出1.1

    SQL Server,MySQL在开发中)中的数据直接导出到打开的任意表格中(支持MS Excel和WPS表格),也可以从任意打开表格中将数据导入到数据库中,还可以将变更前的数据先保存到XML中,数据变化后,可以变化的数据导出到...

    excel批量转换为txt文本文档及数据清洗整理检查小工具

    该小程序主要适用于大量excel导入ORACLE数据库时,批量将excel转换为TXT文本文档并同时完成数据清洗,特定分隔符转换,以及数据质量检查。适用于大数据分析者。内含使用说明文档。

    XlsToOra Excel导入Oracle工具 v4.5官方版

    XlsToOra是一款功能强大,简单实用的Excel导入Oracle工具,能够帮助您将xls、xlsx格式文件中的数据导入到Oracle数据库中,只需根据向导一步一步操作即可完成,支持批量导入,支持保存和加载会话,可以通过命令行重复...

    sqlldr通过excel上传数据

    快速批量将excel数据导入到Oracle数据库中,附件中有sql示例,excel文件示例,命令示例

    实用的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,...

    Navicat数据库管理工具

    2. 数据导入和导出:通过Navicat,您可以方便地将数据从不同的数据源导入到数据库中,也可以将数据库中的数据导出为各种格式,如CSV、Excel等。 3. SQL查询和脚本执行:使用Navicat,您可以编写和执行SQL查询,进行...

Global site tag (gtag.js) - Google Analytics