本地是wps 8.0 服务器上的Excel是2013
文件能上传到服务器  就是无法读取到excel里面的内容 本地测试是完全没问题的
麻烦前辈帮忙分析一下 
  DataTable dt = new Helps().GetExcelData(path);
这个dt返回的是null
public System.Data.DataTable GetExcelData(string strPath)
        {
            System.Data.DataTable dt = new System.Data.DataTable();
            try
            {
                DataSet ds = new DataSet();
                //string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + strPath + ";" + "Extended Properties=Excel 8.0;";
                string strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strPath + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1';";
                OleDbConnection conn = new OleDbConnection(strConn);
                conn.Open();
                OleDbDataAdapter myCommand = null;
                string strExcel = "select * from [Sheet1$]";
                myCommand = new OleDbDataAdapter(strExcel, strConn);
                myCommand.Fill(dt);
                conn.Dispose();
            }
            catch (Exception ex)
            {
                ex.ToString();
                dt = null;
            }
            return dt;
        }
Excel读取

解决方案 »

  1.   

    strPath 是多少?是本机路径还是服务器路径?
      
    *****************************************************************************
    签名档: http://feiyun0112.cnblogs.com/
      

  2.   

    是服务器上的路径   我写了一个demo获取到这个地址 能在服务器上打开的
      

  3.   

    服务器安装AccessDatabaseEngine了吗
      

  4.   

    你exception时候dt=null了
    建议先把exception去掉看看报什么错再去操作
      

  5.   

    顺利解决
    如果是WebSite且是IIS6
    键入以下命令启用 32 位模式: 
    cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1 如果是IIS7
    appcmd list apppool /xml | appcmd set apppool /in /enable32BitAppOnWin64:true