如何在VB中调用EXCEL表格数据?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在VB中调用EXCEL表格数据?相关的知识,希望对你有一定的参考价值。
VB中有如下控件:Text1、Command1、Label1。在F盘根目录上有一个为1.xlsx的工作表,工作表的A列为身份证号码,B列为姓名。要求当单击Command1时,如果Text1与A列的身份证号码相同则在Label1上显示编号对应的姓名。
补充:经过调试,如果A列为简单的序号时,测试成功,但为身份证号码时则不行。我的代码如下,请看看错在哪里。
Private Sub Command1_Click()
Dim xlsApp As Excel.Application '声明对象变量
Set xlsApp = Excel.Application '实例化对象
xlsApp.Visible = False '使Excel隐藏不可见
xlsApp.Workbooks.Open ("F:\1.xls") '打开EXCEL文件,假设文件在c盘根目录
Dim i As Long
i = 1
Do While xlsApp.ActiveWorkbook.Sheets("sheet1").Cells(i, 1) <> ""
If xlsApp.ActiveWorkbook.Sheets("sheet1").Cells(i, 1).Value = Text1.Text Then
Label1.Caption = xlsApp.ActiveWorkbook.Sheets("sheet1").Cells(i, 2).Value
Exit Do
End If
i = i + 1
Loop
xlsApp.ActiveWorkbook.Close savechanges:=False '关闭活动工作簿同时不保存对它的更改。
xlsApp.Quit '关闭EXCELL
Set xlsApp = Nothing '释放资源
End Sub
2、运行前,在菜单的选“工程”->“引用”->找到Microsoft Excel 12.0 Object Library->确定;然后才可以运行;
3、代码如下:
Dim ExApp As New Excel.Application
Dim Exb As Excel.Workbook
Dim Exsh As Excel.Worksheet
Dim arr(6, 6) As Integer \'定义一个二维数组,数据类型为整数
ExApp.Workbooks.Open "c:\\book1.xls" \'打开EXEL文件,路径和文件名自己根据实际修改
Set Exb = ExApp.Workbooks(1)
Set Exsh = Exb.Worksheets("Sheet1")
For i = 1 To 6 \'假设是读取A1:F6的6X6区域数据
For j = 1 To 6
arr(i, j) = Exsh.Cells(i, j)
Next j
Next i
\'把自己需要对数组数据进一步处理的部分加进去...
ExApp.Workbooks.Close
ExApp.Quit
Set ExApp = Nothing 全部 参考技术A If xlsApp.ActiveWorkbook.Sheets("sheet1").Cells(i, 1).Value - Text1.Text = 0 Then本回答被提问者和网友采纳
VB.NET中的DATAGRIDVIEW怎样只能在表格中输入数字呢
如标题
第一部、先定义一个单元格操作变量,如下Dim cellEdit As DataGridViewTextBoxEditingControl = Nothing
第二部、然后在在控件的EditingControlShowing事件中添加入下代码,参考如下:
Private Sub DataGridView3_EditingControlShowing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles DataGridView3.EditingControlShowing
cellEdit = CType(e.Control, DataGridViewTextBoxEditingControl)
cellEdit.SelectAll()
AddHandler cellEdit.KeyPress, AddressOf dataGridView3_KeyPress
End Sub
第三部:在要控制的列加入控件键盘按钮的代码,如下面ROLL列是要控制的列
Private Sub dataGridView3_KeyPress(ByVal sender As Object, ByVal e As KeyPressEventArgs) Handles DataGridView3.KeyPress
Dim i As Integer = DataGridView3.CurrentCellAddress.X
Dim ColumnName As String = DataGridView3.Columns(i).Name
If (ColumnName = "rollno") Then
If Not Char.IsDigit(e.KeyChar) And e.KeyChar <> Chr(8) Then
e.Handled = True
End If
End If
End Sub 参考技术A http://bbs.csdn.net/topics/390501048
以上是关于如何在VB中调用EXCEL表格数据?的主要内容,如果未能解决你的问题,请参考以下文章