日期:2014-05-20  浏览次数:20977 次

C# 导入excel 兼容版本
C# 导入excel 怎么兼容不同office 版本。比如 2003,2007.甚至是不装office.

限于微软技术,不能使用第三方组件。

------解决方案--------------------
甚至是不装office 限于微软技术,不能使用第三方组件
---------------------------------------------
没办法
------解决方案--------------------
可以不装OFFICE,但 Microsoft.Jet.OLEDB.4.0 驱动必须有.如果有的话,那可以用数据连接对象向 EXCEL 导出数据.
------解决方案--------------------
我的以前也有这问题,好像没办法。到最后只能重新装的2003版本的。。。。。。
------解决方案--------------------
探讨
我的以前也有这问题,好像没办法。到最后只能重新装的2003版本的。。。。。。

------解决方案--------------------
其实楼主这个问题用一个很简单的实例可以测试的,编一个程序,向EXCEL读写数据,然后编译后拿到一台没装OFF,但有驱动的机器上一试便知.有没有驱动可以在ODBC数据源设置中查看.
------解决方案--------------------
探讨

好吧,不装office这个条件去掉。如何做到兼容03和07呢?

------解决方案--------------------
C# code
 private static string ConnectionString(string fileName)
        {
            bool isExcel2003 = fileName.EndsWith(".xls");
            string connectionString = string.Format(
                isExcel2003
                    ? "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=Excel 8.0;"
                    : "Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0 Xml;HDR=YES\"",
                fileName);
            return connectionString;
        }

------解决方案--------------------
如果你指的是ado操作excel可以这样判断

------解决方案--------------------
另外可以使用EPPlus开源库,可以不装office 但生成的是对应07版+的Excel文件。