请问怎么把Excel文件里的数据导入到GridView里

解决方案 »

  1.   

    可以把它当做表一样读取。string connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + physicPath + fileName +";Extended Properties=Excel 8.0;";            OleDbConnection objConn = new OleDbConnection(connString);
                OleDbCommand objCmd = new OleDbCommand();
                objCmd.Connection = objConn;
                objConn.Open();
    然后打开你要查询的sheet就可以了
      

  2.   

    oledb连接数据源就可以了
      

  3.   

    我是想用FileUpload控件,让用户随意选择一个Excel,然后显示在GridView.
      

  4.   

    把sheet存在DataTable里面,再绑到GridView
    参考http://blog.csdn.net/crabo/archive/2005/12/08/547149.aspx
      

  5.   

    ldarmy 
    ==============
    按照你那篇文章,提示找不到sheet1$
      

  6.   

    sheet1$
    注意你Excel表中左下角的表名是啥~一般默认为sheet1$~
    如果改过那就得换下了~
      

  7.   

    不能用sql吗? 只能用oledb?
      

  8.   

     string ExcelName= Request.QueryString["Type"];
                    string Sheet = Request.QueryString["Sheet"];                DataSet dsExcel = new DataSet();
                    string MyConnectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @System.Web.HttpContext.Current.Server.MapPath("ExcelTemp") + @"\" + ExcelName+ ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1'";
                    string MySQL = "SELECT * FROM [" + Sheet + "$]";
                    OleDbConnection myconn = new OleDbConnection(MyConnectionstring);
                    myconn.Open();
                    OleDbDataAdapter adp = new OleDbDataAdapter(MySQL, myconn);
                    adp.Fill(dsExcel, "ExcelTemp");
                    myconn.Close();然后把dsExcel 绑定到GridView
      

  9.   

    xh831213 
    =====================
    string   ExcelName=   Request.QueryString[ "Type "]; 
    string   Sheet   =   Request.QueryString[ "Sheet "]; 
    这两句有什么用啊?解释一下,我想从FileUpload控件中取到这个Excel的名称,应该怎么做呢?
      

  10.   

    string       ExcelName=       Request.QueryString[   "Type   "];   
    string       Sheet       =       Request.QueryString[   "Sheet   "];   
    这是我原来代码中的应用,呵呵忘改了
    你直接这么写
            private static DataSet NewMethod(string ExcelName, string Sheet)
            {
                DataSet dsExcel = new DataSet();
                string MyConnectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @System.Web.HttpContext.Current.Server.MapPath("ExcelTemp") + @"\" + ExcelName+ ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1'";
                string MySQL = "SELECT * FROM [" + Sheet + "$]";
                OleDbConnection myconn = new OleDbConnection(MyConnectionstring);
                myconn.Open();
                OleDbDataAdapter adp = new OleDbDataAdapter(MySQL, myconn);
                adp.Fill(dsExcel, "ExcelTemp");
                myconn.Close();
                return dsExcel;
            }
    就好了
      

  11.   

    NewMethod(FileUpload1.FileName,"Sheet1")
      

  12.   

    都是业余的写法!要考虑很多的!Excel中的格式问题!比如:excel中有单元格合并,有部分单元格添加了链接等,这都是要考虑的!