Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从C#控件复制并将链接粘贴到excel_C#_Excel - Fatal编程技术网

如何从C#控件复制并将链接粘贴到excel

如何从C#控件复制并将链接粘贴到excel,c#,excel,C#,Excel,我有一个要链接到excel的应用程序。我不喜欢使用哪个控件,只要我可以复制数据或控件,并将链接粘贴到excel中。当应用程序中的数据更改时,我希望单元格在excel中更改 我有一个客户声称这是可能的,他已经看到了,但没有证据,可能会感到困惑 我在互联网上搜索了一下,找到了一些半途而废的解决方案,那些人的想法与我的想法相反。有人知道完整的解决方案吗?我想您正在寻找COM接口。 如果将数据公开为OLE对象,则当应用程序中的数据发生更改时,可以使用通知Excel 这需要一些努力,因为您必须实现IDat

我有一个要链接到excel的应用程序。我不喜欢使用哪个控件,只要我可以复制数据或控件,并将链接粘贴到excel中。当应用程序中的数据更改时,我希望单元格在excel中更改

我有一个客户声称这是可能的,他已经看到了,但没有证据,可能会感到困惑


我在互联网上搜索了一下,找到了一些半途而废的解决方案,那些人的想法与我的想法相反。有人知道完整的解决方案吗?

我想您正在寻找COM接口。

如果将数据公开为OLE对象,则当应用程序中的数据发生更改时,可以使用通知Excel

这需要一些努力,因为您必须实现IDataObject接口(以及其他一些接口),以允许Excel正确显示和托管您公开的信息

如果这是您所追求的,以下是一些您可能会觉得有用的链接:

(主要涉及拖放)

(主要涉及拖放)

(主要涉及拖放)


另一个选择是使用VSTO开发Excel插件。该体系结构的难点在于,您必须在源应用程序和插件之间实现自己的IPC。然而,我会根据以前使用DDE的经验,选择它而不是IDataObject(DDE仿真)

IDataObject方法的优点是,一个典型的老派Excel超级用户会对它感到满意;而且它不需要任何插件就可以正常工作。如果将控件拖放到Excel上的操作是场景的一个重要部分,那么实现COM服务器可能是值得的。但是,如果您的客户不熟悉DDE,只想动态更新Excel,那么这可能不值得