部署 Windows 表格
Deploy Windows Form
我有一个 windows 表格可以在我的机器上正常工作,我参考了 Microsoft.Interop 2007 年 Excel 程序集。某些机器将同时具有 Excel 2000 和 Excel 2007 安装,如果 Excel 2007 未设置为 Excel 的 "Default" 版本,windows 表单将抛出错误且无法工作.他们是我 "package" 我的 windows 表格允许它 运行 在安装了 2000 和 2007 的机器上无错误的方法吗?
您目前正在使用早期绑定来访问Excel。这是您在编译之前将对互操作的引用嵌入到项目中的位置。
优势
- Excel 的版本为编译器所知
- 更快的执行,因为我们知道这些方法存在并且它们在哪里
- 允许我们使用智能感知来检查参数是否正确以及 return 类型是否正确
缺点
- 仅支持 Excel
的嵌入式版本
您需要看一下后期绑定。这是互操作根本不包含在项目中的地方,而是稍后通过反射绑定。您基本上权衡了上述所有优势,以便能够支持 Excel.
的多个版本
网上有很多指南都在讨论如何操作。
How to use use late binding to get excel instance?
C# : Late Binding Excel Interop Tutorial
Word Automation using Late binding - Usage of dynamic Keyword
我的两毛钱
我必须附和汉斯的评论,这是个坏主意。尝试支持 15 年前的 Excel 版本会让人头疼,我想您很快就会避免这样做。
除非你绝对想这样做,也许你可以看看像 EPPlus. Or if you only need to read the sheet, do it some alternate way like ODBC 这样的第三方库并完全避免这种情况。
我有一个 windows 表格可以在我的机器上正常工作,我参考了 Microsoft.Interop 2007 年 Excel 程序集。某些机器将同时具有 Excel 2000 和 Excel 2007 安装,如果 Excel 2007 未设置为 Excel 的 "Default" 版本,windows 表单将抛出错误且无法工作.他们是我 "package" 我的 windows 表格允许它 运行 在安装了 2000 和 2007 的机器上无错误的方法吗?
您目前正在使用早期绑定来访问Excel。这是您在编译之前将对互操作的引用嵌入到项目中的位置。
优势
- Excel 的版本为编译器所知
- 更快的执行,因为我们知道这些方法存在并且它们在哪里
- 允许我们使用智能感知来检查参数是否正确以及 return 类型是否正确
缺点
- 仅支持 Excel 的嵌入式版本
您需要看一下后期绑定。这是互操作根本不包含在项目中的地方,而是稍后通过反射绑定。您基本上权衡了上述所有优势,以便能够支持 Excel.
的多个版本网上有很多指南都在讨论如何操作。
How to use use late binding to get excel instance?
C# : Late Binding Excel Interop Tutorial
Word Automation using Late binding - Usage of dynamic Keyword
我的两毛钱
我必须附和汉斯的评论,这是个坏主意。尝试支持 15 年前的 Excel 版本会让人头疼,我想您很快就会避免这样做。
除非你绝对想这样做,也许你可以看看像 EPPlus. Or if you only need to read the sheet, do it some alternate way like ODBC 这样的第三方库并完全避免这种情况。