现在做excel导入导出功能,connection中我用的是12.0的,但是有的客户端上装的是2003,现在有了2010,我想让程序灵活点,导入导出的时候直接使用客户端安装的excel版本导入导出,这个怎么实现呢

解决方案 »

  1.   

    根据文件后缀判断
    string strCon = null;
                if (strFName.ToLower().EndsWith(".xls"))
                    strCon = string.Format("Provider = Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties ='Excel 8.0;HDR=NO;IMEX=1'", strFName);
                else
                    strCon = string.Format("Provider = Microsoft.Ace.OleDB.12.0;Data Source={0};Extended Properties ='Excel 12.0;HDR=NO;IMEX=1'", strFName);            DataTable dt = null;
                try {
                    OleDbConnection myConn = new OleDbConnection(strCon);
                    string strCom = "SELECT   *   FROM   [" + strSheetN + "$]";
    }catch{}