如何在Excel.net中将excel表导入sql数据库

时间:2014-06-14 17:00:06

标签: c# asp.net sql-server excel

我正在尝试从xls格式文件中保存sql数据库中的数据。我已经尝试了下面的代码,但它显示错误,外部表不是预期的格式。任何人都可以帮助我如何保存数据来自将xls格式文件导入数据库?

code:
 protected void Button1_Click(object sender, EventArgs e)
    {
        string sheet1 = "asdf";
        string path = MapPath("~/dataWorldcup/asdf.xls");
        OleDbConnection oconn1 = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;");
        OleDbCommand ocmd = new OleDbCommand("select * from [" + sheet1 + "$]", oconn1);
        SqlConnection sqlcon = new SqlConnection(ConfigurationManager.ConnectionStrings["consed"].ConnectionString);
        oconn1.Open();
        sqlcon.Open();
        OleDbDataReader odr = ocmd.ExecuteReader();
        SqlBulkCopy sqlBulk = new SqlBulkCopy(sqlcon);

        sqlBulk.DestinationTableName = "[Table]";
        sqlBulk.WriteToServer(odr);
        sqlcon.Close();
        oconn1.Close();
    }

错误: enter image description here

数据库表:

enter image description here

excel文件: - asdf.xls enter image description here

任何人都可以帮助我吗?这将是很好的帮助。

1 个答案:

答案 0 :(得分:0)

我最初的猜测是,您没有为您拥有的Excel工作表版本使用正确的连接字符串。这是我的猜测,因为除了尝试连接到工作表之外,你甚至没有做任何事情。

尝试搜索正确的连接字符串。

编辑:

试用Excel 8.0;而不是Excel 12.0?