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

Начало разработки VSTO

Я очень смущен тем, что является необходимым инструментом для VSTO. В частности, я хочу программно обрабатывать документы Excel 2003/2007. Я сделал довольно много VBA, если вы хотите связать с ним какой-либо ответ.

Несколько вопросов, которые я имею о VSTO:

  • Можно ли использовать Visual Studio 2008 Express Edition С#/С++ для этого?
  • Нужно ли устанавливать .NET framework?
  • Требуется ли в результате программы VSTO иметь копию Office, установленную в той же системе?

Оцените прямые ссылки на соответствующие инструменты/плагины/IDE.

Примечание. Я абсолютно не знаком с VSTO и .NET, но с пользователем Power. У меня есть опыт программирования COM.

4b9b3361

Ответ 1

Да, это может запутать, особенно учитывая соглашения об именах на уровне пропуска и т.д. По сути, вам понадобится:

  • Полная версия (не Express) Visual Studio и .NET, на которые вы нацелились.
  • Один из периодов времени VSTO (VSTO 2003, VSTO 2005, VSTO 2005 SE, VSTO 2008, VSTO 2010). За то, что вы просите, VSTO 2005 SE, вероятно, лучший выбор.
  • При распространении своего приложения вы будете нужно больше, например, PIA и версия .NET, на которую вы нацелились. Для VSTO 2010 вам не нужны PIA (только то, что вы используете, будет автоматически упаковано с вашим приложением).

Несколько советов:

  • Переход от VBE внутри Office для VSTO должен быть плавный ход если вы использовали .NET в значительной степени.
  • Версии VSTO объекта модели для любой данной программы (Excel, PowerPoint и т.д.) Могут быть несколько больше способов делать вещи, которые отличается/лучше, чем в VBA версии объектной модели. Для Например, элемент управления Закладка для Слово в VSTO 2008 - это не то же самое, что тот, который является родным для одного доступ через VBA.
  • Распространение вашего приложения может быть больно. Именно по этой причине VSTO для Visual Studio 2010 не требует от вас включить файлы полного взаимодействия (PIA) с вашим пакетом.
  • Задание различных версий Офис с тем же решением не официально поддерживается на период до VSTO 2010. Есть способы вокруг этой проблемы, что некоторые люди поговорили, но вы не получите много поддержки от MSFT на нем.

Есть несколько сайтов, на которые вы должны обратить внимание:

Наконец, чтобы сохранить лучшее для последнего, это книга, которую я прочитал, когда я только начинал, и это было очень полезно: VSTO для Mute Mortals (TM): Руководство разработчика VBA по разработке Microsoft Office с использованием инструментов Visual Studio 2005 для Office

Ответ 2

SpreadsheetGear для .NET - это компонент, совместимый с Excel, для .NET, который будет работать с выпусками Visual Studio Express, требует .NET 2.0 или выше, не требует установки Office или Excel и разрешает бесплатное распространение лицензии на неограниченное количество клиентских и/или серверных компьютеров.

Вы можете увидеть живые примеры здесь и загрузить бесплатную пробную версию здесь.

Отказ от ответственности: у меня есть SpreadsheetGear LLC

Ответ 3

Вы можете создать excel с помощью Express Edition, используя этот компонент Excel.NET. Он не требует автоматизации VSTO, ADO или MS Excel.

Компонент Excel Jetcell.NET позволяет читать таблицу Excel Excel. Здесь вы можете найти много Excel VB.NET и примеры С#. Например, см. Код VB.NET для создания таблицы Excel из массива:

Imports DTG.Spreadsheet
...
Dim WBook = New ExcelWorkbook()
WBook.Worksheets.Add("ArrayValues")
For i As Short = 0 To 10
   For j As Short = 0 To 10
      WBook.Worksheets(0).Cells[i,j].Value = arr(i,j)
      j = j + 1
   Next j
   i = i + 1
Next i
WBook.WriteXLSX("ExcelSpreadsheet.xlsx")