如何使两个Windows应用程序使用C#进行对话

最近,我在MSDN Channel 9中通过Bob Tabor的C#课程,我喜欢它。 了解C#的概述。

我有一个基于C#(NinjaTrader)的股票交易应用程序,我希望它可以与Excel 2016交谈。我的意思是如果我在烛台图表上绘制Ninjatrader的趋势线,我想要excel了解我绘制了趋势线想要执行一些简单的任务,比如突出显示某些内容,或者根据某些条件大胆地显示特定的单元格。 我希望他们能够实时交谈。 这是我的要求。

我最近聘请了一个程序员来完成这个任务(他还在为这个项目工作),但是我希望在未来几年里自己做这个,因为我想“放下自己的翅膀”。 有想法但不知道该怎么做才能真正完成任务,这是严重限制我的。

我在通过Bob Tabor的C#课程后所了解的是这个。 在他的video“了解命名空间和添加引用到组件”中,我需要使用对Excel库的引用。 这部分我可以理解,但是当人们谈论COM时,Interop …

我会称自己是一名Excel高级用户,因为我在开发具有二进制文件格式的近50万个vlookups的电子表格方面拥有丰富的经验。

你能不能请教我一个教程如何使两个应用程序相互交谈? 我需要这个课程在C#中。 此外,我不知道下一步我应该采取什么来提高我的C#技能。 我在21天内search了C#Sams书,但是我找不到它的更新版本。 所有其他语言有这样的书,但不是C#。 我只想把我的知识用于个人使用。 所以,如果你能build议我一个课程,也可以帮助我达到良好的C#语言水平。

如何让2个Windows应用程序相互交谈 ”是非常广泛的定义。
有很多方法来build立这个。
但我觉得你的愿望是理解什么是应用程序编程接口(API)。

创buildexcel的开发人员认为来自世界各地的其他开发人员需要“与之交谈”的能力,因此他们还开发了一个库,每个程序员都可以将DLL文件实现为.Net项目( Microsoft.Office.Interop.Excel命名空间,它是.net框架的一部分)基本上,这个库包含的属性方法 ,可以用来“谈”从你的.net应用程序的优秀。

维基百科:

API通常与软件库相关。 API描述和规定了预期的行为(规范),而库是这套规则的实际实现。 一个API可以有多个实现(或者没有,是抽象的),以不同库的forms共享相同的编程接口。 API与其实现的分离可以允许用一种语言编写的程序使用另一个编写的库。

每个希望在项目之间共享(编译)代码或与其他程序员共享代码的程序员都可以创build一个DLL文件作为API。
这里是例如一个DLL文件,我已经开发(并仍在改进),因为我认为其他程序员将需要这种能力在他们的winforms项目,它会为他们节省一些时间: graphicsWinforms时钟图表库(DLL) – 包括车速表,行政目标时钟,animation等待时钟 。

所以,如果你需要使用Microsoft.Office.Interop.Excel只关注这个DLL包含的属性和方法: Microsoft.Office.Interop.Excel命名空间

另外,YouTube上有很多随机video,都有非常好的解释,你可以search他们的video来进行各种Interop.Excel使用。

这里是一个系列初学者: https : //www.youtube.com/watch?v = LwYf_aPsuys & list = PLEdObNxHtDHI- EBwVmLLrfdsMp0hsydWV (从来没有看过它)

总结所有这一切,如果你明白如何build立一切,你会提高你的编程技能,你将能够使用任何库非常快…

我的理解是,你需要从你的项目的xls / xlsx输出。 你可以通过使用办公室库或者thrd party librarys来实现你的项目的excelfunction。