现有:
工号 姓名 年龄 性别
001 张三  10   男
003 李四  11   女转换成以下的格式
     个人情况
统  工号  001  姓名  张三
计  年龄  10   性别  男      个人情况
统  工号  003  姓名  李四
计  年龄  11   性别  女记录有几百条,请问用什么来实现?最好举个例子阿!  不懂,着急中!!!





解决方案 »

  1.   

    要做报表的话,用存储过程就可以。到sql版问问。
      

  2.   

                SqlConnection mysqlconnection2 = new SqlConnection(str_DotConnection);
                mysqlconnection2.Open();
                
            string str_SQLtest="insert into YourTableName select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 8.0;HDR=YES;DATABASE=G:\\DotNetApp\\Excel2Sqlserver\\花名册.xls',sheet1$)";
            SqlCommand MySQLCommand = new SqlCommand(str_SQLtest, mysqlconnection2);
            MySQLCommand.ExecuteNonQuery();
    还有最好把根据你excel格式把数据库字段做好调整,可能你的数据库字段都要是vchar类型,并且还要足够大才行,否则会报各种错误的。
      

  3.   

    这个你要把excel 里面的数据读出来,然后按顺序存到数据库里面.就可以了,如EXCEL里面的字段是:姓名,年龄,姓别
    你要先把它们存放到一个数据里面,然后进行循环,分别对每个字段的数据进行读取,然后分别进行保存.(如:工号,然后进行EXCEL读取,取出所有工号,然后年龄,按工号进行对位存储就可以了)
    EXCEL读取方法
    OleDbConnection conn = new OleDbConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
                        string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+label5.Text.Trim()+";Extended Properties='Excel 8.0;IMEX=1'";
                        OleDbConnection olconn = new OleDbConnection(strConn);
                        OleDbDataAdapter oada = new OleDbDataAdapter("select * from [sheet1$]", olconn);
                        DataSet ds = new DataSet();
                        OleDbConnection oled = new OleDbConnection("provider=microsoft.jet.OLEDB.4.0;Data source=D:\\mysqlserver\\dgmk.mdb");
                        oled.Open();
                        try
                        {
                            oada.Fill(ds, "[sheet1$]");
                            OleDbCommand comm = new OleDbCommand("select * from 网吧名称", conn);
                            comm.CommandType = CommandType.StoredProcedure;
                            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                            {
                                if (ds.Tables[0].Rows[0]["结算金额(元)"].ToString() != " ")
                                {
                                    string o = comboBox1.Text.Trim() + "应收金额";
                                    OleDbCommand oleddata = new OleDbCommand("Update cattle Set " + o + "='" + ds.Tables[0].Rows[i]["结算金额(元)"].ToString() + "' where 网吧名称='" + ds.Tables[0].Rows[i]["网吧名称"].ToString() + "'", oled);
                                    oleddata.ExecuteNonQuery();
                                }
                            }
                            MessageBox.Show("导入完成");
                        }