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.

Previous Next

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);
 Čeština