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.

Previous Next

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);
 Norsk