繁体   English   中英

使用文本框从Excel搜索数据并在vb.net中的DataGridView中进行检索

[英]Search data from Excel using textbox and retrieve in DataGridView in vb.net

我有一个文本框,我希望当我们在文本框内输入内容时,它将从Excel搜索该数据。 然后,来自excel的所选数据的所有记录都应出现在DataGridView中。 我的代码只能从excel获取所有记录。

  Try
        Dim MyConnection As System.Data.OleDb.OleDbConnection
        Dim DtSet As System.Data.DataSet
        Dim MyCommand As System.Data.OleDb.OleDbDataAdapter
        MyConnection = New System.Data.OleDb.OleDbConnection("provider=Microsoft.ACE.OLEDB.12.0;Data Source='c:\MECH_1.xlsx';Extended Properties=Excel 8.0;")
        MyCommand = New System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$]", MyConnection)
        MyCommand.TableMappings.Add("Table", "TestTable")
        DtSet = New System.Data.DataSet
        MyCommand.Fill(DtSet)
        DataGridView1.DataSource = DtSet.Tables(0)
        MyConnection.Close()
    Catch ex As Exception
        MsgBox(ex.ToString)
    End Try

![1]: https//i.stack.imgur.com/unTan.png

您需要在“查询”中提及“ textbox值,并使用“ Like命令”,如下所示。

  Try
    Dim MyConnection As System.Data.OleDb.OleDbConnection
    Dim DtSet As System.Data.DataSet
    Dim MyCommand As System.Data.OleDb.OleDbDataAdapter
    MyConnection = New 
    System.Data.OleDb.OleDbConnection("provider=Microsoft.ACE.OLEDB.12.0;Data 
    Source='c:\MECH_1.xlsx';Extended Properties=Excel 8.0;")
    MyCommand = New System.Data.OleDb.OleDbDataAdapter("select * from 
    [Sheet1$] where country like '%" & Trim(textbox1.Text) & "%' or Name like '%" & Trim(textbox1.Text) & "%'", MyConnection)
    MyCommand.TableMappings.Add("Table", "TestTable")
    DtSet = New System.Data.DataSet
    MyCommand.Fill(DtSet)
    DataGridView1.DataSource = DtSet.Tables(0)
    MyConnection.Close()
    Catch ex As Exception
    MsgBox(ex.ToString)
    End Try

注意:在哪个国家(地区)LIKE'%or%'查找在任何位置带有“或”的任何值WHERE CustomerName LIKE'%a'查找以“ a”结尾的任何值WHERE CustomerName LIKE'a%'查找以下列开头的任何值“一种”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM