1

有没有在典型的 winform C# 应用程序中使用 Microsoft Excel 作为网格控件的好示例。

我遇到了很多关于 excel 'like' 控件或网格控件的线程,它们的功能类似于 Excel 等。

为什么不使用 excel 作为 GRID 控件,它具有构建中的所有优点(公式引擎、排序、过滤等)

4

2 回答 2

3

您当然可以在 WinForm 应用程序中将 Excel作为控件托管,因此您想要的部分内容是可能的(有主要警告)。然而,连接许多 3rd 方网格库中的其余功能需要大量工作,并且存在许多缺陷。

主要原因是 Excel 是本机 Windows 应用程序,而不是在 .Net 框架下运行。因此,所有操作都必须在一定程度上完成——您必须实例化应用程序、实例化工作表、尝试订阅某些事件(其中许多可能不可用,因为 Excel不是为此目的而设计的),并且,当然,尝试并妥善管理所有 COM 引用以避免内存泄漏。

您提到的网格控件都是从头开始构建的,作为托管在 .Net 应用程序中的控件,因此围绕人们想要的网格样式交互类型公开属性和事件 - 请记住,Excel 不仅仅是一个网格。

然而,好像承认 Excel 在以编程方式使用时可以成为一个强大的工具一样,Microsoft 提供了VSTO——一个允许您使用 .Net 开发 Excel(和其他办公应用程序)的运行时

于 2012-05-15T21:37:33.257 回答
0

据我所知,没有用于嵌入 Office 应用程序的 .NET 控件。

早些时候你可以使用DSOFramer来实现你想要的,但后来它被停产了。我相信它仍然有效(我不确定)。Web 浏览器 (COM) 控件是 DSOFramer 的替代品,但有其自身的缺点。例如,您不能使用内置的“Goodies”。

以下只是个人的看法

我怀疑 MS 永远不会支持嵌入式 Office 应用程序,原因很简单。MS-Office 应用程序是“以最终用户为目标”的产品。您需要单独的许可证,从商业角度来看,他们不想放弃它:) 就像我之前提到的那样,这些只是我的个人想法,并不赞同 MS 的观点。

于 2012-05-15T21:28:38.767 回答