Microsoft.Excel.Office.Core和Microsoft.Office.Interop.Excel有什么区别?

我必须阅读为Excel和类似的创build加载项,并开始想知道两个名称空间之间的区别是什么?

我读过的每个教程都使用了Interop 。 但是在书中,他们大多使用Office ,为什么有两个名称空间,或多或less包含完全相同的类,但又是不同的?

有没有任何参考,使这容易理解?

我认为Office是微软发布的官方PIA,但现在我只是下载了2010版的PIA来检查,事实并非如此

从Office XP开始,Office 2000就没有可用的PIA了,但是在文档中我看不到任何你正在讨论的名称空间的引用。

你确定它不只是一个名称空间别名,有人已经设置了。

 using Microsoft.Excel.Office = Microsoft.Excel.Interop; 

尽pipe为什么有人会这样做超出了我!

编辑我刚在VS2010中创build了一个骨架的Excel插件,它具有以下别名:

 using Excel = Microsoft.Office.Interop.Excel; using Office = Microsoft.Office.Core; 

这是否解释你所看到的?

根据我自己的经验,Microsoft.Office.Interop.Excel包含了所有的Excel对象和方法,比如Workbook,Excel Addins和Application.WorksheetFunction。 Microsoft.Office.Core包含那些跨Office应用程序,如CommandBarButtons,FileDialogs和COM加载项。 所有的Msovariables,如MsoAlertType和MsoColorType也在后者中。

我从来没有见过Microsoft.Excel.Office.Core,在您的问题标题中提到。