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

时间:2017-01-31 00:13:25

标签: sql sql-server excel merge

我需要将几千个地址上传到门户网站。我无法访问该站点本身,必须使用以下INSERT语句:

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 个答案:

答案 0 :(得分:2)

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

  1. 点击第一行中的第一个空列,即如果数据在第2行,所有列从a到k,则选择L2
  2. 粘贴以下代码

    ="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&"'"
    
  3. 检查查询是否正确,使用a2-k2中的字段计算

  4. copy - >仅将特殊值粘贴到下一列,因此您保留代码,但是您可以选择具有计算结果的所有行到您的SQL查询工具

  5. enter image description here

答案 1 :(得分:1)

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

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

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

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