首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • excel转换问题 [已结贴,结贴人:wang_jf411]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-11 16:22:14 楼主
    现有:
    工号 姓名 年龄 性别
    001 张三  10  男
    003 李四  11  女

    转换成以下的格式
        个人情况
    统  工号  001  姓名  张三
    计  年龄  10  性别  男

        个人情况
    统  工号  003  姓名  李四
    计  年龄  11  性别  女

    记录有几百条,请问用什么来实现?最好举个例子阿!  不懂,着急中!!!





    40  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • sdyqingdao
    • 等级:
    发表于:2008-04-13 07:49:011楼 得分:13
    要做报表的话,用存储过程就可以。到sql版问问。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-13 09:25:332楼 得分:13
                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类型,并且还要足够大才行,否则会报各种错误的。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-13 10:13:373楼 得分:14
    这个你要把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("导入完成");
                        }
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved