Подтвердить что ты не робот

Ресурсы для обучения С# Excel interop

Каковы некоторые ресурсы, которые помогут мне быстро и быстро запустить приложение Excel в С#?

4b9b3361

Ответ 1

Статья Понимание объектной модели Excel из перспективы Visual Studio 2005 Developer от Ken Getz подробно описывает объектную модель Excel. Примеры кода приведены как в VB.NET, так и в С#.

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

Я бы также посмотрел статью: Как создать надстройку Office COM с помощью Visual С#.NET.

НТН...

Ответ 2

1) Сначала первое; Загрузите Office Interop Assemblies, из которого вы получите доступ ко всем объектам, свойствам и методам в Excel interop и соответствующие ссылки на ваш проект. ОЗНАКОМЬТЕСЬ: Любой компьютер, на котором вы собираетесь запускать свой код, также должен установить эти сборки. Вы можете включить их в свой установочный пакет или использовать .NET framework 1.1, поэтому, если ваши клиенты установили это, у них, вероятно, будут сборки interop.

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

3) ПРИМЕЧАНИЕ.. странная мелочь об использовании Interop с С# заключается в том, что вы должны указывать "отсутствующие" ссылки на вызовы interop вручную... т.е. При использовании функций в VBA (если вы привыкли делать это), если метод вызывает три аргумента, а последние два являются необязательными, вы можете "оставить их" в VBA (т.е. Аргумент MyMethodOne)... this не работает с .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**);

Надеюсь, это поможет.

Ответ 3

Если вы хотите изучить Excel Object Model, помощь VBA очень хорошая.

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

Ответ 5

MSDN всегда стоит прочитать.

Ответ 6

Вы можете многому научиться, записав макрос (в Excel) и проанализируя, что произошло.

Мой основной язык программирования - С#, но для моего общения с Excel (или другими объектами Office/COM) я всегда использую VB.Net. Это облегчает перенос с VBA (записанного) на .Net.

VB.Net упрощает работу с поздним связыванием. Сначала я использую раннее связывание (получает меня Intellisense), после чего я меняю свои типы на Object, поэтому я больше не зависим от конкретной версии Office.