将数据从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中的数据,然后调用存储过程来插入数据。
我使用上面的时候我有很多行要导入,我想在数据库之外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实用程序的选项:
我的解决scheme是将.xlsx转换为.csv,然后使用此网站将.csv转换为.sql。 然后,我运行sql服务器中的sql文件,并生成我的表。
打开你的SQL服务器接口软件,将date字段添加到表中。
转到excel,添加date列,复制excel数据。
转到您的SQL服务器接口软件,并使用该function从剪贴板导入数据。 (具有此function的SQL服务器接口软件是Database4.net,但是如果您有另一个具有该function的软件包,请使用该软件。)
或者使用带有DOA或ADO的VBA与SQL服务器数据库进行交互,并使用SQL语句添加字段并将数据复制到表中