Bezpłatna biblioteka .NET do tworzenia dokumentów do przetwarzania tekstu
Czytaj, zapisuj, manipuluj i konwertuj pliki Word za pomocą Open Source .NET API.
NetOffice to interfejs API typu open source, który umożliwia programistom .NET automatyzację pakietu Microsoft Office i tworzenie dodatków do pakietu Microsoft Office. Korzystając z API, programista może korzystać ze wszystkich funkcji zawartych w MS Office w wersjach 2000, 2002, 2003, 2007, 2010, 2013 i 2016. API jest oparte na architekturze COM, w której pobierasz obiekty proxy COM w swojej aplikacji i Ty trzeba zwolnić każdy obiekt proxy COM. Główną zaletą korzystania z NetOffice jest możliwość pracy z różnymi wersjami pakietu Microsoft Office w tym samym czasie oraz oferuje mechanizm ochrony do zarządzania serwerami proxy COM.
Korzystając z interfejsu API, możesz opracować aplikację dla 32-bitowych i 64-bitowych systemów operacyjnych. Możesz używać zestawów NetOffice we wszystkich scenariuszach bez żadnych obaw. API udostępnia kilka bibliotek do manipulowania dokumentami biurowymi. Aby pracować z dokumentami Microsoft Word, musisz WordApi.dll z OfficeApi.ddl, VBIDEApi.dll i NetOffice.dll jako zależnościami.
Pierwsze kroki z NetOffice
Przede wszystkim musisz mieć .NET Framework 4.5 lub nowszy. Następnie pobierz repozytorium ręcznie z GitHub lub zainstaluj je z NuGet.
Instalacja NetOffice z NuGet
Install-Package NetOfficeFw.Word
Utwórz dokument Word za pomocą bezpłatnego interfejsu API C#
NetOffice umożliwia programistom .NET programistyczne tworzenie plików Microsoft Word. Aby utworzyć plik Word, najpierw musisz zainicjować aplikację Word i wyłączyć okna wiadomości. Po uruchomieniu aplikacji tekstowej możesz dodać do niej nowy dokument za pomocą metody WordApplicaiton.Documents.Add(). Tekst można wstawić do nowo utworzonego pliku tekstu za pomocą metody WrodApplication.Selection.TypeText() i ustawić czcionkę za pomocą metody WordApplicaiton.Selection.Font(). Gdy skończysz z dokumentem, możesz go zapisać za pomocą metody Document.SaveAs().
Utwórz dokument Word za pomocą biblioteki 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);
Utwórz tabelę w programie Word za pomocą C#
NetOffice umożliwia programistom .NET programowe dodawanie tabel w pliku Microsoft Word. Aby najpierw dodać tabele w pliku Word, musisz zainicjować aplikację Word i wyłączyć okna komunikatów oraz dodać nowe dokumenty za pomocą metody WordApplicaiton.Documents.Add(). Możesz wstawić tabelę do nowo utworzonego pliku Word, inicjując Word.Table i ustawiając zakres tabeli za pomocą metody Tables.Add(wordApplication.Selection.Range, 3, 2). Możesz wstawić tekst do komórek, zaznaczając konkretną komórkę za pomocą funkcji table.Cell(1, 1).Select() i wstaw do niej tekst. Gdy skończysz z dokumentem, możesz go zapisać za pomocą metody Document.SaveAs().
Utwórz tabelę w pliku Word przez .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);