簡體   English   中英

使用VB.NET將數據從Excel工作表傳遞到DataGridView

[英]Passing data from Excel Sheet to DataGridView using VB.NET

我正在一個項目中,該項目旨在將數據從datagridview導入和導出到excel表,反之亦然。 到目前為止,我設法將數據從datagridview發送到excel,但是我只是不能將數據從excel發送到datagrid ...我嘗試了以下代碼:

Dim dtSheet1 As New DataTable
    Using cn As New System.Data.OleDb.OleDbConnection
        Dim Builder As New OleDbConnectionStringBuilder With
            {
                .DataSource = filename,
                .Provider = "Microsoft.ACE.OLEDB.12.0"
            }
        Builder.Add("Extended Properties", "Excel 16.0; IMEX=1;HDR=Yes;")
        cn.ConnectionString = Builder.ConnectionString

        cn.Open()

        Using cmd As OleDbCommand = New OleDbCommand With {.Connection = cn}
            cmd.CommandText = "SELECT * FROM [Sheet1$]"
            Dim dr As System.Data.IDataReader = cmd.ExecuteReader

            dtSheet1.Load(dr)
            datagridview1.DataSource = dtSheet1
        End Using
    End Using

但是我一直遇到異常:(並且我嘗試將項目的目標從Any CPU更改為x64 ...)

System.Data.dll中發生了類型為'System.InvalidOperationException'的未處理異常。其他信息:Microsoft.ACE.OLEDB.12.0提供程序未在本地計算機上注冊。

所以:有什么方法可以不使用OLEDB而將數據從excel發送到datagrid? 如果是這樣,我將非常感激能夠讓我擺脫困境的解決方案,並且已經為此工作了三天...

祝你有美好的一天! (:

實際上,這甚至更好:

未在本地計算機上注冊“ Microsoft.ACE.OLEDB.12.0”提供程序

在此處查看所選答案。 確保閱讀其下方的注釋。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM