不过,我可以在Excel中看到数据,但是所有的数据都不会导入.
我有一个包含一个电子表格的excel工作簿.我可以看到列中的数据,一切都看起来不错.当我使用导入向导导入数据时,我可以看到列和预览数据,但是在执行导入时数据并不全部被转移.没有错误,导入过程完成 – 它只是在表中插入一堆空值.
它似乎最多的是数字 – 所以让我们说,我有三列的名字,姓氏和身份证号码.我会得到所有的名字和名字,以及一些ID号码.我找不到发生什么的模式.
我曾经发生过一次,我注意到在导入过程中有两个电子表格可供选择:DataImport和DataImport $ – 第一个将如上所述失败,第二个将会完美导入.这次只能选一个电子表格.
我主要在64位系统上使用XLS文档和32位导入向导,但我愿意尝试任何东西.
有什么想法,为什么有两个电子表格(有时),为什么这种导入会失败?
戴夫
解决方法
我刚遇到同样的问题.我有一个列包含两种类型的值:数字和数字与破折号. (例如51000和2009-00949)我需要将它们导入为NVARCHAR或VARCHAR,但是sql导入向导(sql2005)只会导入数字,而不是使用破折号或数字的数字,而不是数字,取决于第一条记录中的哪一种.未导入的值在该字段中将具有“null”值,从而使我的记录无效.
我尝试使用Excel(数字,文本,常规等)中的格式|单元格菜单选项和sql(nvar,nvarchar,varchar,sqlvariant,float)中的各种映射选项,而不成功.
解决方案是在Excel中使用“数据|文本到列”选项,而不是单元格格式化选项将数值存储为文本.当我在列上使用它时,转换为存储为文本值的数字(小的绿色三角形错误出现在左上角)的数值(例如51000)),破折号的数字保持为文本.我不得不以这种格式离开数据,带有一点绿色的三角形错误,否则不会成功导入sql.当列中的数据以此格式存储时,两种类型的列数据(数字和数字与破折号)与其他记录数据正确导入,列中没有空值.