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

Читайте, записуйте, маніпулюйте та конвертуйте файли Word через Open Source .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 і вимкнути вікна повідомлень. Після запуску програми Word ви можете додати до неї новий документ за допомогою методу WordApplicaiton.Documents.Add(). Ви можете вставити текст у щойно створений файл Word за допомогою методу 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, ініціалізувавши 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);
 Українська