Бесплатная библиотека .NET для создания текстовых документов

Чтение, запись, обработка и преобразование файлов Word с помощью .NET API с открытым исходным кодом.

NetOffice — это API с открытым исходным кодом, который позволяет разработчикам .NET автоматизировать Microsoft Office и разрабатывать надстройки Microsoft Office. Используя API, разработчик может использовать все функции, включенные в версии MS Office 2000, 2002, 2003, 2007, 2010, 2013 и 2016. API основан на архитектуре COM, где вы извлекаете прокси-объекты COM в своем приложении и должны освободить каждый прокси-объект COM. Основным преимуществом использования NetOffice является возможность одновременной работы с разными версиями Microsoft Office, а также наличие механизма защиты для управления COM-прокси.

Используя API, вы можете разработать приложение как для 32-битной, так и для 64-битной операционной системы. Вы можете без проблем использовать сборки NetOffice во всех сценариях. API предоставляет набор библиотек для работы с офисными документами. Для работы с документами Microsoft Word вам потребуется WordApi.dll с OfficeApi.ddl, VBIDEApi.dll и NetOffice.dll в качестве зависимостей.

Previous Next

Начало работы с NetOffice

Прежде всего, вам необходимо иметь .NET Framework 4.5 или выше. После этого загрузите репозиторий вручную с GitHub или установите его из NuGet.

Установка NetOffice из NuGet

 Install-Package NetOfficeFw.Word

Создание документа Word с помощью бесплатного C# API

NetOffice позволяет программистам .NET программно создавать файлы Microsoft Word. Чтобы создать файл Word, сначала необходимо инициализировать приложение Word и отключить окна сообщений. После запуска вашего текстового приложения вы можете добавить в него новый документ с помощью метода WordApplicaiton.Documents.Add(). Вы можете вставить текст во вновь созданный текстовый файл с помощью метода WrodApplication.Selection.TypeText() и установить шрифт с помощью метода WordApplicaiton.Selection.Font(). Когда вы закончите работу с документом, вы можете сохранить его с помощью метода Document.SaveAs().

Создание документа Word с помощью библиотеки NetOffice

 
  // start word and turn off msg boxes
  Word.Application wordApplication = new Word.Application();
  wordApplication.DisplayAlerts = WdAlertLevel.wdAlertsNone;
  // create a utils instance, no need for but helpful to keep the lines of code low
  CommonUtils utils = new CommonUtils(wordApplication);
  // add a new document
  Word.Document newDocument = wordApplication.Documents.Add();
  // insert some text
  wordApplication.Selection.TypeText("This text is written by automation");
  wordApplication.Selection.HomeKey(WdUnits.wdLine, WdMovementType.wdExtend);
  wordApplication.Selection.Font.Color = WdColor.wdColorSeaGreen;
  wordApplication.Selection.Font.Bold = 1;
  wordApplication.Selection.Font.Size = 18;
  // save the document
  string documentFile = utils.File.Combine(HostApplication.RootDirectory, "Example01", DocumentFormat.Normal);
  newDocument.SaveAs(documentFile);
  // close word and dispose reference
  wordApplication.Quit();
  wordApplication.Dispose();
  // show end dialog
  HostApplication.ShowFinishDialog(null, documentFile);

Создайте таблицу в Word с помощью C#.

NetOffice позволяет программистам .NET программно добавлять таблицы в файл Microsoft Word. Чтобы сначала добавить таблицы в файл Word, необходимо инициализировать приложение Word, отключить окна сообщений и добавить новые документы с помощью метода WordApplicaiton.Documents.Add(). Вы можете вставить таблицу во вновь созданный файл слова, инициализировав Word.Table и установив диапазон таблиц с помощью метода Tables.Add(wordApplication.Selection.Range, 3, 2). Вы можете вставить текст в свои ячейки, выбрав определенную ячейку с помощью table.Cell(1, 1).Select() и вставив в нее текст. Когда вы закончите работу с документом, вы можете сохранить его с помощью метода Document.SaveAs().

Создать таблицу в файле Word через .NET


  Word.Application wordApplication = new Word.Application();
  wordApplication.DisplayAlerts = WdAlertLevel.wdAlertsNone;
  // create a utils instance, not need for but helpful to keep the lines of code low
  CommonUtils utils = new CommonUtils(wordApplication);
  // add a new document
  Word.Document newDocument = wordApplication.Documents.Add();
  // add a table
  Word.Table table = newDocument.Tables.Add(wordApplication.Selection.Range, 3, 2);
  // insert some text into the cells
  table.Cell(1, 1).Select();
  wordApplication.Selection.TypeText("This");
  table.Cell(1, 2).Select();
  wordApplication.Selection.TypeText("table");
  table.Cell(2, 1).Select();
  wordApplication.Selection.TypeText("was");
  table.Cell(2, 2).Select();
  wordApplication.Selection.TypeText("created");
  table.Cell(3, 1).Select();
  wordApplication.Selection.TypeText("by");
  table.Cell(3, 2).Select();
  wordApplication.Selection.TypeText("NetOffice");
  // save the document
  string documentFile = utils.File.Combine(HostApplication.RootDirectory, "Example02", DocumentFormat.Normal);
  newDocument.SaveAs(documentFile);
  // close word and dispose reference
  wordApplication.Quit();
  wordApplication.Dispose();
  // show end dialog
  HostApplication.ShowFinishDialog(null, documentFile);
 Русский