Безплатна .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 приложение и да изключите полетата за съобщения. След стартиране на вашето Word приложение можете да добавите нов документ към него с помощта на метода WordApplicaiton.Documents.Add(). Можете да вмъкнете текст в новосъздадения word файл с помощта на метода WrodApplication.Selection.TypeText() и да зададете шрифт с помощта на метода WordApplicaiton.Selection.Font(). След като приключите с вашия документ, можете да го запишете с помощта на метода Document.SaveAs().
Създайте Word документ чрез NetOffice Library
// 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);