Excel数据使用C#到新的SQL Server表 - 没有创建新表?

时间:2013-09-16 11:03:42

标签: c# sql-server tsql sqlbulkcopy

我正在尝试将Excel中的数据复制到SQL Server中的新表格中。

我正在使用的SQL代码在服务器管理器中工作,将数据复制到新创建的表和&似乎在这里工作,除了新表没有出现在我的数据库中并再次运行代码似乎产生"Table already exists"错误。

关于我做错了什么的任何想法?

代码如下:

 try
        {
            string sqlConnectionString = string.Format("Data Source=XXXX\\SQLEXPRESS;Initial Catalog=DbName;" + "Integrated Security=SSPI; User Instance=False");
            string excelConnectionString = string.Format("provider=Microsoft.ACE.OLEDB.12.0;Data Source =C:\\user\\ExcelFileName.xlsx; Extended Properties ='Excel 12.0 xml; HDR=YES;IMEX=1'");
            using (SqlConnection SQLconnection =
                new SqlConnection(sqlConnectionString))
            using (OleDbConnection connection =
                new OleDbConnection(excelConnectionString))
            {
                OleDbCommand command = new OleDbCommand
                ("SELECT * INTO dbo.newTable FROM [SheetName$];", connection);

                connection.Open();
                using (OleDbDataReader dr = command.ExecuteReader())

                using (SqlBulkCopy bulkcopy =
                    new SqlBulkCopy(SQLconnection))
                {
                    bulkcopy.DestinationTableName = "dbo.newTable";
                    bulkcopy.WriteToServer(dr);
                    Console.WriteLine("The data has been exported from Excel to SQL.");
                    Console.ReadLine();
                }
                connection.Close();
            }
        }

        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
            Console.ReadLine();
        }

1 个答案:

答案 0 :(得分:0)

您认为在将Excel数据插入数据表之前,您没有检查表名。你可以浏览下面的代码。

delete