请问你是实现在服务器读取客户端指定的EXCEL文件吧?

解决方案 »

  1.   

    string path = File1.PostedFile.FileName;
    Response.Write(path);
    //string path = Server.MapPath(Path.GetFileName(File1.PostedFile.FileName));
    string mystring="Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = '"+ path +"';Extended Properties=Excel 8.0";
    OleDbConnection mycnn=new OleDbConnection(mystring);
    string mysql ="select * from [mywork$]";
    mycnn.Open();
    OleDbDataAdapter myDataAdapter=new OleDbDataAdapter (mysql,mycnn);
    DataSet myDataSet =new DataSet();
    myDataAdapter.Fill(myDataSet,"aa");
    mycnn.Close();
    我这个有一个问题就是在客户端指定一个EXCEL时,提示数据引擎打不开这个文件,请指教!
      

  2.   

    你这个也是在客户端指定的EXCEL吗?服务器端需要设计什么吗?我这个程序可以在本地正常运行,提出的数据也能正常读取,但我把程序放在服务器上就提示“数据引擎打不开这个文件”,不知如何解决?
      

  3.   

    Excel单元格的数据类型设置的问题
      

  4.   

    在读入EXCEL文件之前,最好是去掉所有的格式
    我已经遇到过N次了.
      

  5.   

    这个问题我已经解决了,现把解决的办法公布出来
    最开始是钻进了牛角尖,一直在想在Excel文件上传以后再通过程序改变里面的数据
    努力了半天一直未能成功后来一想,说不定在上传的时候就可以控制的
    为什么不在上传的时候想想办法呢?就赶快在网上查了一些资料
    最后终于让我找到了,这里要感谢【思归MVP大侠】的提醒
    把Excel链接的属性改一下就可以了
    就是下面这句话
    string mystring="Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = '"+ path +"';Extended Properties=Excel 8.0";
    改为
    string strConn= "Provider=Microsoft.Jet.OleDb.4.0;" + "data source="+Path+ ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'";
    后面多了两个参数
    HDR=Yes;IMEX=1,而且这里Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'必须要用引号
    这两个参数的意思是
    HDR=Yes;" indicates that the first row contains columnnames, not data
    "IMEX=1;" tells the driver to always read "intermixed" data columns as textto  snowman163254(雪人)
    你的问题解决没有?请另开一贴吧,我要给各位热心帮助的人结分了
      

  6.   

    这样做excel里面就不能有标题了吧,但是我把HDR=No 也不行啊!有些时候有一些特殊的格式也不行,可不可以在绑定时,用地址来确定数据源,怎么写代码呢?