Ronnie Jimenez Ответов: 3

Не удалось найти устанавливаемый isam VB.NET excel 2016


Ребята, помогите мне. Мне нужно экспортировать файл excel в datagridview. Но каждый раз, когда я выбираю открытый файл через диалоговое окно file, появляется ошибка и говорит: "не удалось найти устанавливаемый ISAM" помогите мне, пожалуйста. С использованием Microsoft.Jet.OLEDB.4.0, а не Microsoft.ACE.OLEDB.12.0. Спасибо

Что я уже пробовал:

Dim OpenFileDialog1 As New OpenFileDialog()
       Dim constr As String
       'Dim con As OleDb.OleDbConnection
       Dim con As OleDbConnection

       Try

           OpenFileDialog1.Filter = "Excel Files | *.xlsx; *.xls; *.xlsm;"

           If OpenFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
               Me.txtOpen.Text = OpenFileDialog1.FileName

               constr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source=" + txtOpen.Text + ";Extended Properties = Excel 8.0;HDR=Yes;IMEX=1"
               'constr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + txtOpen.Text + ";Excel 12.0 Xml;HDR=YES"
               con = New OleDbConnection(constr)
               con.Open()

               cboSheet.DataSource = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)
               cboSheet.DisplayMember = "TABLE_NAME"
               cboSheet.ValueMember = "TABLE_NAME"
           End If
       Catch ex As Exception
           MessageBox.Show(ex.Message)
       End Try

Richard MacCutchan

Вы уверены, что драйверы Jet и ACE установлены в системе?

3 Ответов

Рейтинг:
18

Maciej Los

Вы не можете использовать Microsoft.Jet.OLEDB.4.0 внутри .xlsx файлы. Вы должны использовать Microsoft.ACE.OLEDB.12 вместо.
Видеть: Строки подключения Excel - ConnectionStrings.com[^]

Чтобы решить вашу проблему, проверьте это: Jet for Access, Excel и Txt на 64-битных системах - ConnectionStrings.com[^]

Для получения более подробной информации, пожалуйста, смотрите: Как исправить ошибку - "поставщик 'microsoft.ace.oledb.12.0' не зарегистрирован на локальном компьютере"[^]


Рейтинг:
1

Ronnie Jimenez

Спасибо! :) .................


Maciej Los

Пожалуйста, удалите такой контент, потому что это не ответ. Чтобы сказать "Tahnk you", используйте виджет "есть вопрос или комментарий".
Овации,
Мацей

Рейтинг:
0

Jochen Arndt

Вы должны убедиться, что драйвер реактивного двигателя установлен. Но это доступно только в виде 32-битной версии. Таким образом, ваше приложение должно быть построено как 32-разрядное (целевая платформа x86, а не какой-либо процессор).

Если это возможно, используйте драйвер ACE вместо этого, потому что Jet устарел уже много лет.