利用EXEL将Oracle中的数据导入EXEL中.docx
- 文档编号:2822181
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:15
- 大小:243.14KB
利用EXEL将Oracle中的数据导入EXEL中.docx
《利用EXEL将Oracle中的数据导入EXEL中.docx》由会员分享,可在线阅读,更多相关《利用EXEL将Oracle中的数据导入EXEL中.docx(15页珍藏版)》请在冰豆网上搜索。
利用EXEL将Oracle中的数据导入EXEL中
利用EXEL将Oracle中的数据导入EXEL中
一、配置数据源
安装Oracle数据库客户端程序,配置Oracle数据源,如下例:
E:
\oracle\ora92\network\admin\tnsnames.ora该文件的内容为:
LANYAN=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=ecatic-shihu)(PORT=1521))
)
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=lanyan)
(SID=shihu)
)
)
二、EXEL连接数据源并获得数据
如图所示:
1、新建EXEL,数据—自其它来源
2、选择数据源
3、提示输入密码
4、选择需要从Oracle中导出的表,并选择表中的列
5、选择列
6、涮选数据
7、选择列作为排序关键字
8、完成查询向导
9、导入数据,选择新建工作表
10、正在导入数据到EXEL中
11、导入完成
三、将EXEL中的数据导入到Oracle中
1、有一个比较麻烦但保证成功的方法
A、在本地创建一个Access数据库,将Excel数据先导入到Access。
可直接导入点击鼠标右键,选择导入,文件类型选择要导入的Excel文件,也可通过创建宏用TransferSpreadsheet函数实现。
B、在本地创建ODBC,链接oracle数据库。
将oracle中需要导入数据的表以链接表的方式在本地Access中创建(千万不要使用导入表)。
C、在Access数据库中创建插入查询将导入好的Excel数据导入到oracle中。
此方法实验过但是没有成功。
2、自己写了个JAVA类来完成将EXEL中数据导入到Oracle中,下面为详细方法。
此方法能够成功执行,需要仔细。
packagetest.control.action;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.InputStream;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.PreparedStatement;
importjava.sql.SQLException;
importjava.sql.Timestamp;
importjxl.Cell;
importjxl.Sheet;
importjxl.Workbook;
importcommon.util.DateUtil;
importcommon.util.Tools;
publicclassTest{
/**
*指定EXEL数据文件路径
*/
privatestaticfinalFilefile=newFile("d:
\\product_info.xls");
/**
*更新SQL语句
*/
privatestaticfinalStringupdateStr="UPDATEEBSP.PRODUCT_INFOSET"+
"ITEM_ID=?
"+
",ITEM_FULL_NAME=?
"+
",ITEM_SHORT_NAME=?
"+
",ITEM_BRAND=?
"+
",ITEM_SPECS=?
"+
",CATEGORY_ID=?
"+
",CATEGORY_NAME=?
"+
",SUPPLIER_ITEM_NUMBER=?
"+
",MANUFACTURER_NAME=?
"+
",MFR_PART_NUMBER=?
"+
",MAIN_PERFORMANCE=?
"+
",MAIN_STRUTURE=?
"+
",MAIN_PARAMETER=?
"+
",PRIMARY_IMAGE_ID=?
"+
",PRIMARY_IMAGE_NAME=?
"+
",IS_INCLUDE_IMG=?
"+
",IS_INCLUDE_DOC=?
"+
",PROVIDER_ID=?
"+
",PROVIDER_NAME=?
"+
",KEY_WORD=?
"+
",AUDIT_STATUS=?
"+
",VIEW_STATUS=?
"+
",USED_STATUS=?
"+
",VOUCH_STATUS=?
"+
",CREATE_USER_ID=?
"+
",CREATE_USER_NAME=?
"+
",CREATE_DATE=?
"+
",LAST_UPDATE_USER_ID=?
"+
",LAST_UPDATE_USER_NAME=?
"+
",LAST_UPDATE_DATE=?
"+
",LANGUAGE_CODE=?
"+
",APP_ID=?
"+
"WHEREITEM_ID=?
";
/**
*插入SQL语句
*/
privatestaticfinalStringinsertStr="INSERTINTOEBSP.PRODUCT_INFO("+
"ITEM_ID"+
",ITEM_FULL_NAME"+
",ITEM_SHORT_NAME"+
",ITEM_BRAND"+
",ITEM_SPECS"+
",CATEGORY_ID"+
",CATEGORY_NAME"+
",SUPPLIER_ITEM_NUMBER"+
",MANUFACTURER_NAME"+
",MFR_PART_NUMBER"+
",MAIN_PERFORMANCE"+
",MAIN_STRUTURE"+
",MAIN_PARAMETER"+
",PRIMARY_IMAGE_ID"+
",PRIMARY_IMAGE_NAME"+
",IS_INCLUDE_IMG"+
",IS_INCLUDE_DOC"+
",PROVIDER_ID"+
",PROVIDER_NAME"+
",KEY_WORD"+
",AUDIT_STATUS"+
",VIEW_STATUS"+
",USED_STATUS"+
",VOUCH_STATUS"+
",CREATE_USER_ID"+
",CREATE_USER_NAME"+
",CREATE_DATE"+
",LAST_UPDATE_USER_ID"+
",LAST_UPDATE_USER_NAME"+
",LAST_UPDATE_DATE"+
",LANGUAGE_CODE"+
",APP_ID"+
")VALUES(?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
)";
/**
*主函数
*@paramarg
*@throwsException
*/
publicstaticvoidmain(String[]arg)throwsException{
booleanresult=newTest().updateDate();
//booleanresult=newTest().insertDate();
System.out.println("完成!
"+result);
}
/**
*连接数据库
*@return
*/
publicstaticConnectiongetConnecton(){
StringdriverUrl="jdbc:
oracle:
thin:
@192.168.102.46:
1521:
shihu";
StringuserName="ebsp";
Stringpassword="ebsp";
Connectionconn=null;
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
conn=DriverManager.getConnection(driverUrl,userName,password);
}catch(Exceptione){
e.printStackTrace();
}
returnconn;
}
/**
*更新方法
*1、连接数据库2、读取EXEL文件并将该文件中的字段对应SQL语句字段
*@return
*@throwsException
*/
publicbooleanupdateDate()throwsException{
booleanresult=false;
Connectionconn=newTest().getConnecton();
PreparedStatementpstmt=null;
InputStreaminputStream=newFileInputStream(file);
pstmt=conn.prepareStatement(updateStr);
try{
Workbookworkbook=Workbook.getWorkbook(inputStream);
Sheetsheet=workbook.getSheet(0);
System.out.println("UpdateStart:
");
for(intk=1;k System.out.println(k); Cell[]cells=sheet.getRow(k); System.out.print("*"); conn.setAutoCommit(false); inti=1; pstmt.setInt(i++,Tools.parseInt(cells[0].getContents())); pstmt.setString(i++,cells[
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 利用 EXEL Oracle 中的 数据 导入