Bezplatná knihovna .NET pro vytváření dokumentů pro zpracování textu
Číst, psát, manipulovat a převádět soubory aplikace Word prostřednictvím Open Source .NET API.
NetOffice je open source API, které umožňuje vývojářům .NET automatizovat Microsoft Office a vyvíjet doplňky Microsoft Office. Pomocí API může vývojář využívat všechny funkce obsažené ve verzích MS Office 2000, 2002, 2003, 2007, 2010, 2013 a 2016. API je založeno na architektuře COM, kde ve své aplikaci načítáte objekty proxy COM a musíte uvolnit každý objekt proxy COM. Hlavní výhodou použití NetOffice je možnost pracovat s jinou verzí Microsoft Office najednou a nabízí ochranný mechanismus pro správu COM proxy.
Pomocí API můžete vyvinout aplikaci pro 32bitové i 64bitové operační systémy. Sestavení NetOffice můžete bez obav používat ve všech scénářích. API poskytuje spoustu knihoven pro manipulaci s kancelářskými dokumenty. Abyste mohli pracovat s dokumenty Microsoft Word, potřebujete WordApi.dll s OfficeApi.ddl, VBIDEApi.dll a NetOffice.dll jako závislosti.
Začínáme s NetOffice
Nejprve musíte mít .NET Framework 4.5 nebo vyšší. Poté si repozitář stáhněte ručně z GitHubu nebo jej nainstalujte z NuGet.
Instalace NetOffice od NuGet
Install-Package NetOfficeFw.Word
Vytvořte dokument Word pomocí bezplatného C# API
NetOffice umožňuje programátorům .NET vytvářet soubory Microsoft Word programově. Chcete-li vytvořit soubor aplikace Word, musíte nejprve inicializovat aplikaci Word a vypnout schránky zpráv. Po spuštění aplikace Word do ní můžete přidat nový dokument pomocí metody WordApplicaiton.Documents.Add(). Do nově vytvořeného souboru Word můžete vložit text pomocí metody WrodApplication.Selection.TypeText() a nastavit písmo pomocí metody WordApplicaiton.Selection.Font(). Jakmile budete s dokumentem hotovi, můžete jej uložit pomocí metody Document.SaveAs().
Vytvořte dokument Word pomocí knihovny 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);
Vytvořte tabulku ve Wordu pomocí C#
NetOffice umožňuje programátorům .NET přidávat tabulky do souboru Microsoft Word programově. Chcete-li nejprve přidat tabulky do souboru aplikace Word, musíte inicializovat aplikaci Word a vypnout schránky zpráv a přidat nové dokumenty pomocí metody WordApplicaiton.Documents.Add(). Do nově vytvořeného souboru Word můžete vložit tabulku inicializací Word.Table a nastavením rozsahu tabulky pomocí metody Tables.Add(wordApplication.Selection.Range, 3, 2). Text do buněk můžete vložit výběrem konkrétní buňky pomocí table.Cell(1, 1).Select() a vložit do ní text. Jakmile budete s dokumentem hotovi, můžete jej uložit pomocí metody Document.SaveAs().
Vytvořte tabulku v souboru Word přes .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);