【问题标题】:how to import excel sheet into sql database in asp.net [duplicate]如何在asp.net中将excel表导入sql数据库[重复]
【发布时间】:2014-06-14 17:00:06
【问题描述】:

我正在尝试将数据从 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();
    }

错误:

数据库表:

excel 文件:- asdf.xls

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

【问题讨论】:

  • 有趣的问题,如果我的回答对你有帮助,请告诉我。谢谢
  • 说真的,这根本不是一个重复的问题。您作为重复答案给出的正确答案甚至没有给出确切的答案。看看cmets。这个问题的答案可能与连接字符串有关,但很可能它们的连接字符串已经正确(检查问题!)。该问题似乎与 excel 中的范围和 sql 表之间的架构不匹配有关。大小和架构应该完全匹配,否则你会遇到异常。

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


【解决方案1】:

我最初的猜测是您没有为您拥有的 Excel 工作表版本使用正确的连接字符串。这是我的猜测,因为除了尝试连接到工作表之外,发生错误时您甚至什么都不做。

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

编辑:

试试 Excel 8.0;而不是 Excel 12.0?

【讨论】:

  • 既然是xls,我认为你的编辑是正确的。
猜你喜欢
  • 1970-01-01
  • 2010-10-04
  • 2020-02-27
  • 2011-04-13
  • 2011-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多