Бесплатная библиотека .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 в качестве зависимостей.
Начало работы с 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);