首页 文章

VS 2015:尝试连接到Excel时出现“异常抛出:System.Data.dll中的'System.Data.OleDb.OleDbException'”

提问于
浏览
0

Okay so here is my code:

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];

        }
    }
}

When I attempt to run this, the form comes up with a blank DataGridView, and the following shows up in the output:

'ShowingDataFromExcelSheets.vshost.exe'(CLR v4.0.30319:ShowingDataFromExcelSheets.vshost.exe):已加载'C:\ windows \ Microsoft.Net \ assembly \ GAC_32 \ mscorlib \ v4.0_4.0.0.0__b77a5c561934e089 \ mscorlib.dll' . 跳过加载符号 . 模块已经过优化,调试器选项“Just My Code”已启用 .

'ShowingDataFromExcelSheets.vshost.exe'(CLR v4.0.30319:ShowingDataFromExcelSheets.vshost.exe):已加载'C:\ windows \ assembly \ GAC_MSIL \ Microsoft.VisualStudio.HostingProcess.Utilities \ 14.0.0.0__b03f5f7f11d50a3a \ Microsoft.VisualStudio.HostingProcess . Utilities.dll” . 跳过加载符号 . 模块已经过优化,调试器选项“Just My Code”已启用 .

'ShowingDataFromExcelSheets.vshost.exe'(CLR v4.0.30319:ShowingDataFromExcelSheets.vshost.exe):已加载'C:\ windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System.Windows.Forms \ v4.0_4.0.0.0__b77a5c561934e089 \ System .Windows.Forms.dll” . 跳过加载符号 . 模块已经过优化,调试器选项“Just My Code”已启用 . 'ShowingDataFromExcelSheets.vshost.exe'(CLR v4.0.30319:ShowingDataFromExcelSheets.vshost.exe):已加载'C:\ windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System \ v4.0_4.0.0.0__b77a5c561934e089 \ System.dll' . 跳过加载符号 . 模块已经过优化,调试器选项“Just My Code”已启用 .

'ShowingDataFromExcelSheets.vshost.exe'(CLR v4.0.30319:ShowingDataFromExcelSheets.vshost.exe):已加载'C:\ windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System.Drawing \ v4.0_4.0.0.0__b03f5f7f11d50a3a \ System.Drawing .dll文件” . 跳过加载符号 . 模块已经过优化,调试器选项“Just My Code”已启用 .

'ShowingDataFromExcelSheets.vshost.exe'(CLR v4.0.30319:ShowingDataFromExcelSheets.vshost.exe):已加载'C:\ windows \ assembly \ GAC_MSIL \ Microsoft.VisualStudio.HostingProcess.Utilities.Sync \ 14.0.0.0__b03f5f7f11d50a3a \ Microsoft.VisualStudio . HostingProcess.Utilities.Sync.dll” . 跳过加载符号 . 模块已经过优化,调试器选项“Just My Code”已启用 .

'ShowingDataFromExcelSheets.vshost.exe'(CLR v4.0.30319:ShowingDataFromExcelSheets.vshost.exe):已加载'C:\ windows \ assembly \ GAC_MSIL \ Microsoft.VisualStudio.Debugger.Runtime \ 14.0.0.0__b03f5f7f11d50a3a \ Microsoft.VisualStudio.Debugger . Runtime.dll” . 跳过加载符号 . 模块已经过优化,调试器选项“Just My Code”已启用 .

'ShowingDataFromExcelSheets.vshost.exe'(CLR v4.0.30319:ShowingDataFromExcelSheets.vshost.exe):已加载'C:\ Users \ E180728 \ Documents \ Visual Studio 2015 \ Projects \ ADOProject \ ShowingDataFromExcelSheets \ bin \ Debug \ ShowingDataFromExcelSheets.vshost.exe ” . 跳过加载符号 . 模块已经过优化,调试器选项“Just My Code”已启用 .

'ShowingDataFromExcelSheets.vshost.exe'(CLR v4.0.30319:ShowingDataFromExcelSheets.vshost.exe):已加载'C:\ windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System.Core \ v4.0_4.0.0.0__b77a5c561934e089 \ System.Core .dll文件” . 跳过加载符号 . 模块已经过优化,调试器选项“Just My Code”已启用 .

'ShowingDataFromExcelSheets.vshost.exe'(CLR v4.0.30319:ShowingDataFromExcelSheets.vshost.exe):已加载'C:\ windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System.Xml.Linq \ v4.0_4.0.0.0__b77a5c561934e089 \ System .Xml.Linq.dll” . 跳过加载符号 . 模块已经过优化,调试器选项“Just My Code”已启用 .

'ShowingDataFromExcelSheets.vshost.exe'(CLR v4.0.30319:ShowingDataFromExcelSheets.vshost.exe):已加载'C:\ windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System.Data.DataSetExtensions \ v4.0_4.0.0.0__b77a5c561934e089 \ System .Data.DataSetExtensions.dll” . 跳过加载符号 . 模块已经过优化,调试器选项“Just My Code”已启用 .

'ShowingDataFromExcelSheets.vshost.exe'(CLR v4.0.30319:ShowingDataFromExcelSheets.vshost.exe):已加载'C:\ windows \ Microsoft.Net \ assembly \ GAC_MSIL \ Microsoft.CSharp \ v4.0_4.0.0.0__b03f5f7f11d50a3a \ Microsoft.CSharp .dll文件” . 跳过加载符号 . 模块已经过优化,调试器选项“Just My Code”已启用 .

'ShowingDataFromExcelSheets.vshost.exe'(CLR v4.0.30319:ShowingDataFromExcelSheets.vshost.exe):已加载'C:\ windows \ Microsoft.Net \ assembly \ GAC_32 \ System.Data \ v4.0_4.0.0.0__b77a5c561934e089 \ System.Data .dll文件” . 跳过加载符号 . 模块已经过优化,调试器选项“Just My Code”是启用 .

'ShowingDataFromExcelSheets.vshost.exe'(CLR v4.0.30319:ShowingDataFromExcelSheets.vshost.exe):已加载'C:\ windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System.Deployment \ v4.0_4.0.0.0__b03f5f7f11d50a3a \ System.Deployment .dll文件” . 跳过加载符号 . 模块已经过优化,调试器选项“Just My Code”已启用 .

'ShowingDataFromExcelSheets.vshost.exe'(CLR v4.0.30319:ShowingDataFromExcelSheets.vshost.exe):已加载'C:\ windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System.Net.Http \ v4.0_4.0.0.0__b03f5f7f11d50a3a \ System .Net.Http.dll” . 跳过加载符号 . 模块已经过优化,调试器选项“Just My Code”已启用 .

'ShowingDataFromExcelSheets.vshost.exe'(CLR v4.0.30319:ShowingDataFromExcelSheets.vshost.exe):已加载'C:\ windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System.Xml \ v4.0_4.0.0.0__b77a5c561934e089 \ System.Xml .dll文件” . 跳过加载符号 . 模块已经过优化,调试器选项“Just My Code”已启用 .

线程0x3218已退出,代码为0(0x0) . 线程0x2b8c已退出,代码为0(0x0) .

'ShowingDataFromExcelSheets.vshost.exe'(CLR v4.0.30319:ShowingDataFromExcelSheets.vshost.exe):已加载'C:\ Users \ E180728 \ Documents \ Visual Studio 2015 \ Projects \ ADOProject \ ShowingDataFromExcelSheets \ bin \ Debug \ ShowingDataFromExcelSheets.exe' . 符号已加载 .

运行应用程序

'ShowingDataFromExcelSheets.vshost.exe'(CLR v4.0.30319:ShowingDataFromExcelSheets.vshost.exe):已加载'C:\ windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System.Configuration \ v4.0_4.0.0.0__b03f5f7f11d50a3a \ System.Configuration .dll文件” . 跳过加载符号 . 模块已经过优化,调试器选项“Just My Code”已启用 .

'ShowingDataFromExcelSheets.vshost.exe'(CLR v4.0.30319:ShowingDataFromExcelSheets.vshost.exe):已加载'C:\ windows \ Microsoft.Net \ assembly \ GAC_32 \ System.Transactions \ v4.0_4.0.0.0__b77a5c561934e089 \ System.Transactions .dll文件” . 跳过加载符号 . 模块已经过优化,调试器选项“Just My Code”已启用 .

连接到:Provider = Microsoft.ACE.OLEDB.12.0;数据源= C:\ Users \ E180728 \ Documents \ FakeGradesTable.xlsx;扩展属性='Excel 12.0; HDR = YES''ShowingDataFromExcelSheets.vshost.exe'(CLR v4.0.30319:ShowingDataFromExcelSheets.vshost.exe):已加载'C :\ Windows \ Microsoft.Net \组件\ GAC_32 \的System.EnterpriseServices \ v4.0_4.0.0.0__b03f5f7f11d50a3a \ System.EnterpriseServices.dll” . 跳过加载符号 . 模块已经过优化,调试器选项“Just My Code”已启用 .

'ShowingDataFromExcelSheets.vshost.exe'(CLR v4.0.30319:ShowingDataFromExcelSheets.vshost.exe):已加载'C:\ windows \ Microsoft.Net \ assembly \ GAC_32 \ System.EnterpriseServices \ v4.0_4.0.0.0__b03f5f7f11d50a3a \ System.EnterpriseServices .Wrapper.dll” . 跳过加载符号 . 模块已经过优化,调试器选项“Just My Code”已启用 .

抛出异常:System.Data.dll中的'System.Data.OleDb.OleDbException'

I am running Visual Studio 2015. The file is in built in Excel 2010. Both office and VS 2015 are x64 versions on a x64 laptop. Any ideas what might be happening here?

1 回答

  • 0

    我想到了 . 请参阅我对解决方案的最后评论 . 我通过将代码添加到按钮而不是表单加载来发现错误 . 它显示我的工作表名称在excel文件中是错误的 . 更新它,它工作得很好 . 谢谢你所有的帮助!

相关问题