Безкоштовна бібліотека .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 як залежностями.
Початок роботи з 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);