|
|
1
8
您可能想看看NetOffice项目: http://netoffice.codeplex.com/ . 它是一个免费的(MIT许可证)和完整的(所有2000-2010版本和所有Office应用程序)版本独立互操作程序集。程序集是使用工具从实际的pia生成的,因此它们是正确的、完整的和最新的,并且可能会在将来的版本中快速更新。 另一个很好的特性是,每个成员的IntelliSense显示实现该成员的Office版本。 对于部署,可以将程序集与应用程序一起复制或安装。 |
|
2
2
根据我的经验,在广泛的部署场景中尝试管理office互操作程序集是一场噩梦。如果您是通过ClickOnce进行部署的,即使您绕过了上面提到的GAC问题(如果这是公司环境,您的IT部门可能会推出互操作程序集的GAC注册),您将需要处理用户的Office版本与标准版本不同的情况——当Office13问世,用户开始升级,它破坏了您的应用程序时,上天会帮助您。 为了避免使用版本绑定的互操作程序集,可以使用pinvoke直接对独立于版本的office COM包装器(它们从注册表中提取客户端上的当前office版本)执行office自动化。不过,这也有其自身的部署挑战(例如,您可能需要更新注册表以处理安装了pia的计算机,这在使用ClickOnce进行部署时可能非常具有挑战性),而且开发起来要困难得多。
|
|
|
3
1
以下是我从经验中了解到的(我应该指出,我们没有使用ClickOnce,但我不确定这有什么关系): 如果您编写Excel2003API并将其部署到带有Excel2007的计算机上,它将正常工作,因为Excel2007实际上模拟了Excel2003。问题是有些api已经改变了,它们的一些api甚至已经被删除了。你得自己试试看你的申请是否受到影响。 事实上,比这更糟。如果在安装了Excel2003和Excel2007的计算机上运行应用程序,则Interop的使用仍将使用Excel2007。 你可以下载免费试用版 here 如果你想试试的话。 免责声明:我拥有SpreadsheetGear LLC |
|
|
4
1
|
|
|
5
0
使用C#时,如果使用反射API,会得到延迟绑定,但使用此API编写代码非常痛苦。在C#4中,还可以通过动态类型获得后期绑定。 如果这样做,就不需要分发任何Office程序集,只要officeapi中对象的属性不变,代码就可以工作。
|
|
|
Albert Laure · 在SSRS中的不同数据集中添加值字段 12 年前 |
|
|
Edward Newgate · 正确的Json反序列化 13 年前 |
|
|
DiggDev · visualstudio2005 ctrl+f不工作 14 年前 |