string mystring="Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = '"+ FileName.PostedFile.FileName +"';Extended Properties=Excel 8.0";
OleDbConnection cnnxls = new OleDbConnection (mystring);
OleDbDataAdapter myDa =new OleDbDataAdapter("select * from [kqrb$]",cnnxls);
DataSet myDs =new DataSet();
myDa.Fill(myDs);  我的本机是可以导入的,但在别的客户端机器上导入报错。是哪里出了问题呢?报错“MicroSoft JET引擎找不到工作表[kqrb$]”

解决方案 »

  1.   

    是不是上传后导入看一下FileName.PostedFile.FileName是什么应该用保存到服务器后的路径
      

  2.   

    string mystring="Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = '"+ Server.MapPath(FileName.PostedFile.FileName) +"';Extended Properties=Excel 8.0";试试
      

  3.   

    string strPath="c:\\test\\" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".xls";
    File1.PostedFile.SaveAs(strPath); string mystring="Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = '"+ strPath +"';Extended Properties=Excel 8.0";
    OleDbConnection cnnxls = new OleDbConnection (mystring);
    OleDbDataAdapter myDa =new OleDbDataAdapter("select * from [Sheet1$]",cnnxls);
    DataSet myDs =new DataSet();
    myDa.Fill(myDs);
      

  4.   

    我也只是通过本机传递东西啊,不是通过网络传输,excel表存储在本机上
      

  5.   

    为什么在本机上测试都通过,到别的机器上就是找不到Sheet1$表
      

  6.   

    http://blog.csdn.net/fengfangfang/archive/2006/08/07/1033072.aspx