asp.net通过excel批量导入

来源:互联网 发布:淘宝新款有送流量的吗 编辑:程序博客网 时间:2024/06/05 09:36

excel通过c#导入数据库,其基本就是将excel数据读取到dataset中,然后可以对dataset进行修改在导入数据库中,当然如果是直接存入sql server中可以用sql代码直接存入数据,方法很多自己百度吧,在这里只介绍如何转成dataset处理后再存入数据库(数据库任意)

       C#代码连接excel

//建立与Excel的连接

            OleDbConnection objConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + excel的路径 +";" + "Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'");

//打开连接

            objConn.Open();

//注意后面的符号“

       判断是否是excel

             string IsXls = System.IO.Path.GetExtension(路径).ToString().ToLower();//System.IO.Path.GetExtension获得文件的扩展名

                if (IsXls != ".xls"//

                {

                    Ext.Msg.Show(new MessageBox.Config

                    {

                        Title = "消息",

                        Message = "只可选择选择excel文件",

                        Icon = MessageBox.Icon.INFO,

                        Buttons = MessageBox.Button.OK

                    });

                    return;//当选择的不是Excel文件时,返回

                }

                Else{}

案例代码:

public static DataSet ds;

 

        //将excel中的数据导入gridview中

        public void ReadExcel(string sExcelFile, Store s)

        {

            ds = new DataSet();

            //建立与Excel的连接

            OleDbConnection objConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sExcelFile +";" + "Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'");

//打开连接

            objConn.Open();

//将数据放入datatable

            DataTable schemaTable = objConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables,null);

            //读取数据

            //读取excel内的第一行第二列

            //读取格式也可以是Rows[i]["登录号"].ToString().Trim()

            string tableName = schemaTable.Rows[0][2].ToString().Trim();

 

            string strSql = "select * from [" + tableName + "]";

            OleDbCommand objCmd = new OleDbCommand(strSql, objConn);

            OleDbDataAdapter myData = new OleDbDataAdapter(strSql, objConn);

            //将数据导入dataset中,导入dataset中的数据就可以随意处理了

myData.Fill(ds, tableName);

            objConn.Close();

            //读取dataset中某表有多少条数据

            //ds.Tables[0].Rows.Count;

            //读取dataset中的数据

//ds.Tables[0].Rows[i]["学生姓名"].ToString().Trim();

            //加上循环,就可以将数据导入数据库了

        }

 

原创粉丝点击