关于用C#实现Excel导入到数据库中解决办法

关于用C#实现Excel导入到数据库中
code=csharp]
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;

public partial class pd_ribao : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
    }
    private DataSet CreateDataSource()
    {
        string strCon;
        strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("excel.xls") + "; Extended Properties=Excel 8.0;";
        OleDbConnection olecon = new OleDbConnection(strCon);
        OleDbDataAdapter myda = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", strCon);
        DataSet myds = new DataSet();
        myda.Fill(myds);
        return myds;

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        GridView1.DataSource = CreateDataSource();
        GridView1.DataBind();
    }
}
[/code]
以上代码 怎么进行跟自己数据库绑定呢?  然后导入到数据中   Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("excel.xls") + "; Extended Properties=Excel 8.0;";中红色部分是什么意思?  求大神指导
------解决方案--------------------
所谓EXCEL导入数据库,其实是分为2步的
1.先把EXCEL的内容读取出来,放到一个数据集里
2.把数据集里的数据插入到数据库中

这两点研究明白了,你想怎么导,就怎么导
------解决方案--------------------
/// <summary>
/// 读取excel数据
/// </summary>
/// <param name="filename">文件路径 例如:C:\excel\test.xls</param>
/// <param name="worksheetname">工作簿名称 例如:[Sheet1$]</param>
/// <returns></returns>
public static System.Data.DataTable LoadExcelToDataTable(string filename, string worksheetname)
{
    System.Data.DataTable table;
    try
    {
        //连接字符串
        String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + filename + ";" + "Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\"";
        OleDbConnection myConn = new OleDbConnection(sConnectionString);
        string strCom = " SELECT * FROM [" + worksheetname + "]";
        myConn.Open();
        OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn);
        table = new System.Data.DataTable();
        myCommand.Fill(table);
        myConn.Close();
        return table;
    }
    catch (Exception ex)
    {
        return null;
    }
}
传参数,执行上面的语句,返回table。剩下的就是将table内容插入数据库了,比如做个for循环,把table的每一条都拼成一条sql语句,并执行sql语句。
DataTable table = LoadExcelToDataTable("文件路径 例如:C:\excel\test.xls", "工作簿名称 例如:[Sheet1$]");
for (int i = 0; i < table.Rows.Count; i++)
{
    string strSQL = "insert into [表名] (列名1,列名2,列名3) values('" + table.Rows[i][0].ToString() + "','" + table.Rows[i][1].ToString() + "','" + table.Rows[i][2].ToString() + "')";
    SqlConnection conn = new SqlConnection("此处用你的链接字符串");
    conn.Open();
    SqlCommand comm = new SqlCommand();
    comm.Connection = conn;
    comm.CommandText = strSQL;
    comm.ExecuteNonQuery();
    conn.Close();
}

基本就这么个思路吧,随便写写,未经测试,不喜勿拍。

一楼说的对,这种方式得有office的数据连接组件,否则容易报出异常,例如报出如下提示
异常详细信息: System.InvalidOperationException: 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序。