将数据从Excel移动到SQL Server表

我有一个非常简单的Excel表:

在这里输入图像描述

我想把这些数据放到SQL Server的表中。 我也想添加一个包含date的字段。

做这个的最好方式是什么?

在SQL服务器中使用您在电子表格中具有的相同数量的字段创build一个表。

在SQL Server Management Studio对象资源pipe理器中,您可以右键单击您创build的表,然后select“编辑最高200行”。 突出显示要在Excel中复制的数据,然后右键单击 – >复制。 右键单击SSMS编辑选项卡窗口中第一行左侧的空格并粘贴。

导入之后,请检查SQL表以确保它具有与电子表格相同的行数。

执行数据导入后,可以将date列添加到SQL表中。 或者在导入之前将其添加到电子表格中。

您可以先使用添加的字段在SQL Server中创build表,然后使用Mangement Studio中的导入向导导入Excel文件。 或者在导入任务中创build表格,稍后再添加新的字段。

选项1:

读取IDataReader中的数据,然后调用存储过程来插入数据。

http://granadacoder.wordpress.com/2009/01/27/bulk-insert-example-using-an-idatareader-to-strong-dataset-to-sql-server-xml/

我使用上面的时候我有很多行要导入,我想在数据库之外validation它们。

选项2:

http://support.microsoft.com/kb/321686

或search:

 Select FROM OPENDATASOURCE Excel 

选项N:

那里还有其他的select。

这取决于你喜欢什么,你想投入多less时间,这是一个“一个”,或者你必须每天处理333个文件。

它也可以通过创build一个batch file来完成。

为此,您已经需要在服务器上创build一个与您在Excel中具有相同数据结构的表。

现在使用BCP,您可以从Excel文件导入数据并将其插入到sql表中。

BCP实用function

 sqlcmd -S IP -d databasename -U username -P passwd -Q "SQL query mostly it should be truncate query to truncate the created table" bcp databasename.dbo.tablename in "Excel file path from where you need to input the data" -c -t, -S Server_IP -U Username -P passwd -b provide batch size 

您可以参考下面的链接以获取更多有关bcp实用程序的选项:

https://msdn.microsoft.com/en-IN/library/ms162802.aspx

我的解决scheme是将.xlsx转换为.csv,然后使用此网站将.csv转换为.sql。 然后,我运行sql服务器中的sql文件,并生成我的表。

打开你的SQL服务器接口软件,将date字段添加到表中。

转到excel,添加date列,复制excel数据。

转到您的SQL服务器接口软件,并使用该function从剪贴板导入数据。 (具有此function的SQL服务器接口软件是Database4.net,但是如果您有另一个具有该function的软件包,请使用该软件。)


或者使用带有DOA或ADO的VBA与SQL服务器数据库进行交互,并使用SQL语句添加字段并将数据复制到表中