<div>
        <asp:FileUpload ID="File1" runat="server" />
        <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="Button" />
        <asp:GridView ID="DataGrid1" runat="server">
            <RowStyle CssClass="sectiontableentry2" />
            <AlternatingRowStyle CssClass="sectiontableentry1" />
        </asp:GridView>
    </div>protected void Button2_Click(object sender, EventArgs e)
    {
        string strConn = @"Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source =" + File1.PostedFile.FileName.ToString() + ";" + "Extended Properties=Excel 8.0;";
        //建立EXCEL的连接
        //string strConn = "Microsoft.Jet.OLEDB.4.0; Data Source= C:/Book1.xls; Extended Properties='Excel 8.0; HDR=YES; IMEX=1';";
        //string strConn = "Microsoft.ACE.OLEDB.12.0; Data Source= C:/Book1.xlsx; Extended Properties='Excel 12.0; HDR=YES; IMEX=1'";
        //OleDbConnection objConn = new OleDbConnection(strConn);
        //objConn.Open();
        //string sql = "select * from [Sheet1$]";
        //OleDbDataAdapter da = new OleDbDataAdapter(sql, objConn);        OleDbConnection objConn = new OleDbConnection(strConn);
        objConn.Open();
        OleDbDataAdapter da = new OleDbDataAdapter("select * from [Sheet1$]", objConn); 
        DataTable dt = new DataTable(); 
        da.Fill(dt); 
        DataGrid1.DataSource = dt;
        DataGrid1.DataBind();
    }
“/WebUI”应用程序中的服务器错误。
--------------------------------------------------------------------------------Microsoft Jet 数据库引擎找不到对象'Sheet1$'。请确定对象是否存在,并正确地写出它的名称和路径。 
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: Microsoft Jet 数据库引擎找不到对象'Sheet1$'。请确定对象是否存在,并正确地写出它的名称和路径。源错误: 
行 32:         OleDbDataAdapter da = new OleDbDataAdapter("select * from [Sheet1$]", objConn); 
行 33:         DataTable dt = new DataTable(); 
行 34:         da.Fill(dt); 
行 35:         DataGrid1.DataSource = dt;
行 36:         DataGrid1.DataBind();
 
ExcelASP.NET

解决方案 »

  1.   

    要先上传到服务器啊,你uploadfile控件的name取了也没用,要先上传到服务器,取服务器的文件地址
      

  2.   

    protected void Button2_Click(object sender, EventArgs e)
        {
            //将文件上传到服务器
            string strdirPath = AppDomain.CurrentDomain.BaseDirectory + "\\upload";            if (!System.IO.Directory.Exists(strdirPath))
                {
                    System.IO.Directory.CreateDirectory(strdirPath);
                }            string strfilename = strdirPath + "\\" + Guid.NewGuid().ToString("N") + ".xls";        File1.SaveAs(strfilename);        string strConn = @"Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source =" + strfilepath + ";" + "Extended Properties=Excel 8.0;";
            //建立EXCEL的连接
            //string strConn = "Microsoft.Jet.OLEDB.4.0; Data Source= C:/Book1.xls; Extended Properties='Excel 8.0; HDR=YES; IMEX=1';";
            //string strConn = "Microsoft.ACE.OLEDB.12.0; Data Source= C:/Book1.xlsx; Extended Properties='Excel 12.0; HDR=YES; IMEX=1'";
            //OleDbConnection objConn = new OleDbConnection(strConn);
            //objConn.Open();
            //string sql = "select * from [Sheet1$]";
            //OleDbDataAdapter da = new OleDbDataAdapter(sql, objConn);
     
            OleDbConnection objConn = new OleDbConnection(strConn);
            objConn.Open();
            OleDbDataAdapter da = new OleDbDataAdapter("select * from [Sheet1$]", objConn); 
            DataTable dt = new DataTable(); 
            da.Fill(dt); 
            DataGrid1.DataSource = dt;
            DataGrid1.DataBind();        try
                    {
                        //删除上传的文件
                        System.IO.File.Delete(strfilename); 
                    }
                    catch
                    {
                    }
        }