3

我正在使用 VSTO 和互操作命名空间有一段时间了。它的大部分部分都很好(足够)。但有时它接缝真的很荒谬。

有些方法返回一个对象,当很明显它们应该返回什么时,该对象必须被强制转换。

像这个例子一样添加一个新的工作表:

sheet = (Excel.Worksheet)application.ActiveWorkbook.Worksheets.Add(missing, application.ActiveWorkbook.ActiveSheet, 1, missing);

其他时候,您需要使用缺少的 Type 进行方法调用,因为它没有方法覆盖。(我知道这只是 C# 中的问题,而不是 VB 中的问题

就像在这个例子中保护一个 excel 表一样:

sheet.Protect(missing, true, true, true, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);

我现在的问题是:是否有任何类型的包装器、框架、api ......来避免所有这些小不便?(或任何提供一些更方便方法的框架

4

3 回答 3

3

您应该使用VSTO 电动工具扩展库。从MSDN下载VSTO_PTextLibs.exe。它们提供了使与 Office API 的互操作更简单的扩展方法

于 2012-06-20T15:40:16.857 回答
1

@Jake Ginnivan 编写了库VSTO Contrib,其中包含许多帮助类。

于 2012-06-21T08:39:20.197 回答
1

我的Templater库的第一个版本是 MS Office 和 OpenOffice API 调用的包装器。我也对它的 API 感到厌恶。

有很多报告框架,您可能可以使用无事件的框架。Microsoft 的 OpenXML SDK 可能是最流行的一种。

于 2012-06-19T16:50:12.797 回答