从Excel向导导入数据会自动检测数据类型

Mar*_*rek 10 sql sql-server excel sql-import-wizard

您好我正在尝试将数据从excel文件导入(xls)到新文件中,SQL table因此我用它Import and Export data 32/bit来实现.当我加载excel文件时,它会自动检测列的数据类型.例如,与电话号码列的数据类型新表float并在Excel是双(15)当我尝试改变float,以nvarchar

我明白了:

找到2个未知列类型转换您已选择跳过1个潜在的丢失列转换您选择跳过3个安全列转换(s)

我不允许继续出口.

有没有办法在尝试导入数据时更改数据类型?

感谢您的时间.

这些数据text在excel中的数据类型中设置来自excel中其中一列的样本数据:

5859031783

5851130582

8811014190
Run Code Online (Sandbox Code Playgroud)

这就是我得到的:

在此输入图像描述

M.A*_*Ali 19

在Excel工作表中选择"列",然后将数据类型更改为文本

在此输入图像描述

然后转到你的sql server打开导入导出向导并执行选择源数据和bla bla的所有步骤,当你到达时Mapping Column,它将Float默认选择数据类型,你将不得不将它改为NVARCHAR(N)我的测试我将它更改为NVARCHAR(400),它给了我一个警告,我可能会丢失一些数据,因为我正在将数据从1 datatyep转换为另一个.

在此输入图像描述

当您到达Data Type Mapping页面时,请确保选择转换复选框.并酌情停止失败的过程.

在此输入图像描述

经过所有这些步骤终于得到我的数据在目标表中与Warning我已经转换了一些数据n bla bla所有微软担心太多:)

在此输入图像描述

最后在Sql-Server表中的数据

????????????????????????????????????????????????????????????????
? Name  ?    City    ? Country ?     Phone      ? Float_Column ?
????????????????????????????????????????????????????????????????
? Shaun ? London     ? UK      ? 04454165161665 ?   5859031783 ?
? Mark  ? Newyork    ? USA     ? 16846814618165 ?   8811014190 ?
? Mike  ? Manchester ? UK      ? 04468151651651 ?   5851130582 ?
????????????????????????????????????????????????????????????????
Run Code Online (Sandbox Code Playgroud)