首页 | 案例中心 | 联系我们 | 诚聘英才
上海做网站_上海网站建设_上海网站制作_上海网站改版_波宇网络

专业打造企业网站 引领科技营销

定制网站 制作不同需求的功能网站

微信公众号
网站建设方案 建站策划知识 IT外包服务 网络工程服务 网站建设方案 建站策划知识 IT外包服务 网络工程服务
姓名: 联系方式: 留言:
编程技术
excel导入数据库sqlserver asp.net c#

日期:2013-02-16

作者:波宇网络

相信大家在写程序和网站的时候,经常会碰到客户提出需要用EXCEL导入数据库的功能,今天上海做网站的波宇网络,来教大家最基本的EXCEL导入数据库功能。

 

1.上传EXCEL文件,添加FileUpload控件,设置上传文件夹保存文件。

//获取上传文件名称
        string fname = FileUpload1.FileName;
        //获取上传文件夹实际路径
        string pt = Server.MapPath("/upexcel\\");

        //保存文件
        FileUpload1.SaveAs(pt + fname);

 

2.读取上传的EXCEL文件,写入DATASET

            //数据集ds
            DataSet ds = new DataSet();
        
            //获取excel全部数据  存入数据集
            string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + excelFile + ";" + "Extended Properties=Excel 8.0;";
            OleDbConnection conn = new OleDbConnection(strConn);
            conn.Open();
            string strExcel = "";
            OleDbDataAdapter myCommand = null;
            strExcel = string.Format("select * from [{0}$]", sheetName);
            myCommand = new OleDbDataAdapter(strExcel, strConn);
            myCommand.Fill(ds, sheetName);

 

3.根据DATASET创建SQLSERVER数据库表

            //根据excel中数据创建新表默认代码是每次导入删除旧表建立新表。 下面注释的是每次导入不重新删除建立新表的代码
            //string strSql = string.Format("if object_id('{0}') is null create table {0}(", sheetName); 
            string strSql = @"if object_id('" + sheetName1 + @"') is not null drop table " + sheetName1 + @"  create table " + sheetName1 + " (";
            foreach (System.Data.DataColumn c in ds.Tables[0].Columns)
            {
                strSql += string.Format("[{0}] varchar(50),", c.ColumnName);//在此我都以varchar(50)字段类型为类的,可根据自己的需求进行编写 

            }
            //strSql = strSql.Trim(',') + ")"; 
            strSql = strSql.Substring(0, strSql.LastIndexOf(',')) + ")";

            SqlConnection sqlconn = new SqlConnection(connectionString);

            sqlconn.Open();
            System.Data.SqlClient.SqlCommand command = sqlconn.CreateCommand();
            command.CommandText = strSql;
            command.ExecuteNonQuery();
            sqlconn.Close();

 

4.使用SQLSERVER BCP 把DATASET导入SQLSERVER数据库表中

//用bcp导入数据 
            SqlBulkCopy bcp = new SqlBulkCopy(connectionString);
            bcp.DestinationTableName = sheetName1;//目标表  
            bcp.WriteToServer(ds.Tables[0]);//复制表

好了一个简单的EXCEL导入SQLSERVER数据库就完成了!如果你需要上海网站建设记得一定要联系我们 www.pooyoo.net 波宇网络!

友情连接:
意墅中国 | 港澳台联考
电话:021-31396732 邮箱:lilijin@pooyoo.net 地址:上海市徐汇区华发路99弄 邮编:200231 网站版权所属:上海波宇网络科技有限公司 备案号:沪ICP备11000569号