excel中的数据导入oracle方法详解
Excel转换为sql语句导入Oracle数据库

Excel转换为sql语句导入Oracle数据库2009年01月16日星期五 20:33package excel;import java.io.File;import java.io.FileWriter;import java.io.IOException;import jxl.Sheet;import jxl.Workbook;public class ExcelToInsert {public static void main(String[] args) {String table_name = "OPERATION_FILTER"; //在此输入表名int ID = 0;int OPERATION_ID = 0;int USER_ID = 0;int STATUS = 0;String USER_CN = "";String USER_NAME = "";String SQL = "";final String EXL_NAME = "OPERATION_FILTER";final String BASE_PATH = "D:/data/"; // BasePathfinal String IN_EXL_PATH = BASE_PATH + EXL_NAME + ".xls"; // excelPath StringBuffer sb = null;FileWriter fw = null;int rows = 0;int columns = 0;try {fw = new FileWriter(BASE_PATH + EXL_NAME + ".sql");final String start = "REM INSERTING into " + table_name;fw.write(start + "\r\n"); // newline// read excel filetry {Workbook rwb = Workbook.getWorkbook(new File(IN_EXL_PATH));Sheet rs[] = rwb.getSheets();for (int i = 0; i < rs.length; i++) {rows = rs[i].getRows();columns = rs[i].getColumns();System.out.println(columns+","+rows);String[] ldapattr = new String[columns];for (int j = 0; j < rows; j++) {if (j == 0) {for (int g = 0; g < columns; g++) {ldapattr[g] = rs[i].getCell(g, j).getContents();}continue;}sb = new StringBuffer();sb = sb.append("\r\n");ID = Integer.parseInt(rs[i].getCell(0, j).getContents().trim());OPERATION_ID = Integer.parseInt(rs[i].getCell(1, j).getContents().trim());USER_ID = Integer.parseInt(rs[i].getCell(2, j).getContents().trim());USER_CN = rs[i].getCell(3, j).getContents().trim();USER_NAME = rs[i].getCell(4, j).getContents().trim();STATUS = Integer.parseInt(rs[i].getCell(5, j).getContents().trim());System.out.println("VALUE:"+ID+","+OPERATION_ID+","+USER_ID+","+USER_CN+","+USER_NAME+","+STATUS);SQL = "INSERT INTO TABLE " + table_name +"(ID,OPERATION_ID,USER_ID,USER_CN," + "USER_NAME,STATUS) VALUES "+ "("+ID+","+OPERATION_ID+","+USER_ID+"," +"\""+USER_CN+"\""+","+"\""+USER_NAME+"\""+","+STATUS+")";sb = sb.append(SQL + "\r\n");fw.write(sb.toString());}}} catch (final Exception e) {ID = 1;}fw.close();} catch (final IOException ex) {ex.printStackTrace();}}}Excel 表A、B、C、D、E、F列名分别是ID、OPERATION_ID \USER_ID、USER_CN、USER_NAME、STATUS。
将excel数据导入oracle中的几种方法

将excel数据导入oracle中的几种方法将Excel数据导入Oracle数据库有多种方法,下面介绍几种常用的方法,包括使用Oracle SQL Developer、使用PL/SQL、使用OracleData Integrator(ODI)和使用第三方工具。
1. 使用Oracle SQL Developer导入数据Oracle SQL Developer是Oracle官方提供的数据库开发和管理工具。
它提供了一种简单直观的方法将Excel数据导入到Oracle数据库中。
步骤如下:1) 打开Oracle SQL Developer并连接到目标数据库。
2)在导航栏中选择"表格"选项卡。
3)在"表格"选项卡中,右键单击要导入数据的表格,选择"导入数据"。
4) 在"导入数据"对话框中,选择"从文件"选项,并选择Excel文件。
5)配置导入选项,例如数据格式、目标表格和列映射等。
6)单击"导入"按钮,开始导入数据。
2.使用PL/SQL导入数据PL/SQL是Oracle的过程化编程语言,可以使用它编写脚本将Excel数据导入到Oracle数据库中。
步骤如下:1) 打开PL/SQL开发工具,例如Oracle SQL Developer或者Oracle PL/SQL Developer。
2)创建一个新的PL/SQL脚本。
3) 在脚本中使用INSERT语句将Excel中的数据逐行插入到目标表格中。
4)运行脚本以执行导入数据的操作。
3. 使用Oracle Data Integrator(ODI)导入数据Oracle Data Integrator(ODI)是一个数据集成工具,可用于将Excel数据导入到Oracle数据库中。
它提供了一种图形化的方法来定义和管理数据转换和导入操作。
步骤如下:1) 打开ODI Studio并连接到目标数据库。
EXCEL与ORACLE间的数据互传法

众所周知,MicrosoftExcel能很直观而方便地进行数据输入,统计,生成图表,但它的数据管理能力有限,对大量的数据查询能力不足,如果利用它数据计算方面的优点和大型数据库ORACLE的数据查询优点,可以设计出功能强大的数据处理系统。
假设与Excel数据文件相对应的职工情况表EMP已在ORAC LE系统中创建,此表中各字段按照顺序分别是职工代号( Emp—No),职工姓名(Ename),工资(Salary),雇用时间(Hiredate)。
本文将通过此例来介绍Excel与ORACL E数据交换的具体步骤。
1、将Excel中的数据装入ORACLE数据库通过ORACLE数据库系统的高级应用工具SQL*Loader 可以将原来的Excel中存储的数据直接装入ORACLE数据库的表中。
首先,在MicrosoftExcel中完成表格数据输入后,选择“保存文件”命令,在出现对话框的“文件类型”栏中选取“格式化文本文件(空格分隔)”以形成一个标准格式化文本文件(*.PRN)或是选取“CSV(逗号分隔)”形成一个逗号定界文件(*.CSV)。
这两者的区别是:标准格式的文本文件中每个记录等长,数据间按原库文件字段长度紧凑排列,字符型字段数据左对齐,数据型字段数据右对齐,不足部分用空格补足。
逗号定界文件特点是各记录可不等长,字段按其定义顺序依次排列,字段间用逗号分隔,字符型字段和数据型字段的左右端空格被消去。
因为这两种格式文件有不同的数据装入方法,假如我们将职工情况EMP表存为EMP.CSV,数据变成如下形式:120,JOE,1192.64,93/04/11121,KERT,309.60,87/01/1423,PETER,1500.25,84/03/12124,SMITH,678.00,91/01/0715,YOUNG,2390.12,80/05/03接着,通过记事本建立以下控制文件,它包含了数据文件的名称及其格式,文件字段如何定界,数据类型是怎样等内容,将该装载控制文件保存为EMP.CTL:LOADDATA INFILE 'C:\EMP.CSV’BADFILE 'EMP.BAD' DISCARDFILE 'EMP.DSC' APPEND INTOTABLEEMP FILEDS TERMINATED BY "," (Emp-No,Ename,Salary,HiredateDATA(8) "Y Y/MM/DD") 之后,双击SQL*Loader图标,进入ORA CLE7的数据装载工具,在弹出的SQLLOADER主屏幕对话框中,分别输入用户登录名,密码,数据库名称和控制文件名,确认后进行数据装载。
Oracle使用SqlLoad导入Excel大数据操作方法

Oracle使用SqlLoad导入Excel大数据操作方法第一步:按excel格式整理需要导入的源数据第二步:将excel表格另存为csv(逗号分割)格式。
第三步:用文本方式打开impfile.ctrl文件,修改里面的infile行为文件实际存放路径和名称,比如:infile 'c:\cust.csv'第四步:用文本方式打开impfile.ctrl文件,修改append into table 行后面加上要导入的表明,例如:append into table if_imp_card第五步:用文本方式打开impfile.ctrl文件,修改TRAILING NULLCOLS下面文本内容为表对应的字段和分割符(terminated by ','),最后一个字段用(terminated by whitespace),对于日期类型要在字段后定义上日期类型格式(Date(10) "YYYY-MM-DD"),例如:TRAILING NULLCOLS(oldtype terminated by ',',cardno terminated by ',',cardpwd terminated by ',',trackinfo terminated by ',',oldmkt terminated by ',',name terminated by ',',sex terminated by ',',cardflag terminated by ',',birthday Date(10) "YYYY-MM-DD" terminated by ',',idtype terminated by ',',idno terminated by ',',mindate Date(10) "YYYY-MM-DD" terminated by ',',maxdate Date(10) "YYYY-MM-DD" terminated by ',',ljjf terminated by ',',jfye terminated by ',',xfje terminated by ',',lczhye terminated by ',',flqye terminated by ',',addr terminated by ',',zipcode terminated by ',',tel terminated by ',',mobile terminated by whitespace)第六步:将impfile.ctl文件和要导入的csv数据文件拷贝到同一目录下,建议存放在盘符根目录;第七步:在CMD命令中输入oracle安装的bin路径,执行该命令执行如下指令:sqlldr userid=用户名/用户密码@数据库实例control=c:\impfile.ctl log=c:\impfile.log例如:D:\app\product\11.2.0\dbhome_1\BIN>sqlldr userid=dbusrif/future@crmls control=c:\impfile.ctl log=c:\impfile.log。
如何利用EXCEL将金算盘财务软件数据导入AO系统【会计实务操作教程】

如何利用 EXCEL将金算盘财务软件数据导入 AO系统【会计实务操作教 程】 金算盘财务软件后台数据库为 Oracle,AO系统中虽然提供了金算盘财务 软件的接口,但由于版本较低,无法直接采集金算盘财务软件的备份数 据。笔者发现,在已试验的金算盘财务软件的凭证表中,科目字段中既 有科目编码也有科目名称,导入 AO则失败,而利用 EXCEL自带功能可以 很方便地实现分离,因此只要能备份出数据库的三张表成 EXCEL文件, 就可以成功地将金算盘财务软件数据导入 AO系统,现简单介绍以供审计 实践中参考。 一、数据导出 1、导出凭证表、科目代码表。 金算盘财务软件的凭证表、科目代码表是单独的表,辅助的表中的信 息对审计来说意义不大,可忽略,故视为在 Oracle数据库中以单表的形
式存放。
方法一、利用第三方工具。打开 PL/SQL后,输入源数据库用户名、口 令等参数连接 Oracle数据库,使用 PL/SQL的 My Object模块,打开 “Voucher”和“Account”表,另存成 Excel文件。也可以使用 SQLplus 工具导出,方法同上类似。 方法二、也可以直接编写 Oracle查询,将结果存为 CSV格式的文件后
会计是一门很基础的学科,无论你是企业老板还是投资者,无论你是
税务局还是银行,任何涉及到资金决策的部门都至少要懂得些会计知 识。而我们作为专业人员不仅仅是把会计当作“敲门砖”也就是说,不 仅仅是获得了资格或者能力就结束了,社会是不断向前进步的,具体到
只分享有价值的会计实操经验,用有限的时间去学习更多的知识!
我们的工作中也是会不断发展的,我们学到的东西不可能会一直有用, 对于已经舍弃的东西需要我们学习新的知识来替换它,这就是专业能力 的保持。因此,那些只把会计当门砖的人,到最后是很难在岗位上立足 的。话又说回来,会计实操经验也不是一天两天可以学到的,坚持一天 学一点,然后在学习的过程中找到自己的缺陷,你可以针对自己的习惯 来制定自己的学习方案,只有你自己才能知道自己的不足。最后希望同 学们都能够大量的储备知识和拥有更好更大的发展。
excel转oracle的insert语句

excel转oracle的insert语句如何将Excel数据转换为Oracle的Insert语句在数据库开发中,我们经常需要将Excel中的数据导入到Oracle数据库中。
为了实现这一目标,我们可以使用Excel VBA或Python等编程语言来处理数据,生成相应的Insert语句。
下面将以此为主题,一步一步回答如何将Excel数据转换为Oracle的Insert语句。
1. 准备工作:在开始之前,我们需要确保以下几个准备工作已经完成:- 安装Oracle数据库:确保你的计算机上已经安装了Oracle数据库,并且可以正常连接。
- 创建目标表:在Oracle数据库中创建一个与Excel数据对应的表,确保表结构与Excel数据中的列一致。
2. 导入Excel数据在这一步,我们将使用Excel VBA或Python等编程语言将Excel数据导入到一个新建的工作表中。
- Excel VBA:打开Excel文件,按下Alt+F11快捷键打开VBA编辑器,右键点击项目中的"Microsoft Excel 对象",选择插入-模块,然后在编辑器中编写相应的代码。
以下是一个简单的示例:vbaSub 导入数据()Dim ws As WorksheetDim rng As RangeDim conn As ObjectDim rs As ObjectDim sql As StringDim i As LongSet ws = ThisWorkbook.Sheets("Sheet1") '替换为你的工作表名Set rng = ws.Range("A2:D" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row) '替换为你的数据范围'建立数据库连接Set conn = CreateObject("ADODB.Connection")conn.ConnectionString = "Provider=OraOLEDB.Oracle;Data Source=your_db;UserID=your_username;Password=your_password;" '替换为你的数据库连接信息conn.Open'循环生成Insert语句For i = 1 To rng.Rows.Countsql = "INSERT INTO your_table (column1, column2, column3, column4) VALUES ("sql = sql & "'" & rng.Cells(i, 1).Value & "'," '替换为你的列名和对应的数据类型sql = sql & "'" & rng.Cells(i, 2).Value & "',"sql = sql & "'" & rng.Cells(i, 3).Value & "',"sql = sql & "'" & rng.Cells(i, 4).Value & "')"conn.Execute sqlNext i'关闭连接conn.CloseSet rs = NothingSet conn = NothingMsgBox "数据导入完成!"End Sub- Python:使用Python需要安装pyodbc库,并且需要先设置好数据源。
excel导入ORACLE的四个方法

excel导入ORACLE的四个方法文章分类:数据库EXCEL里导入ORACLE有四种方法,结合网上的写写:1 使用sql *loaderSQL*LOADER是oracle的数据加载工具,在NT下sql*loader的命令为SQLLDR,在UNIX下一般为SQLLDR/SQLLOAD。
通常用来将操作系统文件迁移到oracle数据库中。
它是大型数据仓库选择使用的加载方法,因为它提供了最快速的途径(direct,parallel)。
但这种方法要求存储数据的oracle表是已经存在的。
使用这种方法导入excel内容到oracle时,首先需要将excel文件另存为文本格式,文件类型选文本类型或者csv类型即将e:\test.xls另存为e:\test.csv。
如果oracle没有对应存储数据的表结构,则需要创建表test(id,name,telphone)。
用记事本创建sql*loader控制文件test.ctl(ctl后缀是企图证明这是一个控制文件,但实际上这个文件后缀不重要,用户可以自由选择,但文件格式一定要是文本格式),内容如下:Load dataInfile ‘e:\test.csv’ --数据源文件名称Append|insert|replace --append在表后追加,insert插入空表,replace替代原有内容Into table test --要导入的数据库表名称[when id = id_memo] --过滤条件Fields terminated by X’09’ --字段分隔符(id,name,telphone) --字段名称列表最后在命令窗口输入sqlldr命令行执行导入操作Sqlldr userid =system/manager control=’e:\test.ctl’Sqlldr的函数关键字说明:Userid --oracle用户名 userid = username/passwordControl --控制文件名称control = ‘e:\insert.ctl’Log –-日志文件名称log = ‘e:\insert.log’Bad --损坏文件名称Data --data file nameDiscard --discard file nameDiscardmax --number of discards to allow(默认全部)Skip --导入时跳过的记录行数(默认0)Load --导入时导入的记录行数(默认全部)Errors --允许错误的记录行数(默认50)2 使用plsql developerPL/SQL Developer是一种专门用于开发、测试、调试和优化oracle PL/SQL存储程序单元,比如触发器,存储过程,函数和程序包等集成开发环境。
java 解析excel oracle创建表语句

一、概述在日常的数据处理工作中,经常会遇到需要从Excel文件中将数据导入到数据库表格中的情况。
而Java作为一种强大的编程语言,提供了丰富的工具和库来解析Excel文件,并将数据存储到数据库中。
在本文中,我们将重点介绍如何使用Java来解析Excel文件,并使用Oracle数据库创建相应的表格存储数据。
二、Java解析Excel1. 选用合适的Java库要在Java中解析Excel文件,我们可以使用Apache POI或JExcel等开源库。
这些库提供了丰富的API和功能,可以帮助我们轻松地读取和操作Excel文件。
2. 创建Excel解析程序通过使用选定的Java库,我们可以创建一个Java程序来解析Excel文件。
我们需要读取Excel文件,并将数据存储在合适的数据结构中,比如数组或集合。
3. 解析Excel数据一旦数据被存储在Java程序中,我们可以对其进行解析和处理。
这包括对数据进行验证、清洗和转换,以确保数据的准确性和完整性。
三、Oracle创建表语句在将Excel数据导入到Oracle数据库之前,我们需要先设计好数据库表格的结构。
这包括确定表格的字段、数据类型、主键和外键等信息。
2. 创建表语句在确定表格结构之后,我们可以使用Oracle的DDL语句来创建相应的表格。
DDL语句包括CREATE TABLE、ALTER TABLE等,可以用来创建和修改数据库表格的结构。
3. 导入Excel数据一旦表格被成功创建,我们可以使用Java程序将解析好的Excel数据导入到Oracle数据库中。
这可以通过使用JDBC或其他ORM框架来实现。
四、总结通过本文的介绍,我们了解了如何使用Java来解析Excel文件,并使用Oracle数据库创建相应的表格。
这对于日常的数据处理和数据库操作非常有用,可以帮助我们轻松地将Excel数据导入到数据库中,并进行进一步的数据处理和分析。
希望读者通过本文的学习,能够更加熟练地运用Java和Oracle来处理数据,提高工作效率和数据准确性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL_loader批量上传数据
1.注释
在工作中,很多时候会遇到如下情况:需要将excel中的数据批量上传到ORACLE 表中。
如果是小数据量,如几十条至几百条,那么用plsql dev工具,在查询命令后加上for update 然后解锁,把数据复制粘贴进去就可以了。
但如果遇到大数据量几万至几十万时,上述方法就不可行了。
如下介绍如何使用oracle自带的sqlloader上传数据。
2.SQL_LOADER上传数据
2.1sql_loader说明
sql*loader是oracle自带程序。
需要上传数据的本机只要安装了oracle数据库或客户端就会自动集成该工具。
但是不同的版本对控制文件的写法要求有所不同。
具体可参见2.3节或者附件控制文件的内容。
2.2编辑数据文件
要使用sql*loader,其数据文件必须是两种,一种是*.txt 的文本文件,另一种是*.csv的文件。
例如,需要上传的数据是使用excel编辑的,那么只需要将excel另存为[制表符分割的txt 文件]或者另存为[逗号分割的csv 文件]即可。
上图是将excel文件另存为“文本文件(制表符分割)(*.txt)”文件格式后的效果要将excel文件转换成csv格式同上面一样,另存为“CSV(逗号分割)(*.csv)”格式即可。
如下图:
注意:CSV格式的文件打开后跟excel的样式差不多,但实际存储方式不一样。
在磁盘上CSV格式的文件中每个格子中的数据使用逗号分割开存储的。
这样的存储方式很有用,方面后面写控制文件。
控制文件在控制读取数据的时候直接以逗号为标记读取数据。
其实,plsql dev在导出文件的时候就可选择存储为csv格式。
按照以上方法,数据文件就准备好了。
2.3编写控制文件
控制文件其实就是SQL_LOADER上传数据时需要运行的脚本,其后缀名为ctl。
控制文件写明了数据文件的位置、加载数据的方式、加载到哪个表、如何读取数据等信息。
下面是一段简单、完整的控制文件的截图及解释:
图注:编写控制文件时用文本文件编写好,修改后缀名为ctl即可。
上面的代码比较简单。
需要复杂的控制,请查阅相关资料。
2.4SQL_LOADER导入数据
制作好了数据文件和控制文件,接下来就是把数据导入oracle表中。
下面还是用test 表来举例。
第一步:进入dos命令环境,检查sql_loader是否装好。
在命令窗口输入sqlldr,回车,如果系统正确装好了sql_loader就会提示如下:
第二步:执行导入命令。
在执行上传命令前先检查表中的数据,如下图
表中只有一条数据。
退出sqlplus,接下来执行导入命令,如果数据库在本机则可执行:
Sqlldr scott/leedb control=c:\controlfile.ctl data=c:\datafile.csv
如果是远程数据库,则可执行:
Sqlldr scott/leedb@xwdb control=c:\controlfile.ctl data=c:\datafile.csv
或
Sqlldr scott/leedb@192.168.0.20:1521/xwdb control=c:\controlfile.ctl data=c:\datafile.csv
(远程地址:端口/实例名称)
第一个命令是针对数据库在本机;第二个数据库在远程但已配置远程监听;第三命令针对数据库在远程但未配置远程监听的情况。
因为我测试,数据库装在本地,所以执行本地导入命令,如下图
命令执行成功后,系统提示是已提交6条记录,准备的数据正好是6条。
说明导入成功了。
连接数据库查询验证一下:
确实导入成功了。
至此,完成数据导入。
应该说这种导入方法是很可行的,尤其是针对大数据,方法相对简单且基本上不用第三方工具(excel/txt不算第三方工具吧)。