部署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的机器上无错误运行的方法吗?

部署Windows窗体

您目前正在使用Early Binding访问Excel。这是您在编译之前在项目中嵌入对互操作的引用的地方。

  • 编译器知道的Excel版本
  • 更快的执行,因为我们知道方法的存在和它们的位置
  • 允许我们使用智能感知来检查参数是否正确,返回类型是否正确
<

缺点/strong>

  • 只支持Excel
  • 的嵌入式版本

你需要看一下晚期绑定。在这种情况下,互操作根本不包括在项目中,而是稍后通过反射进行绑定。你基本上是为了能够支持多个版本的Excel而牺牲了上述所有优点。

网上有很多关于如何做的指南。

如何使用使用晚绑定获得excel实例?
c#:后期绑定Excel互操作教程
使用后期绑定的Word自动化-动态关键字

的使用

我必须同意汉斯的意见,这是个坏主意。试图支持一个15年前的Excel版本是一个令人头疼的问题,我认为你很快就会避免这样做。

除非你绝对要这样做,也许你可以看看第三方库,比如EPPlus。或者,如果您只需要阅读工作表,可以使用ODBC之类的替代方法,完全避免这种情况。