部署Windows窗体
本文关键字:窗体 Windows 部署 | 更新日期: 2023-09-27 18:01:45
我有一个windows窗体在我的机器上工作得很好,我有一个微软的参考。Interop Assembly for Excel 2007。某些机器将同时安装Excel 2000和Excel 2007,如果Excel 2007没有设置为Excel的"默认"版本,windows窗体将抛出错误而无法工作。这是一种我可以"打包"我的windows窗体以允许它在安装了2000和2007的机器上无错误运行的方法吗?
您目前正在使用Early Binding访问Excel。这是您在编译之前在项目中嵌入对互操作的引用的地方。
- 编译器知道的Excel版本
- 更快的执行,因为我们知道方法的存在和它们的位置
- 允许我们使用智能感知来检查参数是否正确,返回类型是否正确
缺点/strong>
- 只支持Excel 的嵌入式版本
你需要看一下晚期绑定。在这种情况下,互操作根本不包括在项目中,而是稍后通过反射进行绑定。你基本上是为了能够支持多个版本的Excel而牺牲了上述所有优点。
网上有很多关于如何做的指南。
如何使用使用晚绑定获得excel实例?
c#:后期绑定Excel互操作教程
使用后期绑定的Word自动化-动态关键字
我必须同意汉斯的意见,这是个坏主意。试图支持一个15年前的Excel版本是一个令人头疼的问题,我认为你很快就会避免这样做。
除非你绝对要这样做,也许你可以看看第三方库,比如EPPlus。或者,如果您只需要阅读工作表,可以使用ODBC之类的替代方法,完全避免这种情况。