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

C#如何读取Excel文件的时候判断office版本问题
我上传一个Excel文件到website根目录下面
但是我要从excel导入数据到数据库里面的时候,出现了office版本的问题
我不同的office版本要引用不同的Microsoft库


所以我当下就考虑C#在读取Excel文件的时候能不能判断一下office的版本,然后我再引用相应的库


------解决方案--------------------
 //上传文件
                    FileUpload1.PostedFile.SaveAs(Server.MapPath("../../Project/files/" + filename));

                    DataSet ds = DataBaseAccess.ExecuteSql4Ds("select * from OPENROWSET('MICROSOFT.ACE.OLEDB.12.0','Excel 8.0;HDR=YES;DATABASE=" + Server.MapPath("../../Project/files/" + filename) + ";IMEX=1;',[材料导入$])");
                    DataView dvdetail = ds.Tables[0].DefaultView;
                    GridView1.DataSource = dvdetail;
                    GridView1.DataBind();

------解决方案--------------------
引用:
我想了一下office好像是向下兼容的,我只需调用office2000的库,应该就可以不用考虑office版本的问题了

是向下兼容的。
不建议使用office com组件读取,(以后会遇到各种麻烦事的)
建议使用第三方的  myxls/ NPIO