2017-07-14 12 views
0

私は、datagridviewからデータをインポートおよびエクスポートして、テーブルとその逆を実行することを目的としたプロジェクトに取り組んでいます。これまでのところ、私は秀でている私のDataGridViewからのデータを送信するために管理しますが、私はただのDataGridするために、Excelからそれを行うことはできません...私は、次のコードを試してみました:VB.NETを使用してExcelシートからDataGridViewにデータを渡す

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 

しかし、私は例外に遭遇保ちます:(そして、私は

)...のx64への任意のCPUから「System.InvalidOperationExceptionがが」のSystem.Data.dll 追加情報で発生したタイプの未処理の例外を私のプロジェクトのターゲットを変更してみました:「Microsoft.ACEを.OLEDB.12.0 'プロバイダがローカルマシンに登録されていません。

So:OLEDBを使用せずにExcelからDataGridにデータを送信する方法はありますか?そうであれば、私はこのことから私を取り除くことができたソリューションにとても感謝しています。これはすでに3日間作業しています...

素敵な日ですか? (:

+0

あなたが助けをここに接続文字列で見ることができます。。: https://www.connectionstrings.com/excel-2007/ – Derek

+0

ありがとう、Derek!私はこれらの文字列が非常に役に立つと思うので、新しい接続文字列構造に応じてコードを変更する方法を理解する必要があります。 –

答えて

関連する問題