简单问题!大家请帮帮我! Excle文件在VB中读取数据的时候就是类似于一个二维表或二维阵列来读的,你知道是那个单元,读出来加到相应的单元就行了. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 On Error GoTo LocalErrorMe.MousePointer = vbHourglassCommand1.Enabled = False '由于程序运行速度比较慢,所以先把按钮设为不可用Command2.Enabled = FalseLabel1.Caption = "正在导入数据...."rs_EMP.Open ("select * from employee"), conn, adOpenDynamic, adLockOptimisticrs_Grou.Open ("select * from employeeGroup"), conn, adOpenDynamic, adLockOptimisticrs_Dep.Open ("select * from Department"), conn, adOpenDynamic, adLockOptimisticProgressBar1.value = 5Set oExcel = CreateObject("Excel.Application")oExcel.Visible = FalseoExcel.Workbooks.Open "c:\HandReaderInterface\General Security Data Form.xls" '打开Excel文件oExcel.Sheets(1).SelectFor i = 3 To oExcel.Cells.CurrentRegion.Rows.Count If ProgressBar1.value < 90 Then ProgressBar1.value = ProgressBar1.value + 0.1 End If If Check_Id(CStr(oExcel.Cells(i, 2)), "Employee", "Id", 1) And (Not Check_Null(oExcel.Cells(i, 2)) = "") Then rs_EMP.AddNew rs_EMP("ID") = oExcel.Cells(i, 2) rs_EMP("FullName") = Left(oExcel.Cells(i, 4), Len(oExcel.Cells(i, 4)) - 3) & oExcel.Cells(i, 3) rs_EMP("Name") = oExcel.Cells(i, 7) rs_EMP("DeptId") = oExcel.Cells(i, 10) rs_EMP("GroupId") = oExcel.Cells(i, 9) rs_EMP.Update End If If Check_Id(oExcel.Cells(i, 9), "EmployeeGroup", "Id", 0) And (Not Check_Null(oExcel.Cells(i, 9)) = "") Then rs_Grou.AddNew rs_Grou("ID") = oExcel.Cells(i, 9) rs_Grou.Update End If If Check_Id(oExcel.Cells(i, 10), "Department", "Id", 0) And (Not Check_Null(oExcel.Cells(i, 10)) = "") Then rs_Dep.AddNew rs_Dep("Id") = oExcel.Cells(i, 10) rs_Dep.Update End IfNextMe.MousePointer = vbDefaultProgressBar1.value = ProgressBar1.MaxMsgBox "数据导入完成!"Label1.Caption = "数据导入完成!"GoTo ErrorExitLocalError:MsgBox "导入数据时出错!",, "提示"Label1.Caption = "数据导入失败"GoTo ErrorExitErrorExit:Command1.Enabled = TrueCommand2.Enabled = TrueSet oExcel = Nothing Set rs_EMP = NothingEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Form_Load()Dim connstr As Stringconnstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\HandReaderInterface\RHand.mdb;Persist Security Info=False"conn.Open connstrProgressBar1.value = 0Label1.Caption = ""End SubFunction Check_Id(value As String, tablename As String, fieldsname As String, NumOrTxt As Integer) As Boolean'¼ì²éÊÇ·ñÓÐÖظ´µÄIdDim LRs As New ADODB.RecordsetIf NumOrTxt = 1 Then LRs.Open ("select " & fieldsname & " from " & tablename & " where " & fieldsname & "=" & value), conn, adOpenDynamic, adLockOptimisticElse LRs.Open ("select " & fieldsname & " from " & tablename & " where " & fieldsname & "='" & value & "'"), conn, adOpenDynamic, adLockOptimisticEnd IfIf LRs.EOF And LRs.BOF Then Check_Id = TrueElse Check_Id = FalseEnd IfSet LRs = NothingEnd FunctionFunction Check_Null(value)'¼ì²éÊÇ·ñΪ¿ÕÖµ»òÕßΪ¿Õ×Ö·û´®If IsNull(value) Then Check_Null = ""Else Check_Null = valueEnd IfEnd Function这是一个从Excel读数据然后写入数据库的.不是很成熟,湊合看看吧 请教微机打印口做输入口的 读取文本的问题,请大家指教一下 哪里有进销存软件下载。需要免费的,实现简单功能就可以了 寻求以前很流行的一个源代码 OfficeXPMenu XP图形菜单的源码 再求winsock发送附件的源码,两贴一起给分,只要能实现,一分不留全给 数据库在网络上连接 怎么解决ListView中,在ListItem上的双击和右击事件?急阿! 请问谁有这东西 数据的异地传送 关于SQL和ACCESS的导入导出问题 请问有关Initialize事件 300分求救!还是关于二进制文件的读写?
Me.MousePointer = vbHourglass
Command1.Enabled = False '由于程序运行速度比较慢,所以先把按钮设为不可用
Command2.Enabled = False
Label1.Caption = "正在导入数据...."rs_EMP.Open ("select * from employee"), conn, adOpenDynamic, adLockOptimistic
rs_Grou.Open ("select * from employeeGroup"), conn, adOpenDynamic, adLockOptimistic
rs_Dep.Open ("select * from Department"), conn, adOpenDynamic, adLockOptimistic
ProgressBar1.value = 5
Set oExcel = CreateObject("Excel.Application")
oExcel.Visible = False
oExcel.Workbooks.Open "c:\HandReaderInterface\General Security Data Form.xls" '打开Excel文件
oExcel.Sheets(1).SelectFor i = 3 To oExcel.Cells.CurrentRegion.Rows.Count
If ProgressBar1.value < 90 Then
ProgressBar1.value = ProgressBar1.value + 0.1
End If
If Check_Id(CStr(oExcel.Cells(i, 2)), "Employee", "Id", 1) And (Not Check_Null(oExcel.Cells(i, 2)) = "") Then
rs_EMP.AddNew
rs_EMP("ID") = oExcel.Cells(i, 2)
rs_EMP("FullName") = Left(oExcel.Cells(i, 4), Len(oExcel.Cells(i, 4)) - 3) & oExcel.Cells(i, 3)
rs_EMP("Name") = oExcel.Cells(i, 7)
rs_EMP("DeptId") = oExcel.Cells(i, 10)
rs_EMP("GroupId") = oExcel.Cells(i, 9)
rs_EMP.Update
End If
If Check_Id(oExcel.Cells(i, 9), "EmployeeGroup", "Id", 0) And (Not Check_Null(oExcel.Cells(i, 9)) = "") Then
rs_Grou.AddNew
rs_Grou("ID") = oExcel.Cells(i, 9)
rs_Grou.Update
End If
If Check_Id(oExcel.Cells(i, 10), "Department", "Id", 0) And (Not Check_Null(oExcel.Cells(i, 10)) = "") Then
rs_Dep.AddNew
rs_Dep("Id") = oExcel.Cells(i, 10)
rs_Dep.Update
End If
Next
Me.MousePointer = vbDefault
ProgressBar1.value = ProgressBar1.Max
MsgBox "数据导入完成!"
Label1.Caption = "数据导入完成!"GoTo ErrorExit
LocalError:
MsgBox "导入数据时出错!",, "提示"
Label1.Caption = "数据导入失败"
GoTo ErrorExitErrorExit:
Command1.Enabled = True
Command2.Enabled = True
Set oExcel = Nothing
Set rs_EMP = Nothing
End SubPrivate Sub Command2_Click()
Unload Me
End SubPrivate Sub Form_Load()
Dim connstr As String
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\HandReaderInterface\RHand.mdb;Persist Security Info=False"
conn.Open connstr
ProgressBar1.value = 0
Label1.Caption = ""
End Sub
Function Check_Id(value As String, tablename As String, fieldsname As String, NumOrTxt As Integer) As Boolean
'¼ì²éÊÇ·ñÓÐÖظ´µÄId
Dim LRs As New ADODB.RecordsetIf NumOrTxt = 1 Then
LRs.Open ("select " & fieldsname & " from " & tablename & " where " & fieldsname & "=" & value), conn, adOpenDynamic, adLockOptimistic
Else
LRs.Open ("select " & fieldsname & " from " & tablename & " where " & fieldsname & "='" & value & "'"), conn, adOpenDynamic, adLockOptimistic
End IfIf LRs.EOF And LRs.BOF Then
Check_Id = True
Else
Check_Id = False
End IfSet LRs = Nothing
End Function
Function Check_Null(value)
'¼ì²éÊÇ·ñΪ¿ÕÖµ»òÕßΪ¿Õ×Ö·û´®
If IsNull(value) Then
Check_Null = ""
Else
Check_Null = value
End If
End Function这是一个从Excel读数据然后写入数据库的.不是很成熟,湊合看看吧