Gratis .NET-bibliotheek voor het maken van tekstverwerkingsdocumenten
Lees, schrijf, manipuleer en converteer Word-bestanden via Open Source .NET API.
NetOffice is een open source API waarmee .NET-ontwikkelaars Microsoft Office kunnen automatiseren en Microsoft Office-invoegtoepassingen kunnen ontwikkelen. Met behulp van de API kan de ontwikkelaar alle functies gebruiken die zijn opgenomen in MS Office-versies 2000, 2002, 2003, 2007, 2010, 2013 en 2016. De API is gebaseerd op COM-architectuur waarbij u COM-proxy-objecten in uw applicatie ophaalt en u moet elk COM-proxyobject vrijmaken. Het belangrijkste voordeel van het gebruik van NetOffice is de mogelijkheid om in één keer met een andere versie van Microsoft Office te werken en het biedt een beschermingsmechanisme voor het beheer van COM-proxy's.
Met behulp van de API kunt u een applicatie ontwikkelen voor zowel 32-bits als 64-bits besturingssystemen. U kunt de NetOffice-assemblies in alle scenario's zonder zorgen gebruiken. De API biedt een aantal bibliotheken om kantoordocumenten te manipuleren. Om met Microsoft Word-documenten te kunnen werken, moet u WordApi.dll gebruiken met OfficeApi.ddl, VBIDEApi.dll en NetOffice.dll als afhankelijkheden.
Aan de slag met NetOffice
Allereerst moet u .NET Framework 4.5 of hoger hebben. Download daarna de repository handmatig van GitHub of installeer het vanuit NuGet.
Installatie NetOffice van NuGet
Install-Package NetOfficeFw.Word
Maak een Word-document met behulp van de gratis C# API
Met NetOffice kunnen .NET-programmeurs programmatisch Microsoft Word-bestanden maken. Om een Word-bestand te maken, moet u eerst een Word-toepassing initialiseren en berichtvensters uitschakelen. Nadat uw woordtoepassing is gestart, kunt u er een nieuw document aan toevoegen met de methode WordApplication.Documents.Add() . U kunt tekst invoegen in uw nieuw gemaakte Word-bestand met behulp van de methode WrodApplication.Selection.TypeText() en het lettertype instellen met de methode WordApplicaiton.Selection.Font(). Als u klaar bent met uw document, kunt u het opslaan met de methode Document.SaveAs().
Maak een Word-document via 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);
Maak een tabel in Word met C#
Met NetOffice kunnen .NET-programmeurs programmatisch tabellen in Microsoft Word-bestanden toevoegen. Om eerst tabellen in een Word-bestand toe te voegen, moet u een Word-toepassing initialiseren en berichtvensters uitschakelen en nieuwe documenten toevoegen met de methode WordApplication.Documents.Add() . U kunt een tabel in uw nieuw gemaakte Word-bestand invoegen door Word.Table te initialiseren en het tabelbereik in te stellen met behulp van de methode Tables.Add(wordApplication.Selection.Range, 3, 2). U kunt tekst in uw cellen invoegen door een specifieke cel te selecteren met table.Cell(1, 1).Select() en er tekst in in te voegen. Als u klaar bent met uw document, kunt u het opslaan met de methode Document.SaveAs().
Tabel maken in Word-bestand via .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);