2008-10-06 29 views
22

Каковы некоторые ресурсы, которые помогут мне быстро и быстро запустить с помощью Excel в C#?Ресурсы для обучения C# Excel interop

+1

Поскольку вопрос был задан, все стало проще. Вот более поздняя ссылка: [Access Interop Objects с использованием возможностей Visual C# 2010] (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 Object Model, то помощь VBA очень хорошая.

Вы можете использовать "Primary Interop сборки" для работы с Excel

7

1) Первое, что первый; Загрузите Office Interop Assemblies, из которого вы получите доступ ко всем объектам, свойствам и методам в Excel interop и соответствующим ссылкам на ваш проект. BE AWARE: Любая машина, на которой вы собираетесь запускать свой код, также нуждается в этих сборках. Вы можете включить их в свой установочный пакет или использовать .NET framework 1.1, поэтому, если ваши клиенты установили это, у них, вероятно, будут сборки interop.

2) В MSDN есть много знаний ... в значительной степени все объекты и методы, которые вы будете использовать, будут хорошо документированы там.

3) ПРИМЕЧАНИЕ: Одна странная мелочь об использовании Interop с C# заключается в том, что вы должны вручную указывать «отсутствующие» ссылки на вызовы interop ... i.e. При использовании функций в VBA (если вы привыкли делать это), если метод вызывает три аргумента, а последние два являются необязательными, вы можете «оставить их» в VBA (т. Е. Аргумент MyMethodOne) ... это не работать с .NET Это одна вещь, которая немного смутила меня, когда я начал использовать сборки Interop; Вы должны вручную создать отсутствующий объект, подобный этому (например, из Word Interop, но те же принципы применимы к Excel или любому другому пакету Interop Office (и вам также необходимо вставить некоторые аргументы и передать их по ссылке ниже):

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 -объект-использование-c-sharp/ – 2012-04-01 22:39:42

10

в статье Understanding the Excel Object Model from a Visual Studio 2005 Developer's Perspective Кена Getz охватывает объектную модель Excel подробно. примеры кода в обоих VB.NET и C#.

Некоторые важные оговорки покрыты в C# and VBA: Like Oil and Water, также Кеном Getz.

Я также видел бы статью: How to build an Office COM add-in by using Visual C# .NET.

НТН ...

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

Смежные вопросы