日期:2014-05-17  浏览次数:20520 次

Microsoft Jet 数据库引擎找不到对象'D:\ss.xls'。请确定对象是否存在,并正确地写出它的名称和路径。
C# code
 public DataSet ExecleDs(string filenameurl,string table)
    {
         
            string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" +filenameurl+ ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'";
           
            OleDbConnection conn = new OleDbConnection(strConn);

            OleDbDataAdapter odda = new OleDbDataAdapter("select * from [Sheet1$]", conn);

            DataSet ds = new DataSet();

            odda.Fill(ds,table);
      
            return ds;

   }

  string strpath = FileUpload1.PostedFile.FileName.ToString(); 
        
        //获取Execle文件路径
       string filename = FileUpload1.FileName;
        //获取Execle文件名
       DataSet ds = ExecleDs(strpath,filename);





连接不上exeel,在本机上没问题,在服务器上就有问题了,,服务器已装excel2003

------解决方案--------------------
首先要确定d盘下有没有ss.xls这个文件,其实可用d:\\ss.xls看下,或者也有可能你用的是office 2007版的,如果是的话,可能你的数据库连接字符串得稍修修改下了,怎么修改可以网上搜索下
------解决方案--------------------
看看这个帖子 你换种方式试试?
http://kb.cnblogs.com/a/1523479/
------解决方案--------------------
检查路径是否具有相关操作权限
用 Excel 的工作簿名称替换 SQL 语句中的 Sheet1
Server.MapPath("~/")
------解决方案--------------------
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'";
 using(OleDbConnection OleConn = new OleDbConnection(strConn))
{
OleConn.Open();
String sql = "SELECT * FROM [Sheet1$]";
OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn);
DataSet ds= new DataSet();
OleDaExcel.Fill(ds);
OleConn.Close();
}