Подключение ссылки на сборку Excel при работе с csc.exe C#

228
08 ноября 2021, 20:30

Пишу программу на коленке в условиях, в которых невозможно использовать IDE Visual Studio, поэтому использую обычный виндовый блокнот и консольный компилятор csc.exe.

Необходимо работать с данными из Excel-файлов.

При работе с Excel из IDE, всё ясно, подключаем ссылку на сборку, далее:

using Excel = Microsoft.Office.Interop.Excel;

и по сценарию.

Вопрос, каким образом можно можно подключить ссылку на сборку Microsoft.Office.Interop.Excel используя только блокнот?

Answer 1

Всё оказалось действительно просто:

using System;
using Excel = Microsoft.Office.Interop.Excel;
namespace FirstApp
{
class Program
  {
    static void Main(string[] args)
    {
            Excel.Application excelApp = new Excel.Application();
            excelApp.Workbooks.Add(Type.Missing);
            //Добавить новый Лист в Книгу
            (excelApp.Sheets[1] as Excel.Worksheet).Name = "Данные";
            excelApp.Visible = true;
    }
  }
}

Далее в консоле используем такую команду для компиляции:

c:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /r:Microsoft.Office.Interop.Excel.dll d:\Excel\Excel.cs

Незабываем кинуть в папку с экзешником три офисные библиотеки:

  1. Microsoft.Office.Interop.Excel.dll
  2. Microsoft.Vbe.Interop.dll
  3. office.dll

Найти их можно в папке с установленным офисом.

READ ALSO
Удалить использование unsafe кода

Удалить использование unsafe кода

Возможно ли переписать метод без использование unsafe кода?

231
Как создать привязку к объекту, определённому в другом пространстве имён?

Как создать привязку к объекту, определённому в другом пространстве имён?

В ходе разработки графического интерфейса на WPF, использующего одну библиотеку классов, столкнулся с проблемой: не понимаю как привязать...

195
Настройка камеры в PixelArt игре

Настройка камеры в PixelArt игре

Я изучаю Unity3D на основе 2D pixelArt игрыЕсть задача: Правильно настроить ортографическую камеру

185
TimerCallback & Timer C#. Вызывает только один раз

TimerCallback & Timer C#. Вызывает только один раз

В конструкторе при создание класса создаю вот такой таймер

98