在ASP.NET中访问Excel 2013文件

Nim*_*shi 3 c# asp.net excel

我正在开发一个ASP.NET应用程序.我有一个名为ExcelApp的Excel 2013文件,我也在我的项目中添加了.我无法访问该文件.

这是我的DAL类:

public string ExcelConnection = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Nimit\ExcelApplication.xlsx;Extended Properties='Excel 12.0 Xml';HDR=YES"; 
    OleDbDataAdapter DbAdap;
    DataTable dt;

    public DataTable Get_ExcelSheet()
    {
        OleDbConnection DbCon = new OleDbConnection(ExcelConnection);

        DbAdap = new OleDbDataAdapter("SELECT * FROM [Sheet1$]",DbCon);
        dt = new DataTable();
        DbAdap.Fill(dt);
        return dt;
    }
Run Code Online (Sandbox Code Playgroud)

我的cs文件代码:

public partial class WebForm1 : System.Web.UI.Page
{
    DAL obj = new DAL();
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack == true)
        {
            Get_Data();
        }
    }

    void Get_Data()
    {
        GridView1.DataSource = obj.Get_ExcelSheet();
        GridView1.DataBind();
    }
}
Run Code Online (Sandbox Code Playgroud)

我的调试器在执行此行时显示错误:

DbAdap.Fill(dt);
Run Code Online (Sandbox Code Playgroud)

例外是:

在此输入图像描述

Nim*_*shi 5

我解决了我的问题.这是我的代码:

public class DAL
{
    OleDbDataAdapter DbAdap;
    DataTable dt;

    public DataTable Get_ExcelSheet()
    {
        OleDbConnection DbCon = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Nimit\\ExcelApplication.xlsx;Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1;\"");

        DbAdap = new OleDbDataAdapter("SELECT * FROM [Sheet1$]",DbCon);
        dt = new DataTable();
        DbAdap.Fill(dt);
        return dt;
    }
}
Run Code Online (Sandbox Code Playgroud)

我只是在OleDbConnection中提供我的连接字符串.而已.