附上导入代码:
DataSet ds=new DataSet();
string strConn;
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source="+sFileName+";Extended Properties=\"Excel 8.0;HDR=Yes;"";
string strSQLCommand="SELECT * FROM [学生基本信息$]";

System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection(strConn);
System.Data.OleDb.OleDbDataAdapter myCommand = new System.Data.OleDb.OleDbDataAdapter(strSQLCommand, strConn);
myCommand.Fill(ds,"students");文件传到web服务器上,检查excel文件没有问题。但是一旦导入到ds中就发现数据丢失了。

解决方案 »

  1.   

    我试过在sql的查询分析器里,执行下面语句,获取的仍然是不完整的。select * from 
    OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
    ,'Excel 8.0;IMEX=1;HDR=YES;IMEX=1;DATABASE=e:\三小二年级104班-学生基本信息.xls'
    ,学生基本信息$) 学号信息仍然有部分为空。
    104001.0
    104002.0
    ..........
    104060.0
    NULL
    NULL
    NULL
    ..........还有通过这样的查询语句出来的字段列没有按照excel文件的列顺序排列。
    各位大哥,可以留下email或者联系方式,我把我的excel文件发给你们,帮我看看。
      

  2.   

    --参考
    private DataSet CreateDataSource()
            {
                string strConn;
                strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +
                    "Data Source=E:\\项目文件\\Pu1_Erp\\practice\\zhangzs.xls;"+
                    "Extended Properties=Excel 8.0;";
                OleDbConnection conn = new OleDbConnection(strConn);
                OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [sheet1$]", strConn);
                DataSet myDataSet = new DataSet();
                myCommand.Fill(myDataSet);
                return myDataSet;
            } 
    这样试下,我以前写在.net里的
      

  3.   

    zhangzs8896(小二),我的程序与你的程序差不多。这样解决不了该问题。
      

  4.   

    各位大哥,可以留下email或者联系方式,我把我的excel文件发给你们,帮我看看。
      

  5.   

    我直接用DTS把EXCEL导入SQL也有数据丢失的现象,EXCEL中都定义单元格为文本型,但导入后只有数字了,原含文本的单元格都为空。。也正在郁闷中。高手指点。
      

  6.   

    发我一份: [email protected]
    学习一下,我记得返回的这个DataSet没问题啊
      

  7.   

    zhangzs8896(小二) ,给你发了,请查收。目前已经初步找到原因,可能是类型不匹配原因。由于学号等字段的内容,均当作varchar类型处理,因此我将这些列的单元格都设置成文本类型。我是这样设置文本类型的:
    1。将鼠标移动到在需要设置文本类型的标题列,如A上,单击鼠标,选择整个列;
    2.然后点鼠标右键,在弹出的菜单上,点击“设置单元格格式”;
    3。在设置单元格格式中,“数字”tab上选择文本,数字当作文本处理;
    4。然后点击确定;由于需要先建立excel录入模板,放置在网上供用户下载,用户录入后再上传。因此需要首先为用户建立模板,不知道是不是录入模板的建立有问题?
    大家的excel录入模板一般是如何建的?
      

  8.   

    我也遇到了数据丢失。或者导入多个全为NULL的字段。奇怪ing。。
      

  9.   

    我也遇到过这个问题,郁闷了好久,没有解决,后面采用了一个间接的办法将xls转化为dbf再导入sql server
    搞定!