Вставка текста в Word на C# (3 способ)

Вставка текста в Word на C# (GemBox)

Всем доброго времени суток. На связи Алексей Гулынин. В данной статье я бы хотел рассказать ещё об одном способе добавления информации в документ Word, используя технологию GemBox и язык C#. Конкретно будем работать с библиотекой GemBox.Document.dll). Данная библиотека является платной, но для небольших документов можно её использовать бесплатно. Данная библиотека позволяет работать со следующими типами файлов: docx, doc, pdf, html, xps, rtf и txt.

Ссылка, по которой можно скачать GemBox. На сайте имеется очень хорошая документация.

Будем также вставлять текст, используя закладки (Bookmarks).

Добавляем ссылку на эту библиотеку в наш проект. Сразу приведу код:

using System;
using GemBox.Document;

namespace TestProjectWord
{
  class Program
  {
    static void Main(string[] args)
    {
      DocumentModel doc = null;
      try
      {
        // Путь до файла
        string destFileName = @"D:\Test.docx";
        string[] data = new string[] { "Alex", "Gulynin", "27" };
        // Обязательная строка, указываем, что мы используем лимитированную версию
        ComponentInfo.SetLicense("FREE-LIMITED-KEY");
        // Загружаем в память наш документ
        doc = DocumentModel.Load(destFileName);
        // Коллекция закладок
        BookmarkCollection wBookmarks = doc.Bookmarks;
        // ContentRange - это область содержимого в документе
        ContentRange wRange;
        int i = 0;
        // Пробегаем по всем закладкам в документе
        foreach (Bookmark mark in doc.Bookmarks)
        {
          // Получаем содержимое закладки
          wRange = mark.GetContent(false);
          // Загружаем туда нужный текст
          wRange.LoadText(data[i].ToString());
          i++;
        }
        // Сохраняем изменения в нашем документе
        doc.Save(destFileName);
        doc = null;
      }
      catch (Exception ex)
      {
        doc = null;
        Console.WriteLine("Во время выполнения программы произошла ошибка! Текст ошибки: {0}", ex.Message);
        Console.ReadLine();
      }
    }
  }
}

Более подробно с данной библиотекой можно ознакомиться на официальном сайте. Удобство её использования также заключается в том, что не нужно устанавливать Microsoft Office. Как мы видим кода столько же, что и при работе с Microsoft Word Object Library и гораздо меньше, чем при работе с OpenXML. С какой библиотекой работать — решать вам.

На связи был Алексей Гулынин, оставляйте свои комментарии, увидимся в следующих статьях.


Комментарии:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *