Gratis .NET-bibliotek för att skapa ordbehandlingsdokument
Läs, skriv, manipulera och konvertera Word-filer via Open Source .NET API.
NetOffice är ett API med öppen källkod som låter .NET-utvecklare automatisera Microsoft Office och utveckla Microsoft Office-tillägg. Med hjälp av API:t kan utvecklaren använda alla funktioner som ingår i MS Office versionerna 2000, 2002, 2003, 2007, 2010, 2013 och 2016. API:t är baserat på COM-arkitektur där du hämtar COM proxyobjekt i din applikation och du måste frigöra alla COM-proxyobjekt. Den största fördelen med att använda NetOffice är möjligheten att arbeta med en annan version av Microsoft Office på en gång och det erbjuder en skyddsmekanism för hantering av COM-proxyer.
Med hjälp av API:et kan du utveckla en applikation för både 32-bitars och 64-bitars operativsystem. Du kan använda NetOffice-sammansättningarna i alla scenarier utan några bekymmer. API:et tillhandahåller ett gäng bibliotek för att manipulera kontorsdokument. För att kunna arbeta med Microsoft Word-dokument behöver du WordApi.dll med OfficeApi.ddl, VBIDEApi.dll och NetOffice.dll som beroenden.
Komma igång med NetOffice
Först och främst måste du ha .NET Framework 4.5 eller högre. Efter det laddar du ner förvaret manuellt från GitHub eller installerar det från NuGet.
Installation NetOffice från NuGet
Install-Package NetOfficeFw.Word
Skapa Word-dokument med gratis C# API
NetOffice tillåter .NET-programmerare att skapa Microsoft Word-filer programmatiskt. För att skapa en Word-fil måste du först initiera ett Word-program och stänga av meddelanderutor. Efter att din word-applikation har startat kan du lägga till ett nytt dokument till den med metoden WordApplicaiton.Documents.Add(). Du kan infoga text i din nyskapade word-fil med metoden WrodApplication.Selection.TypeText() och ställa in typsnitt med metoden WordApplicaiton.Selection.Font(). När du är klar med ditt dokument kan du spara det med metoden Document.SaveAs().
Skapa 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);
Skapa en tabell i Word med C#
NetOffice tillåter .NET-programmerare att lägga till tabeller i Microsoft Word-filer programmatiskt. För att lägga till tabeller i en Word-fil först måste du initiera ett Word-program och stänga av meddelanderutor och lägga till nya dokument med metoden WordApplicaiton.Documents.Add(). Du kan infoga en tabell i din nyskapade word-fil genom att initiera Word.Table och ställa in tabellintervall med Tables.Add(wordApplication.Selection.Range, 3, 2) metoden. Du kan infoga text i dina celler genom att välja en specifik cell med table.Cell(1, 1).Select() och infoga text i den. När du är klar med ditt dokument kan du spara det med metoden Document.SaveAs().
Skapa 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);