Excel文件是从别的系统里导出来的,通过存储过程导入SQL。exec('insert into T_Certificate 
(Name,Sex,IDCard,Certificate,S1,S1Time,S2,S2Time,S3,S3Time) select 姓名,性别,身份证,准考证号,科目1,考试时间1,科目2,考试时间2,科目3,考试时间3 from OPENROWSET(''MICROSOFT.JET.OLEDB.4.0'',''Excel 8.0;HDR=YES;DATABASE=' + @ExcelFileName +''','+ @ExcelTableName +')')导入时提示列“考试时间3”不存在。几经测试后发现把Excel文件打开后点一下保存按钮,不用做任何更改,就可以导入了。有人知道这是什么原因吗?

解决方案 »

  1.   

    楼上的是在要分啦!
    楼主,你说是“Excel文件是从别的系统里导出来的”,看看前者系统保存上面是不是出了问题。
      

  2.   


    在导入导出向导做列映射的时候,发现Excel表格中没有最后那一列“考试时间3”,重新保存之后的文件里就有那一列了,看来是原文件的格式有问题。导出的那个系统不是我做的,就不知道为什么会产生这样的问题了。
      

  3.   

    有熟悉Excel的吗?Excel保存文件的时候会重新定义文件格式吗?
      

  4.   

    用记录本打开那个EXCEL文件,看看是不是真的是EXCEL格式。
      

  5.   

    确认excel文件是否是打开模式,即有多个打开该文件的程序使用?