是否有其他人遇到过相同的问题,当您从Excel文件导入数据到MSSQL Server 2005时,如果某列包含大部分数字数据,但即使将该列类型设置为varchar,向导也无法导入那些无法解析为数字的字段?
是否有其他人遇到过相同的问题,当您从Excel文件导入数据到MSSQL Server 2005时,如果某列包含大部分数字数据,但即使将该列类型设置为varchar,向导也无法导入那些无法解析为数字的字段?
尝试以下方法(注:这些说明基于Excel 2007):
按照以下步骤,可以强制Excel将列视为文本:
使用Excel打开电子表格。
通过单击列标头选择包含“大部分数字数据”的整个列。
单击功能区菜单上的数据选项卡。
选择“文本到列”选项。这将显示“文本转换向导”。
在第1步上:单击“下一步”。
在第2步上:单击“下一步”。
在第3步上:选择“文本”,然后单击“完成”。
保存Excel表格。
使用SQL Server 2005导入数据向导重试导入过程。
您需要编辑SSIS使用的连接字符串。将“IMEX=1;”(不带引号)添加到字符串末尾,这告诉SSIS/jet不要尝试找出数据类型,只需导入它们即可。
您可以尝试调整Jet设置以导入Excel数据。在进行给定的导入时,您可以强制Jet引擎对整个工作表进行采样,以确定列类型。更改以下注册表键(首先进行备份),然后查看是否有效:
HKLM\Software\Microsoft\Jet\4.0\Engines\Excel
HKLM\Software\Wow6432Node\Microsoft\Jet\4.0\Engines\Excel
在设置HDR之前添加IMEX=1对我有用。
这是最佳解决方案:
在功能区菜单上点击“文件”,然后点击“选项”。
点击“高级”,然后在“计算工作簿时”下选择“按显示设置精度”复选框,然后点击“确定”。
点击“确定”。
在工作表中选择要格式化的单元格。
在“开始”选项卡上,点击“数字”旁边的“对话框启动器”按钮图像。
在“类别”框中,点击“数字”。
在“小数位数”框中输入您想要显示的小数位数。