C# 导入excel 兼容版本 C# 导入excel 怎么兼容不同office 版本。比如 2003,2007.甚至是不装office.限于微软技术,不能使用第三方组件。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 甚至是不装office 限于微软技术,不能使用第三方组件---------------------------------------------没办法 可以不装OFFICE,但 Microsoft.Jet.OLEDB.4.0 驱动必须有.如果有的话,那可以用数据连接对象向 EXCEL 导出数据. OFFICE肯定不是必需的.我有台机器,用类似的驱动向ACCESS读写内容,但后来硬盘太小写不下东西,就把OFFICE卸载了,但因为驱动在,所以程序运行一点问题也没有. 其实楼主这个问题用一个很简单的实例可以测试的,编一个程序,向EXCEL读写数据,然后编译后拿到一台没装OFF,但有驱动的机器上一试便知.有没有驱动可以在ODBC数据源设置中查看. 好吧,不装office这个条件去掉。如何做到兼容03和07呢? 没有人在弄过吗?我考虑是不是可以先获取Excel的版本,然后用对应的连接字符串。但怎么样获得已安装 Excel的版本呢 ------------代码的目标程序集为03版本,那么在只装07机器的电脑上也可以运行。你写代码时引用低版本的office程序集,在.NET层面会有一个程序集重定向功能(自动的,不需要你弄)负责定位到机器的高版本主互操作程序集。 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文件。 C# 事件注册过程中,是否会导致程序死掉 delegate VB.Net等效代碼 簡單問題 有一定C#基础.请问我想再学习下.买哪本书自学好呢. SqlConnection字符串连接怎么写? 如何使IP 地址最后的数字以"*"号显示? 散分,顺便问一下大家觉得.net 2.0中的串口类在实际应用中的性能如何?有谁在实际项目中使用了? C#中有没有类似C++中指针的东西啊 [请大家讨论]Web版QQ实现原理。。。 发短信的问题,开发过用T628发短信的程序吗? IIS里能否设置上传文件的最大size??? c# Process.start 请问这段代码是什么意思?
---------------------------------------------
没办法
我有台机器,用类似的驱动向ACCESS读写内容,但后来硬盘太小写不下东西,就把OFFICE卸载了,但因为驱动在,所以程序运行一点问题也没有.
代码的目标程序集为03版本,那么在只装07机器的电脑上也可以运行。
你写代码时引用低版本的office程序集,在.NET层面会有一个程序集重定向功能(自动的,不需要你弄)负责定位到机器的高版本主互操作程序集。
{
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;
}