有一个EXCEL文件,其中有三个数值例 单价1,单价2,数量,这三列中单价1和单价2只有一部分有数据,数量一列均有数据;导入到SQL2000数据库后,这三个列的数据与EXCEL源中不一致,,有的被置为NULL,有的数据又是准的,有的甚至改变了数据..为什么呢?试过三种方式:
1:利用导入导出工具;
2:ADO编程写入数据库;
3:insert into sheet4(货品编码,型号,封装,批号,品牌,单价1,单价2,数量,备注) 
select 货品编码,型号,封装,批号,品牌,单价1,单价2,数量,备注 from 
openrowset('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;database=F:\A.xls;HDR=Yes;IMEX=1', sheet1$)都不准....请哪位高人指导一下....

解决方案 »

  1.   

    --类似如下,显示指定下数据类型.
    insert into sheet4(货品编码,型号,封装,批号,品牌,单价1,单价2,数量,备注) 
    select 货品编码,型号,封装,批号,品牌,单价1,单价2=cast(单价2 as money),数量,备注 from 
    openrowset('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;database=F:\A.xls;HDR=Yes;IMEX=1', sheet1$)
      

  2.   

    上述方法试过.问题依旧...百思不得其解....这个EXCEL文件有45000行,,7M之大,,,其中14500行有单价信息,,但导入数据库之后,只有4570行有单价,,,用导入工具时,会自动产生一个名为F10的列...请高手继续支招....
      

  3.   

    原来是数据格式的问题,,把EXCEL另存为TXT之后,再导入数据库就没问题了.