0

好的,这是我的代码:

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\mscorlib.dll”。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。

“DisplayingDataFromExcelSheets.vshost.exe”(CLR v4.0.30319:DisplayingDataFromExcelSheets.vshost.exe):已加载“C:\windows\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities\14.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess。实用程序.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.Drawing .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__b03f5f7f11d50a3a\Microsoft.VisualStudio。 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__b03f5f7f11d50a3a\Microsoft.VisualStudio.Debugger。运行时.dll'。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。

'DisplayingDataFromExcelSheets.vshost.exe' (CLR v4.0.30319: DisplayingDataFromExcelSheets.vshost.exe): 加载'C:\Users\E180728\Documents\Visual Studio 2015\Projects\ADOProject\DisplayingDataFromExcelSheets\bin\Debug\DisplayingDataFromExcelSheets.vshost.exe '。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。

'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__b77a5c561934e089\System .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__b03f5f7f11d50a3a\Microsoft.CSharp .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.Deployment .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__b03f5f7f11d50a3a\System .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\Projects\ADOProject\DisplayingDataFromExcelSheets\bin\Debug\DisplayingDataFromExcelSheets.exe”。已加载符号。

运行应用程序

“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__b03f5f7f11d50a3a\System.Configuration .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\assembly\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__b03f5f7f11d50a3a\System.EnterpriseServices .Wrapper.dll'。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。

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

我正在运行 Visual Studio 2015。该文件内置于 Excel 2010 中。office 和 VS 2015 都是 x64 笔记本电脑上的 x64 版本。有什么想法可能在这里发生吗?

4

1 回答 1

0

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

于 2016-01-08T13:34:51.830 回答