【问题标题】:OleDb set Data Source to load file windowOleDb 设置数据源加载文件窗口
【发布时间】:2017-09-12 08:41:50
【问题描述】:
Private Sub Button_Import_Click(sender As Object, e As EventArgs) Handles Button_Import.Click
    Try
        Dim MyConnection As OleDb.OleDbConnection
        Dim Ds As System.Data.DataSet
        Dim MyAdapter As System.Data.OleDb.OleDbDataAdapter

        MyConnection = New System.Data.OleDb.OleDbConnection(String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source='C:\Users\matil\Desktop\KontaktDaten.xlsx';Extended Properties=Excel 8.0"))
        MyAdapter = New System.Data.OleDb.OleDbDataAdapter("Select * from [KontaktDaten$]", MyConnection)
        Ds = New System.Data.DataSet
        MyAdapter.Fill(Ds)
        Me.DataGridView_Kontakte.DataSource = Ds.Tables(0)
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
End Sub

在上面的代码中,我将 Excel 数据文件导入到 datagridview,但我想让用户在加载文件窗口中选择自己的数据源成为可能。我怎样才能做到这一点?,我已经尝试过像这样修改我的代码,但我总是收到错误“Microsoft Acces 数据库无法打开或写入文件”。

Dim Path As New OpenFileDialog()
MyConnection = New System.Data.OleDb.OleDbConnection(String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=Excel 8.0", Path))

【问题讨论】:

  • 只需更改查询即可。
  • 你能给我举个例子吗?
  • 我无法向您展示示例,因为我不知道您的数据源/列。但是您在上面自己输入了一个示例 (Select * from [KontaktDaten$])。
  • 我想我没有清楚地表达自己的问题,我想要的是能够在我的系统上选择任何 excel 文件,而不仅仅是:Data Source='C:\Users\matil\桌面\KontaktDatan.xlsx'

标签: excel vb.net import


【解决方案1】:

要回答您的评论,您的问题可能很容易处理。我使用此代码获取文件名:

    Dim indlg As New OpenFileDialog
    indlg.DefaultExt = "csv"
    indlg.Filter = "Texte|*.txt|CSV-Files|*.csv|Alle Files|*.*"
    indlg.Title = "Textdatei"
    indlg.Multiselect = False
    If indlg.ShowDialog <> DialogResult.OK Then
        MessageBox.Show("Funktionsabbruch.", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information)
        Exit Sub
    End If

在您的情况下,只缺少一行:

MyConnection = New System.Data.OleDb.OleDbConnection(String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & indlg.FileName & ";Extended Properties=Excel 8.0"))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-23
    • 1970-01-01
    • 2011-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多