【问题标题】:VB.Net - Select an Excel Worksheet, after using a Browse buttonVB.Net - 使用浏览按钮后选择 Excel 工作表
【发布时间】:2016-01-05 18:59:48
【问题描述】:

我有一个浏览按钮代码,当我浏览到 Excel 文件时,我希望能够手动为该文件选择一个特定的工作表,这样我就可以将该特定的工作表导入 Datagridview。 我正在尝试使用组合框或列表框。

我的计划是使用“浏览”按钮填充文本框,然后通过该文本框选择工作表,然后将其导入 Datagridview 以供查看,然后再将其导出到 SQL 数据库表。

我必须为浏览按钮编写代码,我可以将文件导入 dataviewgrid,然后将其导出到 SQL。但仅当 Excel 文件具有单个“预定义”工作表名称时。 我需要在浏览之后但在 Datagridview 导入之前可选择工作表。 这是我的浏览按钮代码。我猜它对于拍摄来说太简单了,必须先加载文件。

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    Dim fd As OpenFileDialog = New OpenFileDialog()
    Dim strFileName As String

    fd.Title = "Open File Dialog"
    fd.InitialDirectory = "H:\COST ACCTG\Inventory\"
    fd.Filter = "All files (*.*)|*.*|All files (*.*)|*.*"
    fd.FilterIndex = 2
    fd.RestoreDirectory = True

    If fd.ShowDialog() = DialogResult.OK Then
        strFileName = fd.FileName
    End If

    TextBox1.Text = strFileName

End Sub

【问题讨论】:

    标签: vb.net excel datagridview


    【解决方案1】:

    获取Excel电子表格的路径后,您可以设置连接字符串,找出存在哪些表(Sheets),并将每个表添加到组合框中以供选择:

    Dim excelConnectionString as string
    Dim  mySheets as Datatable
    Dim myConnection as OleDB.OleDBConnection
    
    Try
        excelConnectionString = "Provider = Microsoft.ACE.OLEDB.12.0;Data Source=" & _
            excelPath & "; Extended Properties = ""Excel 12.0 Xml;HDR=Yes;IMEX=1"""
    
        myConnection = New OleDBConnection(excelConnectionString)
        myConnection.Open()
    
        mySheets = myConnection.GetOleDbSchemaTable(OleDB.OleDbSchemaGuid.Tables, Nothing)
    
        For Each row as DataRow in mySheets.Rows
            ComboboxExcelSheetsToImport.Items.Add(row("TABLE_NAME")
        Next row
    
    Catch ex as Exception
        'Exception Handling
    End Try
    

    选择所需的表(工作表)后,您可以使用包含所选 Excel 工作表的 SQL 语句来引入数据。下面是不好的例子:

    myCommand = new OleDb.OleDbCommand("SELECT * FROM [" & selectedSheet & "]", myConnection)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-20
      • 2012-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-13
      • 2015-10-12
      • 2020-12-08
      相关资源
      最近更新 更多