【发布时间】:2016-11-23 09:58:19
【问题描述】:
我是 VB.Net 的新手,我已经学会了如何将数据从 Excel 获取到 DataGridView。现在谁能帮我学习如何将 Excel 数据放入文本框中?
我有一个带有 6 个文本框和一个搜索按钮的表单。当我在textbox1 中输入一个值并单击搜索按钮时,我想搜索一个由OpenFileDialog 选择并保存在destination1 字符串中的Excel 文件
destination1 = destipath & Filename.Text & "_" & dtedate.ToShortDateString & ".xlsx" '& Format(TimeOfDay, "h.mm.ss tt")
Excel sheet1 包含 ID、姓名、父亲、母亲、地址和电话。 VB.Net 表单有 6 个文本框。例如,当我在 textbox1 中输入 ID 为 30 时,代码必须在 A 列中搜索 ID 30。如果找到,则文本框 2-6 必须显示姓名、父亲、母亲、地址、电话。
工作表行是动态的,但列是固定的。我已经在 Excel VBA 中编写了代码来执行此操作,但是在 VB.Net 中编写代码来执行此操作时遇到了麻烦?
我在 VB.Net 中尝试过,但没有像在 Excel 中那样识别 LookIn 和 LookAt。
Private Sub btnSearch_Click(sender As Object, e As EventArgs) Handles btnSearch.Click
Dim xlappFile As Excel.Application = Nothing
Dim xlFile_WB As Excel.Workbook = Nothing
Dim xlFile_WS As Excel.Worksheet = Nothing
Dim xlFirstfile_WS1 As Excel.Worksheet = Nothing
Dim FoundRange As Excel.Range
Dim searchID As String
searchID = Textbox1.Text
xlFile_WB = xlappFile.Workbooks(destination1) ' destination1 is selected by 'user
MessageBox.Show(destination1)
xlFile_WS = xlappFile.Worksheets(1)
FoundRange = xlFile_WS.Cells.Find(What:=searchID, LookIn:=Excel.XlFindLookIn.xlFormulas, LookAt:=Excel.XlLookAt.xlWhole)
If FoundRange Is Nothing Then
textbox2.Text = "not found"
textbox3.Text = "not found"
textbox4.Text = "not found"
textbox5.Text = "not found"
textbox6.Text = "not found"
Else
textbox2.Text = FoundRange.Offset(0, 2).Value
textbox3.Text = FoundRange.Offset(0, 3).Value
textbox4.Text = FoundRange.Offset(0, 4).Value
textbox5.Text = FoundRange.Offset(0, 5).Value
textbox6.Text = FoundRange.Offset(0, 6).Value
End If
End Sub
【问题讨论】:
-
结果是?
-
excel中的结果是它获取col b,c,d,e,f中的值并显示在textbox2,textbox3,textbox4,textbox 5,textbox 6中。如果没有找到textbox 1 all tetxboxs 将显示未找到。这段代码是用 excel 编写的,但我想学习如何在 vb.net 中实现它
-
我已经替换了excel代码在VB.Net中实现