初学者问题(如何将excel文件导入oracle数据库)
以前有人问过此问题,也得到了解决.但是我的是一初学菜鸟希望我的这个问题有一个比较详细的答复.前提:数据库中已经建好表
要求实现:
1.通过一个按钮找到硬盘中一个excel文件
2.通过一个按钮"开始导入"
3.有一个导入进度条
4.最好有导入状态有高手给了代码,但是我看不明白,希望给一些建按钮,控件等左右详细设置.
比较急,希望高手能帮忙.我留下email:[email protected]有word文档也可发我信箱.万分感谢!!!
调试欢乐多
Cn.ConnectionString = "provider=msdaora.1;user id= OEM_JESSE;password=Dorothy;data source = ORCL"
Cn.Open'訪問其中的Table
Dim Rst As New ADODB.Recordset
Dim Sql As String
Sql = "select * from Table"
Rst.CursorLocation = adUseClient
Rst.Open Sql, Cn, adOpenStatic, adLockPessimistic'打開Excel文件
Dim objExcel As Excel.Application
Dim objBook As Excel.Workbook
Dim objSheet As Excel.Worksheet
Set objExcel = CreateObject("Excel.Application")
Set objBook = objExcel.Workbooks.Open("C:\test.xls")
objExcel.Visible = False
Set objSheet = objBook.Worksheets(1)
dim nRows as Integer
dim i as IntegernRows =objExcel.Sheets(1).UsedRange.Rows.Count '求得行數
for i=1 to nRows
Rst.AddNew
rst.File(0)=objSheet.Cells(i, 1)
rst.File(1)=objSheet.Cells(i, 2)
...
rst.update
next
这是我看的一篇文章,我就想做成他这样的,现在我不需要access,只需要excel就可以.
我觉得他说的不具体,我也没看明白:你能解释一下么?
导库的VB程序
这个工程要使用一些对象库,在数据库访问方面,决定使用ADO(ActiveX Data Objects),对于使用过ASP的人,这个名字应该非常熟悉了,实际上,它在VB中的应用也是几乎一样的,由于要操作Excel,还要引用一个扩展的对象库。点菜单中的“工程”---“引用”,选择“Microsoft ActiveX Data Objects 2.6 Library”和“Microsoft Excel 9.0 Object Library”,在引用列表中,可引用对象库的版本或许有所不同,选择类似的最新版本就可以了。要使用对话框和进度条,还要引用一些部件,点菜单中的“工程”--“部件”,选择“Microsoft Common Dialog Control 6.0(SP3)”和“Microsoft Windows Common Controls 6.0(SP3)”。 界面如图一所示 图中各数字表示的控件分别是:
1-3:3个均为TextBox控件,名字分别为mdbfilename,mdbpassword,xlsfilename,mdbfilename用来指示导入Access文件的路径和文件名,mdbpassword用来输入Access文件的密码,xlsfilename用来指示导入Excel文件的路径和文件名;
4:名称为select_mdbfile,CommandButton控件,用来选择要导入的Access文件;
5:名称为importMDB,CommandButton控件,选择好文件后,用该按钮导入MDB文件
6:名称为CommonDialog1,CommonDialog控件
7:名称为select_xlsfile,CommandButton控件,用来选择要导入的Excel文件;
8:名称为importXLS,CommandButton控件,选择好文件后,用该按钮导入XLS文件;
9:名称为CommonDialog2,CommonDialog控件
10:名称为prgBar1,进度条(ProgressBar),当要导入很多记录时,使用进度条可以指示当前的导入进度
11:名称为StatusBar1,状态条(StatusBar),指示导入的进展状态,包括“正在导入”,“导入完成”等。
要将Style设置为“1-sbrSimple”
在程序的头部作以下声明
Option Explicit
Dim Cn As New ADODB.Connection
Dim Cnmysql As New ADODB.Connection
Dim Rs As New ADODB.Recordset
Dim Rsmysql As New ADODB.Recordset
Function replace_str(srcstr As String)
srcstr = Replace(srcstr, "\", "\\")
replace_str = Replace(srcstr, "'", "\'")
End Function
双击form,在装载form时输入以下的代码
Private Sub Form_Load()
'将进度条设置为不可见
prgBar1.Visible = False
'连接mysql数据库,pwd为数据库的密码,uid为用户名,dsn为数据源的名称 Cnmysql.ConnectionString = "uid=root;pwd=;dsn=build" Cnmysql.Open
End Sub
1.Microsoft ActiveX Data Objects 2.x Library (其中2.x表示版本號,如:2.1--2.8)
2.Microsoft Excel 10.0 Object Library把先前的代碼全部放在一按鈕事件中也可以
现在我只有这几个按钮
text1--excel文件
command1--选择文件
command2--导入文件
commondialog1--好像是与数据库连接吧
progressbar1--进度条
分别怎么设置
你只要改一下連接oracle的配置就行了(上面有給出你一個連接oracle例子)