在使用SQL Server时,经常会遇到要导出excel或导入excel的情况,而数据库和excel的一些区别,导致了导出导入出现问题。
一、 导出为excel文件时,选择2003版本的会有限制。
2003版的excel 最大支持的行数为65535行
对于这种情况,我采取的一个方法为
选择上面的选项,并输入SQL语句(Test数据库下存在test表,XXX表示通过一些条件,分割表的数据)
SELECT *
FROM Test.dbo.test
WHERE XXX
二、SQL Server数据库的数据类型与excel的数据类型不一致
在导出为excel文件时SQL Server数据库的数据类型与excel的数据类型不一致,从而导致导入excel时数据库的类型发生变化。
第一次导入数据库时没有关数据类型,按照上面的方法导入了八万来条数据,一看数据行数对上了,就没管。结果数据类型已经发生了转变。
一定注意这些警告,它会将你SQL Serever里面的数据类型按照它认为的最佳excel对应类型进行转换。最终很有可能导致你的导入excel的数据库数据类型对不上。
我的解决方法是:
第一步、在导入excel之前,请先在源数据库里面把你要导入的表结构复制到目标数据库。可以采用下面方式,快速完成
就可以得到创建表的SQL语句。然后在目标数据库上运行。
第二步、在目标数据库上导入excel,并点击编辑映射,查看是否正确的进行了数据库数据类型转换
选择上一步你创建的表
点击编辑映射,查看是否正确的进行了数据库数据类型转换。必要时,勾选启动标识插入,如果目标表中id字段是主键并且启用了标示符,则导入数据的时候必须选择“启用标识插入”,否则无法插入数据。