Gratis .NET-bibliotek for å lage tekstbehandlingsdokumenter
Les, skriv, manipuler og konverter Word-filer via Open Source .NET API.
NetOffice er en åpen kildekode API som lar .NET-utviklere automatisere Microsoft Office og utvikle Microsoft Office-tillegg. Ved å bruke API kan utvikleren bruke alle funksjonene som er inkludert i MS Office versjoner 2000, 2002, 2003, 2007, 2010, 2013 og 2016. APIen er basert på COM-arkitektur der du henter COM proxy-objekter i applikasjonen din og du må frigjøre hvert COM-proxy-objekt. Den største fordelen med å bruke NetOffice er muligheten til å jobbe med en annen versjon av Microsoft Office på en gang, og den tilbyr en beskyttelsesmekanisme for administrasjon av COM-proxyer.
Ved å bruke API kan du utvikle en applikasjon for både 32-biters og 64-biters operativsystemer. Du kan bruke NetOffice-sammenstillingene i alle scenarier uten bekymringer. API-en gir en haug med biblioteker for å manipulere kontordokumenter. For å kunne jobbe med Microsoft Word-dokumenter må du WordApi.dll med OfficeApi.ddl, VBIDEApi.dll og NetOffice.dll som avhengigheter.
Komme i gang med NetOffice
Først av alt må du ha .NET Framework 4.5 eller nyere. Etter det, last ned depotet manuelt fra GitHub eller installer det fra NuGet.
Installasjon NetOffice fra NuGet
Install-Package NetOfficeFw.Word
Lag Word-dokument med gratis C# API
NetOffice lar .NET-programmerere lage Microsoft Word-filer programmatisk. For å lage en Word-fil må du først initialisere et Word-program og slå av meldingsbokser. Etter at Word-applikasjonen er startet, kan du legge til et nytt dokument til den ved å bruke WordApplicaiton.Documents.Add()-metoden. Du kan sette inn tekst i den nyopprettede Word-filen ved å bruke metoden WrodApplication.Selection.TypeText() og angi skrift ved hjelp av WordApplicaiton.Selection.Font()-metoden. Når du er ferdig med dokumentet, kan du lagre det ved å bruke Document.SaveAs()-metoden.
Opprett Word-dokument 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);
Lag en tabell i Word med C#
NetOffice lar .NET-programmerere legge til tabeller i Microsoft Word-fil programmatisk. For å legge til tabeller i en Word-fil først, må du initialisere et Word-program og slå av meldingsbokser og legge til nye dokumenter ved å bruke WordApplicaiton.Documents.Add()-metoden. Du kan sette inn en tabell i den nyopprettede Word-filen ved å initialisere Word.Table og angi tabellområde ved å bruke Tables.Add(wordApplication.Selection.Range, 3, 2) metoden. Du kan sette inn tekst i cellene dine ved å velge en bestemt celle ved å bruke table.Cell(1, 1).Select() og sett inn tekst i den. Når du er ferdig med dokumentet, kan du lagre det ved å bruke Document.SaveAs()-metoden.
Lag tabell i Word-fil 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);