我把excel里的数据显示到datagridview,然后在datagridview中又进行修改,最后存入数据库,各位帮忙啊,怎么实现啊,求详细代码

解决方案 »

  1.   

    你应该是先读取到excel的数据,是一行一列的读的,然后多列拼成一行,每一行都add到datatable里面,最后你要怎么修改就修改完了后整个datatable数据插入到数据库,或者是你读一条就插一条
      

  2.   

    我能把数据显示到datagridview里了,是之后的操作不会,之后要在datagridview里进行修改值,改后在把datagridview的数据都存到数据库里,这怎么弄啊
      

  3.   

    EXCEL读到控件没做过,不过到控件里面修改后保存到数据库库很好办了,都一样的,本论坛就有很多人问答,搜索一下。
      

  4.   

    博客园:http://www.cnblogs.com/yang-csharp/
      

  5.   


            /// <summary>
            /// 导入Execl文件
            /// </summary>
            /// <returns>返回DataSet</returns>
            public static DataSet ReadExecl()
            {
                OpenFileDialog fd = new OpenFileDialog();
                fd.Filter = "xls文件(*.xls)|*.xls";
                fd.FileName = "ProductsSample";
                DataSet ds = new DataSet();
                if (fd.ShowDialog() == DialogResult.OK)
                {
                    string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + fd.FileName + ";" + "Extended Properties=Excel 8.0;";
                    OleDbConnection conn = new OleDbConnection(strConn);
                    conn.Open();
                    string strExcel = "";
                    OleDbDataAdapter myCommand = null;
                    strExcel = string.Format("select * from [{0}$]", "Sheet"); //Sheet为excel中工作薄
                    myCommand = new OleDbDataAdapter(strExcel, strConn);
                    myCommand.Fill(ds, "Sheet");
                    myCommand.Dispose();
                    conn.Close();
                }
                return ds;  
            }既然返回了ds,那就看你自己怎么操作ds修改成你想要的数据,然后逐一保存到数据库
      

  6.   

    谢谢各位,我现在用的就是6楼的方法导入,可是现在有个问题是excel表里要导入的列不是固定的有两种样式,假如1.xls里有a,b,c三列,2.xls里有d,e,f,g,我希望这两个表都可以导入数据库,在我导入数据库之前会先显示到datagridview上了,在显示到datagridview上的时候我希望显示的是a,b,c,d,e,f,g这种情况,然后再导入数据库,数据库里这几个字段都有的,这要怎么写呢
      

  7.   

    我的意思不知道表达清楚没,现在主要是想在显示到控件上的时候能够根据获得的excel里的列来判断是不是有其他的列名,如果没有就要加上然后这些列一起显示在控件上,如果excel里有a,b,c,d,但是没有d,e,所有想添加上de,显示abcde,急求啊