好的,这是我的代码:
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:ShowingDataFromExcelSheets.vshost.exe):已加载' C:\ windows \ Microsoft.Net \ assembly \ GAC_32 \ mscorlib \ v4.0_4.0.0.0__b77a5c561934e089 \ mscorlib.dll'。跳过加载符号。模块已经过优化,调试器选项“Just My Code'已启用。
' DisplayingDataFromExcelSheets.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&# 39 ;.跳过加载符号。模块已经过优化,调试器选项“Just My Code'已启用。
' DisplayingDataFromExcelSheets.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&#39 ;.跳过加载符号。模块已经过优化,调试器选项“Just My Code'已启用。 ' DisplayingDataFromExcelSheets.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'已启用。
' DisplayingDataFromExcelSheets.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&#39 ;。跳过加载符号。模块已经过优化,调试器选项“Just My Code'已启用。
' DisplayingDataFromExcelSheets.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&#39 ;.跳过加载符号。模块已经过优化,调试器选项“Just My Code'已启用。
' DisplayingDataFromExcelSheets.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&# 39 ;.跳过加载符号。模块已经过优化,调试器选项“Just My Code'已启用。
' DisplayingDataFromExcelSheets.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'已启用。
' DisplayingDataFromExcelSheets.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&#39 ;。跳过加载符号。模块已经过优化,调试器选项“Just My Code'已启用。
' DisplayingDataFromExcelSheets.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&#39 ;.跳过加载符号。模块已经过优化,调试器选项“Just My Code'已启用。
' DisplayingDataFromExcelSheets.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&#39 ;.跳过加载符号。模块已经过优化,调试器选项“Just My Code'已启用。
' DisplayingDataFromExcelSheets.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&#39 ;。跳过加载符号。模块已经过优化,调试器选项“Just My Code'已启用。
' DisplayingDataFromExcelSheets.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&#39 ;。跳过加载符号。模块已经过优化,调试器选项“Just My Code'已启用。
' DisplayingDataFromExcelSheets.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&#39 ;。跳过加载符号。模块已经过优化,调试器选项“Just My Code'已启用。
' DisplayingDataFromExcelSheets.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&#39 ;.跳过加载符号。模块已经过优化,调试器选项“Just My Code'已启用。
' DisplayingDataFromExcelSheets.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&#39 ;。跳过加载符号。模块已经过优化,调试器选项“Just My Code'已启用。
线程0x3218已退出,代码为0(0x0)。 线程0x2b8c已退出,代码为0(0x0)。
' DisplayingDataFromExcelSheets.vshost.exe' (CLR v4.0.30319:ShowingDataFromExcelSheets.vshost.exe):已加载' C:\ Users \ E180728 \ Documents \ Visual Studio 2015 \ Projects \ ADOProject \ ShowingDataFromExcelSheets \ bin \ Debug \ ShowingDataFromExcelSheets.exe'。符号已加载。
运行应用程序
' DisplayingDataFromExcelSheets.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&#39 ;。跳过加载符号。模块已经过优化,调试器选项“Just My Code'已启用。
' DisplayingDataFromExcelSheets.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&#39 ;。跳过加载符号。模块已经过优化,调试器选项“Just My Code'已启用。
连接到:Provider = Microsoft.ACE.OLEDB.12.0;数据源= C:\ Users \ E180728 \ Documents \ FakeGradesTable.xlsx;扩展属性=' Excel 12.0; HDR = YES' ' DisplayingDataFromExcelSheets.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.dll&#39 ;。跳过加载符号。模块已经过优化,调试器选项“Just My Code'已启用。
' DisplayingDataFromExcelSheets.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& #39 ;.跳过加载符号。模块已经过优化,调试器选项“Just My Code'已启用。
抛出异常:' System.Data.OleDb.OleDbException'在System.Data.dll
中我正在运行Visual Studio 2015.该文件是在Excel 2010中构建的.Office和VS 2015都是x64笔记本电脑上的x64版本。任何想法可能会发生在这里?
答案 0 :(得分:0)
我明白了。请参阅我对解决方案的最后评论。我通过将代码添加到按钮而不是表单加载来发现错误。它显示我的工作表名称在excel文件中是错误的。更新它,它工作得很好。感谢所有帮助人员!