2008-10-06 86 views
22

什么是一些资源,将帮助我快速运行与C#中的Excel互操作?学习资源c#Excel互操作

+1

由于问题被问到,事情变得更加容易。这里有一个更近的链接:[使用Visual C#2010功能访问Office互操作对象](http://msdn.microsoft.com/en-us/library/dd264733.aspx) – Tod 2012-01-05 23:10:56

回答

1

MSDN始终是值得一读。

+0

请帮助这里,如果你可以http:// stackoverflow.com/questions/9962157/safely-disposing-of-an-object-using-c-sharp/ – 2012-04-01 22:39:54

2

如果您正在学习Excel对象模型,VBA帮助非常好。

您可以使用“主互操作程序集”与Excel

7

1)第一件事,第一工作;下载Office Interop Assemblies,您将从其中访问Excel interop中的所有对象,属性和方法以及对项目的适当引用。 BE AWARE:任何打算运行代码的机器都需要安装这些程序集。你可以将它们包含在你的安装包中,或者它们带有.NET Framework 1.1,所以如果你的客户已经安装了它们,它们可能会有互操作程序集。

2)在MSDN上有丰富的知识...几乎所有的对象和方法,你将使用的将在那里被详细记录。

3)注意:有关在C#中使用Interop的一个奇怪的小问题是,您必须手动为互操作调用提供“缺失”引用。当在VBA中使用函数时(如果您习惯于这样做),如果方法调用3个参数并且最后两个是可选的,则可以在VBA中将其“忽略”(即MyMethod argumentOne)... 这不从.NET开始工作当我开始使用Interop程序集时,这是一件让我困惑的事情;您必须手动创建一个像这样的缺失对象(例如来自Word Interop,但是相同的主体适用于Excel或任何其他Office Interop包(并且您还必须装入一些参数并通过ref传递它们,如下所示):

object missing = System.Reflection.Missing.Value; 
string somestring = "string"; 
object refstring = (object)s; 
wrd.Selection.Hyperlinks.Add(wrd.Selection.Range, **ref refstring, ref missing, ref missing, ref missing, ref missing**); 

我希望帮助。

+0

请帮助这里,如果你可以http://stackoverflow.com/questions/9962157/safely-disposing-of-an -object-using-c-sharp/ – 2012-04-01 22:39:42

1

您可以通过录制宏(在Excel中)和分析发生了什么事学到很多东西。我的主要编程语言是C#,但对于我与Excel(或其他Office/COM对象)的通信,我总是使用VB.Net。这使得从VBA(记录)转移到.Net更容易。

VB.Net使后期绑定更容易。首先,我使用早期绑定(让我知道Intellisense),之后我将我的类型更改为Object,因此我不再依赖Office的特定版本。

+0

请帮忙http://stackoverflow.com/questions/9962157/safely-disposing-of-an-object-using-c-sharp/ – 2012-04-01 22:39:49