我有一张非常简单的Excel表格:
我想将这些数据放入SQL Server中的表中。我还想添加一个包含日期的字段。
这样做的最佳方式是什么?
答案 0 :(得分:10)
在SQL Server中创建一个表,其中包含与电子表格中相同的字段数。
在SQL Server Management Studio对象资源管理器中,您可以右键单击您创建的表,然后选择“编辑前200行”。在Excel中突出显示要复制的数据,然后右键单击 - >复制。右键单击SSMS编辑tabe widow中第一行左侧的空格并粘贴。
导入后检查SQL表以确保它与电子表格具有相同的行数。
执行数据导入后,可以将日期列添加到SQL表中。或者在导入之前将其添加到电子表格中。
答案 1 :(得分:6)
您可以先在SQL Server中使用添加的字段创建表,然后使用Mangement Studio中的导入向导导入Excel文件。或者您在导入任务期间创建表,稍后再添加新字段。
答案 2 :(得分:2)
选项1:
读取IDataReader中的数据,然后调用存储过程以插入数据。
当我要导入~~很多行时,我会使用上面的内容,我想在数据库之外验证它们。
选项2:
http://support.microsoft.com/kb/321686
或搜索:
Select FROM OPENDATASOURCE Excel
选项N:
还有其他选择。
这取决于你喜欢什么,你想要投入多少时间,它是“一次性”还是你必须每天为333个文件做。
答案 3 :(得分:1)
我的解决方案是将.xlsx转换为.csv,然后使用this site将.csv转换为.sql。然后我在sql server中运行了sql文件并生成了我的表。
答案 4 :(得分:0)
也可以通过创建批处理文件来完成。
为此,您需要在服务器上创建一个与excel中具有相同数据结构的表。
现在使用BCP,您可以从excel文件中导入该数据并将其插入到sql表中。
BCP效用函数
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实用程序的更多选项,请参阅以下链接:
答案 5 :(得分:-2)
打开SQL Server界面软件,将日期字段添加到表中。
转到Excel,添加日期列,复制Excel数据。
转到SQL Server界面软件并使用该功能从剪贴板导入数据。 (具有此功能的SQL服务器接口软件是例如Database4.net,但如果您有另一个具有该功能的软件包,则使用该软件包。)
或者使用带有DOA或ADO的VBA与SQL Server数据库交互,并使用SQL语句添加字段并将数据复制到表中