Sql 从Excel导入数据向导会自动检测数据类型
您好,我正在尝试将数据从excel文件Sql 从Excel导入数据向导会自动检测数据类型,sql,sql-server,excel,sql-import-wizard,Sql,Sql Server,Excel,Sql Import Wizard,您好,我正在尝试将数据从excel文件(xls)导入到新的SQL表,因此我使用导入和导出数据32位。当我加载excel文件时,它会自动检测列的数据类型。e、 g.当我尝试将float更改为nvarchar 我明白了: 找到2个未知的列类型转换 您已选择跳过1个可能丢失的列转换 您已选择跳过3个安全列转换 我不允许继续出口 在尝试导入数据类型时,是否有任何方法可以更改这些数据类型 谢谢你抽出时间 这些数据在excel中设置为text数据类型 excel中某列的示例数据: 5859031783 5
(xls)
导入到新的SQL表
,因此我使用导入和导出数据32位
。当我加载excel文件时,它会自动检测列的数据类型。e、 g.当我尝试将float
更改为nvarchar
我明白了:
找到2个未知的列类型转换
您已选择跳过1个可能丢失的列转换
您已选择跳过3个安全列转换
我不允许继续出口
在尝试导入数据类型时,是否有任何方法可以更改这些数据类型
谢谢你抽出时间
这些数据在excel中设置为text
数据类型
excel中某列的示例数据:
5859031783
5851130582
8811014190
这就是我得到的:
选择Excel工作表中的列,并将数据类型更改为文本 然后转到您的sql server open import-export向导,执行选择源数据和bla-bla的所有步骤当您到达
映射列
时,它将选择浮点
数据类型默认情况下,您必须将其更改为NVARCHAR(N)
在我的测试中,我将其更改为NVARCHAR(400),它给了我一个警告,当我将数据从一个datatyep转换到另一个datatyep时,可能会丢失一些数据
当您进入数据类型映射
页面时,请确保选中转换复选框。并在适当情况下停止故障过程
经过所有这些步骤,最终在目标表中获得了我的数据,并显示了相同的警告
,即我已将一些数据转换为bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla,因为microsoft担心太多:)
Sql Server表中的最终数据
╔═══════╦════════════╦═════════╦════════════════╦══════════════╗
║ Name ║ City ║ Country ║ Phone ║ Float_Column ║
╠═══════╬════════════╬═════════╬════════════════╬══════════════╣
║ Shaun ║ London ║ UK ║ 04454165161665 ║ 5859031783 ║
║ Mark ║ Newyork ║ USA ║ 16846814618165 ║ 8811014190 ║
║ Mike ║ Manchester ║ UK ║ 04468151651651 ║ 5851130582 ║
╚═══════╩════════════╩═════════╩════════════════╩══════════════╝
我非常不喜欢SQL Server导入/导出向导
不是直接的回答,但我发现,按照向导的最佳猜测进行操作,然后在SQL Server中修复表规范,就不那么令人沮丧了。Excel工作表中该列的数据类型在导出之前,请尝试将其设置为
Text
。@M.Ali我尝试过,但仍然遇到同样的问题。您能显示一些示例数据吗?@M.Ali我更新了我的数据问题。问题是,它会自动将这些数字格式化为浮点数,以便将其格式化,例如,3.35E+03
@M.Ali我尝试使用exceltext
中的float
数据类型运行它,得到了与excel中相同的值。现在一切都好了!非常感谢。