Jak manipulowac dokumentem Word za pomoca C#
W dzisiejszych czasach dokumenty Microsoft Word są synonimem pracy biurowej oraz komunikacji profesjonalnej i osobistej. Dlatego programowa manipulacja dokumentami Word jest kluczowa dla deweloperów szukających automatyzacji zadań do wyświetlania dla użytkowników w ich aplikacjach. Chociaż istnieje wiele dostępnych bibliotek, nie wszystkie są równie solidne jak inne. Jednak jedynym z takich kandydatów, który się wyróżnia na tle innych, jest IronWord. IronWord to niezawodna i solidna biblioteka C# Word DOCX, która jest łatwa w użyciu i zrozumieniu, upraszczając pracę z dokumentami Word.
Ten artykuł przyjrzy się, jak szybko możemy wykorzystać IronWord do odczytu dokumentów Word na krótkich przykładach.
How To Read a Word File Using C#
-
Utwórz aplikację konsolową w Visual Studio
-
Zainstaluj bibliotekę IronWord C# DOCX
-
Utwórz nowy dokument Word za pomocą klasy WordDocument
-
Dodaj tekst do dokumentu Word
-
Przejdź przez każdy akapit za pomocą klasy Paragraph
-
Wyświetl zawartość
IronWord: Biblioteka C# DOCX

IronWord to elastyczna i skalowalna biblioteka z prostym i łatwym w użyciu API, które eliminuje kłopoty z integracją dokumentów Word w aplikacjach. Niezależnie od tego, czy chcesz dodać i zintegrować prosty dokument tekstowy do swojej aplikacji, czy stworzyć skomplikowane tabele i raporty do wyświetlania użytkownikom, IronWord ma wszystko pokryte.
Oto jego najważniejsze funkcje:
-
Manipulacja Dokumentem: IronWord umożliwia programistom manipulowanie dokumentami Word z łatwością. Niezależnie od tego, czy użytkownicy chcą wstawić akapity tekstu, czy bardziej złożone struktury, takie jak tabele i obrazy, IronWord potrafi to wszystko.
-
Wsparcie Międzyplatformowe i Zgodność: IronWord został zaprojektowany tak, by być elastycznym i wspiera programistów na wielu platformach. Obsługuje różne .NET Core (8, 7, 6, 5 i 3.1+), .NET Standard (2.0+), .NET Framework (4.6.2+) i nawet Azure. Ponadto, programiści mogą korzystać z IronWord na różnych platformach i systemach, w tym, ale nie wyłącznie, Windows, Linux, macOS i Android. Obejmuje najczęściej spotykane platformy i pozwala programistom na szybkie budowanie aplikacji międzyplatformowych.
-
Niezależność od Microsoft Office: Jednym z najczęstszych problemów związanych z integracją dokumentów Word w aplikacjach .NET jest to, że popularne biblioteki, takie jak Interop, wymagają licencjonowanej instalacji Microsoft Office. Jednak IronWord łagodzi ten problem, będąc niezależnym od tego ograniczenia. Programiści mogą w pełni wykorzystać moc dokumentów Word bez konieczności posiadania licencji i instalacji Microsoft Word.
-
Opcje Formatowania: IronWord oferuje szerokie wsparcie dla formatowania i stylizacji, umożliwiając programistom uczynić dokument unikalnym. Programiści mogą stosować czcionki do swojego tekstu, kolory, wyrównania i inne złożone formatowanie, takie jak style tabeli.
-
Łatwość użycia i wsparcie: Oprócz łatwego do zrozumienia API i prostych wywołań metod, IronWord także zapewnia referencje API rozszerzeń i przykłady kodu, aby pomóc programistom określić najoptymalniejsze sposoby korzystania z IronWord.
Tworzenie Nowego Projektu Konsolowego w Visual Studio
Zanim przejdziemy do przykładu, zacznijmy od tworzenia pustego projektu konsolowego w Visual Studio.

Następnie podajemy nazwę i lokalizację zapisu dla projektu.

Następnie wybierz framework .NET, którego będziesz używać. W tym przykładzie użyję .NET 8.0.

Po utworzeniu i skonfigurowaniu nowego projektu konsolowego, zainstalujmy naszą bibliotekę słowa C#, IronWord.
Instalacja IronWord
Istnieją dwa sposoby instalacji IronWord.
1. Instalacja poprzez Menedżera Pakietów NuGet
Aby zainstalować za pomocą Menedżera pakietów NuGet, kliknij narzędzia i następnie Manage NuGet Packages for Solution. Następnie wyszukujemy IronWord w pasku wyszukiwania i instalujemy **IronWord**.

2. Instalacja poprzez Konsolę Menedżera Pakietów NuGet
Alternatywną metodą jest zainstalowanie przez Konsolę Menedżera Pakietów NuGet. Aby to zrobić, uruchom następujące polecenie w konsoli:
Klucz licencyjny
Zwróć uwagę, że IronWord nie działa bez klucza licencyjnego; można go uzyskać tutaj jako część bezpłatnego okresu próbnego.
Po uzyskaniu klucza testowego upewnij się, że ta zmienna jest ustawiona w twoim projekcie.
// Replace the license key variable with the trial key you obtained
IronWord.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";' Replace the license key variable with the trial key you obtained
IronWord.License.LicenseKey = "REPLACE-WITH-YOUR-KEY"Reading Word Documents in C#
Po zainstalowaniu wymagań, zademonstrujemy prostotę odczytywania dokumentu Microsoft Word przy użyciu IronWord w poniższym kodzie.
Najpierw importujemy niezbędne przestrzenie nazw. Korzystając z IronWord, tworzymy nowy dokument i dodajemy przykładowy tekst. Następnie uzyskujemy dostęp do akapitów i tekstu, korzystając z obiektu WordDocument, aby wydrukować tekst w dokumencie Word.
using IronWord;
using IronWord.Models;
#region Licensing
// Set the IronWord license key before using the IronWord functionalities
IronWord.License.LicenseKey = "YOUR-KEY-HERE";
#endregion
// Create text run with sample text
Text textRunExample = new Text("Sample text");
// Create a paragraph and add the text run to it
Paragraph paragraphExample = new Paragraph();
paragraphExample.AddChild(textRunExample);
// Create a new Word document with the paragraph
WordDocument doc = new WordDocument(paragraphExample);
// Export the document as a DOCX file
doc.SaveAs("document.docx");
// Access paragraphs and text runs within the document
foreach (Paragraph paragraph in doc.Paragraphs)
{
foreach (Text textRun in paragraph.Texts)
{
// Access text content
string content = textRun.Text;
// Display the content to the console
Console.WriteLine(content);
}
}Imports IronWord
Imports IronWord.Models
#Region "Licensing"
' Set the IronWord license key before using the IronWord functionalities
IronWord.License.LicenseKey = "YOUR-KEY-HERE"
'#End Region
' Create text run with sample text
Dim textRunExample As New Text("Sample text")
' Create a paragraph and add the text run to it
Dim paragraphExample As New Paragraph()
paragraphExample.AddChild(textRunExample)
' Create a new Word document with the paragraph
Dim doc As New WordDocument(paragraphExample)
' Export the document as a DOCX file
doc.SaveAs("document.docx")
' Access paragraphs and text runs within the document
For Each paragraph As Paragraph In doc.Paragraphs
For Each textRun As Text In paragraph.Texts
' Access text content
Dim content As String = textRun.Text
' Display the content to the console
Console.WriteLine(content)
Next textRun
Next paragraphZbadajmy metody i parametry do odczytywania plików słów z powyższego kodu.
-
Najpierw tworzymy obiekt Text i przypisujemy do niego ciąg znaków "Sample text".
-
Następnie instancjujemy obiekt Paragraph i dodajemy do niego "textRunExample".
-
Tworzymy również obiekt WordDocument, nazywamy go
WordDocument doc,i przekazujemy do niegoparagraphExample, aby utworzyć nowy dokument Word zawierający akapit. -
Kod zapisuje dokument Word o nazwie pliku "document.docx" do późniejszego użycia.
-
Aby uzyskać dostęp do akapitów w właśnie utworzonym dokumencie Word, uzyskujemy dostęp do właściwości "Paragraphs" obiektu WordDocument. Właściwość "Paragraphs" to lista. Dlatego wywołujemy pętlę foreach, aby przeiterować przez nią.
-
Aby uzyskać tekst w akapicie, uzyskujemy dostęp do właściwości "Texts" Paragraphs. To również zwraca listę Text.
-
Na koniec przypisujemy Text do zmiennej string o nazwie "content" i drukujemy ją na konsoli.
Wyjście konsoli

Reading an existing Word document in C#
W poprzednim przykładzie programowo utworzono nowy dokument Word i odczytano jego zawartość. Możemy podążać podobnymi krokami, aby odczytać istniejący dokument Word, dokonując kilku zmian w kodzie.
Dokument wejściowy

using IronWord;
using IronWord.Models;
#region Licensing
// Set the IronWord license key before using the IronWord functionalities
IronWord.License.LicenseKey = "YOUR-KEY-HERE";
#endregion
// Load an existing Word document
WordDocument doc = new WordDocument("existing_document.docx");
// Access paragraphs and text runs within the document
foreach (Paragraph paragraph in doc.Paragraphs)
{
foreach (Text textRun in paragraph.Texts)
{
// Access text content
string content = textRun.Text;
// Display the content to the console
Console.WriteLine(content);
}
}Imports IronWord
Imports IronWord.Models
#Region "Licensing"
' Set the IronWord license key before using the IronWord functionalities
IronWord.License.LicenseKey = "YOUR-KEY-HERE"
'#End Region
' Load an existing Word document
Dim doc As New WordDocument("existing_document.docx")
' Access paragraphs and text runs within the document
For Each paragraph As Paragraph In doc.Paragraphs
For Each textRun As Text In paragraph.Texts
' Access text content
Dim content As String = textRun.Text
' Display the content to the console
Console.WriteLine(content)
Next textRun
Next paragraphGłówna różnica między dwoma przykładami polega na przekazywanym parametrze do obiektu WordDocument. Zamiast tworzyć nowy dokument, ładujemy do niego istniejący plik Word. Reszta jest taka sama jak w drugim przykładzie.
Wyjście konsoli

Wnioski
Przez cały czas w przykładach zademonstrowaliśmy, jak prosty w użyciu jest IronWord, umożliwiając programowe manipulowanie i odczytywanie dokumentów Word w C#. Elastyczność i skalowalność biblioteki IronWord czynią ją wartościowym narzędziem, które pozwala programistom korzystać z IronWord w praktycznych, rzeczywistych przykładach, takich jak wypełnianie szablonów, generowanie raportów i przetwarzanie dokumentów w partiach. Zrozumienie, jak Word integruje się z aplikacjami, jest wartościowe, ponieważ dostarcza programistom więcej rozwiązań ich problemów.
Ponadto, programiści mogą testować rozległe funkcje IronWord przez pewien czas przed zakupem, ponieważ oferuje licencję bezpłatną próbę. Oprócz łatwości w użyciu, IronWord również oferuje szczegółową dokumentację i wsparcie 24/5 dla programistów, co łagodzi stałą frustrację, z którą mogą się zetknąć w przypadku produkcji. Oferujemy również różne samouczki i szereg przykładów kodu, które pomogą Ci rozpocząć pracę z IronWord.
Po przetestowaniu różnych funkcji IronWord przy użyciu Licencji Trial możesz kupić naszą licencję deweloperską Lite, której cena zaczyna się od 599 USD, a kolejne poziomy to Lite i Professional. Więcej informacji można znaleźć na naszej stronie poświęconej licencjom.

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.
Powiązane artykuły

