VS 2015: получение "исключения:" System.Data.OleDb.OleDbException "в System.Data.dll" при попытке подключения к Excel
Хорошо, вот мой код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.OleDb;
namespace DisplayingDataFromExcelSheets
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
string datasource = @"C:\Users\E180728\Documents\FakeGradesTable.xlsx";
string cs = @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + datasource + ";Extended Properties='Excel 12.0;HDR=YES'";
OleDbConnection cn = new OleDbConnection(cs);
Console.WriteLine("Connecting to: " + cs);
OleDbDataAdapter da = new OleDbDataAdapter("select * from [marks$]", cn);
DataSet ds = new DataSet();
da.Fill(ds, "marks");
dataGridView1.DataSource = ds.Tables[0];
}
}
}
Когда я пытаюсь запустить это, в форме появляется пустой DataGridView, и в выводе появляется следующее:
'DisplayingDataFromExcelSheets.vshost.exe' (CLR v4.0.30319: DisplayingDataFromExcelSheets.vshost.exe): загружен 'C:\windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\'scorlib Пропущены символы загрузки. Модуль оптимизирован и включена опция отладчика "Просто мой код".
"DisplayingDataFromExcelSheets.vshost.exe" (CLR v4.0.30319: DisplayingDataFromExcelSheets.vshost.exe): загружен "C:\windows\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities\14.0.0.0__b03f5f7fStudio.a. Utilities.dll. Пропущены символы загрузки. Модуль оптимизирован и включена опция отладчика "Просто мой код".
'DisplayingDataFromExcelSheets.vshost.exe' (CLR v4.0.30319: DisplayingDataFromExcelSheets.vshost.exe): загружен 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms \v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll. Пропущены символы загрузки. Модуль оптимизирован и включена опция отладчика "Просто мой код". "DisplayingDataFromExcelSheets.vshost.exe" (CLR v4.0.30319: DisplayingDataFromExcelSheets.vshost.exe): загружен "C: \ windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System \v4.0_4.0.0.0__b77a5c561934e089\System.dll". Пропущены символы загрузки. Модуль оптимизирован и включена опция отладчика "Просто мой код".
'DisplayingDataFromExcelSheets.vshost.exe' (CLR v4.0.30319: DisplayingDataFromExcelSheets.vshost.exe): загружен 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Drawing \v4.0_4.0.0.0__b03f5f7f11d50a3a\System.D.dll. Пропущены символы загрузки. Модуль оптимизирован и включена опция отладчика "Просто мой код".
"DisplayingDataFromExcelSheets.vshost.exe" (CLR v4.0.30319: DisplayingDataFromExcelSheets.vshost.exe): загружен "C: \ windows \ assembly \ GAC_MSIL \ Microsoft.VisualStudio.HostingProcess.Utilities.Sync \ 14.0.0.0__b03f50a. HostingProcess.Utilities.Sync.dll. Пропущены символы загрузки. Модуль оптимизирован и включена опция отладчика "Просто мой код".
'DisplayingDataFromExcelSheets.vshost.exe' (CLR v4.0.30319: DisplayingDataFromExcelSheets.vshost.exe): загружен 'C: \ windows \ assembly \ GAC_MSIL \ Microsoft.VisualStudio.Debugger.Runtime \ 14.0.0.0__b03f5f7f11dio.a. Runtime.dll. Пропущены символы загрузки. Модуль оптимизирован и включена опция отладчика "Просто мой код".
'DisplayingDataFromExcelSheets.vshost.exe' (CLR v4.0.30319: DisplayingDataFromExcelSheets.vshost.exe): загружен 'C: \ Users \ E180728 \ Documents \ Visual Studio 2015 \ Проекты \ ADOProject \ DisplayingDataFromExcelSheets \ bin \ Debug \ DisplayingShe.ExSexSheser.exeFata_DataShoSheser.exeFataDataSataSataFata ". Пропущены символы загрузки. Модуль оптимизирован и включена опция отладчика "Просто мой код".
'DisplayingDataFromExcelSheets.vshost.exe' (CLR v4.0.30319: DisplayingDataFromExcelSheets.vshost.exe): загружен 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Core \v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll. Пропущены символы загрузки. Модуль оптимизирован и включена опция отладчика "Просто мой код".
'DisplayingDataFromExcelSheets.vshost.exe' (CLR v4.0.30319: DisplayingDataFromExcelSheets.vshost.exe): загружен 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml.Linq \ v4.0_4.0.0.0__b77a5c561934e089 System.Xml.Linq.dll. Пропущены символы загрузки. Модуль оптимизирован и включена опция отладчика "Просто мой код".
'DisplayingDataFromExcelSheets.vshost.exe' (CLR v4.0.30319: DisplayingDataFromExcelSheets.vshost.exe): загружен 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Data.DataSetExtensions \ v4.0_4.0.0.0__b77a5c561934e89.Data.DataSetExtensions.dll. Пропущены символы загрузки. Модуль оптимизирован и включена опция отладчика "Просто мой код".
'DisplayingDataFromExcelSheets.vshost.exe' (CLR v4.0.30319: DisplayingDataFromExcelSheets.vshost.exe): загружен 'C: \ windows \ Microsoft.Net \ assembly \ GAC_MSIL \ Microsoft.CSharp\v4.0_4.0.0.0__b03f5f7f11d50aha\Microsoft.Carf.dll. Пропущены символы загрузки. Модуль оптимизирован и включена опция отладчика "Просто мой код".
'DisplayingDataFromExcelSheets.vshost.exe' (CLR v4.0.30319: DisplayingDataFromExcelSheets.vshost.exe): загружен 'C: \ windows \ Microsoft.Net \ assembly \ GAC_32 \ System.Data \v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll. Пропущены символы загрузки. Модуль оптимизирован и включена опция отладчика "Просто мой код".
'DisplayingDataFromExcelSheets.vshost.exe' (CLR v4.0.30319: DisplayingDataFromExcelSheets.vshost.exe): загружен 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Deployment \v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Dep..dll. Пропущены символы загрузки. Модуль оптимизирован и включена опция отладчика "Просто мой код".
'DisplayingDataFromExcelSheets.vshost.exe' (CLR v4.0.30319: DisplayingDataFromExcelSheets.vshost.exe): загружен 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Net.Http\v4.0_4.0.0.0__b03f5f7f11d50aa.Net.Http.dll. Пропущены символы загрузки. Модуль оптимизирован и включена опция отладчика "Просто мой код".
'DisplayingDataFromExcelSheets.vshost.exe' (CLR v4.0.30319: DisplayingDataFromExcelSheets.vshost.exe): загружен 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml \v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll. Пропущены символы загрузки. Модуль оптимизирован и включена опция отладчика "Просто мой код".
Нить 0x3218 вышла с кодом 0 (0x0). Поток 0x2b8c вышел с кодом 0 (0x0).
'DisplayingDataFromExcelSheets.vshost.exe' (CLR v4.0.30319: DisplayingDataFromExcelSheets.vshost.exe): загружен 'C: \ Users \ E180728 \ Documents \ Visual Studio 2015 \ Проекты \ ADOProject \ DisplayingDataFromExcelSheets \ bin \ Debug \ DisplayingDext.ExSheex.File_DataShell.DataSataSataFata Символы загружены.
Запущенное приложение
'DisplayingDataFromExcelSheets.vshost.exe' (CLR v4.0.30319: DisplayingDataFromExcelSheets.vshost.exe): загружен 'C:\windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration \v4.0_4.0.0.0__b03f5f7f11d50afa \ System..dll. Пропущены символы загрузки. Модуль оптимизирован и включена опция отладчика "Просто мой код".
'DisplayingDataFromExcelSheets.vshost.exe' (CLR v4.0.30319: DisplayingDataFromExcelSheets.vshost.exe): загружен 'C: \ windows \ Microsoft.Net \ assembly \ GAC_32 \ System.Transactions \v4.0_4.0.0.0__b77a5c561934e089\System.Transactions.dll. Пропущены символы загрузки. Модуль оптимизирован и включена опция отладчика "Просто мой код".
Подключение к: Provider = Microsoft.ACE.OLEDB.12.0; Источник данных = C: \ Users \ E180728 \ Documents \ FakeGradesTable.xlsx; Расширенные свойства = 'Excel 12.0; HDR = YES' 'DisplayingDataFromExcelSheets.vshost.exe' (CLR v4.0.30319: DisplayingDataFromExcelSheets.vshost.exe): загружен 'C: \ Windows \ Microsoft.Net \ сборка \ GAC_32 \ System.EnterpriseServices \v4.0_4.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.dll. Пропущены символы загрузки. Модуль оптимизирован и включена опция отладчика "Просто мой код".
'DisplayingDataFromExcelSheets.vshost.exe' (CLR v4.0.30319: DisplayingDataFromExcelSheets.vshost.exe): загружен 'C: \ windows \ Microsoft.Net \ assembly \ GAC_32 \ System.EnterpriseServices \ v4.0_4.0.0.0__b03f5f7fiseSerserser_services.aserser.dll.Wrapper.dll. Пропущены символы загрузки. Модуль оптимизирован и включена опция отладчика "Просто мой код".
Исключение: "System.Data.OleDb.OleDbException" в System.Data.dll
Я использую Visual Studio 2015. Файл встроен в Excel 2010. И Office, и VS 2015 являются версиями x64 на ноутбуке x64. Есть идеи, что здесь может происходить?
1 ответ
Я понял. Смотрите мой последний комментарий для решения. Я нашел ошибку, добавив код к кнопке вместо загрузки формы. Это показало, что мое имя листа было неверным в файле Excel. Обновил его, и он работал просто отлично. Спасибо за всю помощь, ребята!