如何将Excel数据转换为SQL插入?

如何将Excel数据转换为SQL插入?,sql,sql-server,excel,merge,Sql,Sql Server,Excel,Merge,我需要上传几千个地址到一个门户网站。我无权访问网站本身,必须使用以下插入声明: INSERT INTO Address (AddressTypeID, Address1,City, State, Zip, Phone, PersonName, DisplayName, IsDefault, StatusID, UserID) VALUES ('1', 'SQL Herro st', 'SLC', '42', '84087', '8015957258', 'Bruce Wayne', 'Bruc

我需要上传几千个地址到一个门户网站。我无权访问网站本身,必须使用以下插入声明:

INSERT INTO Address (AddressTypeID, Address1,City, State, Zip, Phone, PersonName, DisplayName, IsDefault, StatusID, UserID) 
VALUES ('1', 'SQL Herro st', 'SLC', '42', '84087', '8015957258', 'Bruce Wayne', 'Bruces address', 'False', '1', '3019')

我在Excel中有地址,但我真的不知道如何在导入数据时迭代此代码一千次。

根据您使用的服务器,您有不同的选项,但根据您当前的信息,您可以执行以下操作

  • 单击第一行中的第一个空列,即如果数据位于第2行,且所有列从a到k,则选择L2
  • 粘贴以下代码

    ="INSERT INTO Address (AddressTypeID, Address1,City, State, Zip, Phone, PersonName, DisplayName, IsDefault, StatusID, UserID) VALUES '"&A2&"', '"&B2&"', '"&C2&"', '"&D2&"', '"&E2&"', '"&F2&"', '"&G2&"', '"&H2&"', '"&I2&"', '"&J2&"', '"&K2&"'"
    
  • 检查查询是否正确,它是使用a2-k2中的字段计算的)

  • copy->paste special Value only to next column(复制->仅将特殊值粘贴到下一列),这样您就可以保留代码,但您可以选择sql查询工具中包含计算结果的所有行


  • SQL Server Management Studio将允许您从Excel文件导入数据。这实际上是创建一个临时SSIS包来运行导入

  • 右键单击要将数据导入的数据库
  • 检查列设置,确保所有数据类型都正确
  • 在菜单中选择“任务”,然后查找“导入数据”
  • 在数据源下拉列表中,您可以选择“Microsoft Excel”
  • 设置文件路径,然后单击“下一步”
  • 选择SQL本机客户端作为数据源,它应该默认为右键单击的服务器和数据库
  • 您可以导入到现有表或创建新表并配置映射
  • 运行该进程并检查是否有任何错误
  • 现在,有一些警告。要从Excel文件导入,需要安装
    Microsoft.ACE.OLEDB
    驱动程序。我在Excel中的数据类型转换和其他类似问题上也遇到过问题

    当我需要进行Excel导入时,我通常会将其转换为CSV,因为这要简单得多。将文档保存为Excel应用程序中的CSV即可。然后将上面的第一步更改为平面文件导入


    在进行任何导入时,最好仔细检查导入中的列设置。对于CSV文件,至少可以通过解析某些行来对数据类型进行导入猜测。这通常做得很好,但我经常需要清理一下。例如将浮点值更改为小数,并在字符串上设置更大的长度以避免任何截断错误。

    以下解决方案建立了到SQL server的连接,以发送T-SQL查询(例如插入查询)以供执行:在了解了更多有关SQL的信息后,对您提供的内容进行了一些调整。谢谢。你用的是什么服务器?你有什么管理工具?MS SQL server和MS SQL server Management Studio是我的主要工具,但我很确定我把所有东西都埋在某个地方了。ManagementStudio是我在Citrix上拥有的唯一工具,因此我通过它尽我所能。我没有ServerManagementStudio,但mysql的phpmyadmin有导入csv文件的选项(但这与您无关)。但是您可以查看以下链接以供将来参考:是的,截断错误可能是一个真正令人厌烦的问题。而且来自SSI的错误消息通常也不是很有用,尤其是在尝试导入大量数据时。所以,确保有足够的时间做这个练习!