UTILISATION D'IRONWORD

C# Editer Word (Tutoriel du développeur d'exemples de code)

Publié novembre 14, 2023
Partager:

La création, l'édition et la gestion de documents Word est une exigence fréquente pour de nombreuses applications. Bien qu'il existe plusieurs façons de créer et de modifier un document Word en C#, l'une des méthodes les plus puissantes consiste à utiliser les services Microsoft Interop. Grâce à cet outil, vous pouvez manipuler des documents Word de manière programmatique avec une grande facilité.

Conditions préalables

Avant de configurer l'environnement et de commencer à travailler avec le code, assurez-vous que vous remplissez les conditions préalables suivantes :

  1. Studio visuel : Assurez-vous d'avoirVisual Studio installé sur votre machine. Si ce n'est pas le cas, téléchargez et installez le logiciel à partir du site officiel de Microsoft.

  2. Microsoft Word : Puisque nous utilisons Microsoft Interop, vous devez avoirMS Word installé sur votre ordinateur. Le service Interop s'interface avec l'application Microsoft Word installée sur votre machine.

  3. Connaissance de base du C# Compréhension des bases du C&num ;

  4. .NET Framework : Assurez-vous que votre Visual Studio supporte le Framework .NET puisque notre application sera basée dessus.

Mise en place de l'environnement

Commencez par ouvrir l'application Visual Studio. Une fois ouvert, vous serez accueilli par un écran de bienvenue.

1. Créer une nouvelle application de la console du Framework .NET

  1. Cliquez sur "Créer un nouveau projet".

  2. Tapez "Console App(framework .NET)"dans la boîte de recherche.

  3. Dans les résultats, sélectionnez "Console App(framework .NET)"et cliquez sur le bouton "Suivant".

  4. Donnez un nom à votre projet, puis cliquez sur le bouton "Créer".

    Après ces étapes, Visual Studio génère pour vous une nouvelle application de console Framework .NET. Dans le fichier Program.cs, vous trouverez un modèle de base avec une méthode Main, qui est le point d'entrée des applications de console.

2. Installer Microsoft.Office.Interop.Word avec NuGet Package Manager

NuGet est un gestionnaire de paquets pour .NET, intégré à Visual Studio. Voici comment vous pouvez l'utiliser pour installer le paquet Microsoft.Office.Interop.Word :

  1. Dans Visual Studio, allez dans le menu "Outils".

  2. Sélectionnez "NuGet Package Manager" puis "Manage NuGet Packages for Solution...".

  3. Dans la fenêtre NuGet, cliquez sur l'onglet "Browse".

  4. Dans la boîte de recherche, tapez Microsoft.Office.Interop.Word et appuyez sur entrée.

  5. Dans les résultats de la recherche, sélectionnez le paquet Microsoft.Office.Interop.Word.

  6. Sur le côté droit, assurez-vous que votre projet d'application console est coché, puis cliquez sur le bouton "Installer".

    C# Editer Word (Exemple de code Tutoriel du développeur) Figure 1

    Visual Studio va maintenant installer le paquetage et ajouter une référence à celui-ci dans votre projet. Ce paquet contient les assemblages et les outils nécessaires pour interagir avec MS Word à partir de votre application C#.

Présentation d'IronWord : Une alternative supérieure à Interop

Bien qu'Interop offre des possibilités puissantes pour travailler avec Word et Excel, il a ses limites. IronWord est une bibliothèque polyvalente optimisée pour les développeurs .NET. IronWord offre une expérience plus fluide qu'Interop, en particulier pour les tâches d'édition de documents Word. Il garantit non seulement la compatibilité et la performance, mais simplifie également les tâches complexes grâce à des méthodes intuitives. Pour faciliter la comparaison, je fournirai des extraits de code IronWord pour chaque cas d'utilisation après MS Word, en utilisant la version IronWord2024.1.2.

Ouverture d'un document Word existant

Il arrive souvent que vous deviez modifier des documents Word existants. L'exemple suivant montre comment procéder en C# :

var WordApp = new Microsoft.Office.Interop.Word.Application();
var WordDoc = WordApp.Documents.Open(@"path_to_your_document.docx");
var WordApp = new Microsoft.Office.Interop.Word.Application();
var WordDoc = WordApp.Documents.Open(@"path_to_your_document.docx");
Dim WordApp = New Microsoft.Office.Interop.Word.Application()
Dim WordDoc = WordApp.Documents.Open("path_to_your_document.docx")
VB   C#

Dans le code ci-dessus, remplacez chemin_vers_votre_document.docx par le chemin d'accès à votre fichier docx.

Utilisation d'IronWord

Ouvrez un document Word à l'aide d'IronWord.

WordDocument doc = new WordDocument(@"path_to_your_document.docx");
WordDocument doc = new WordDocument(@"path_to_your_document.docx");
Dim doc As New WordDocument("path_to_your_document.docx")
VB   C#

Création d'un nouveau document Word

Pour créer des documents Word à partir de zéro :

var WordApp = new Microsoft.Office.Interop.Word.Application();
var WordDoc = WordApp.Documents.Add();
var WordApp = new Microsoft.Office.Interop.Word.Application();
var WordDoc = WordApp.Documents.Add();
Dim WordApp = New Microsoft.Office.Interop.Word.Application()
Dim WordDoc = WordApp.Documents.Add()
VB   C#

Cet extrait de code crée un nouveau document Word que vous pouvez rédiger et modifier à l'aide de C#.

Utilisation d'IronWord

WordDocument doc = new WordDocument();
WordDocument doc = new WordDocument();
Dim doc As New WordDocument()
VB   C#

Utilisation de C# ;

Ajouter du texte au document Word

Pour ajouter un nouveau paragraphe de texte :

WordDoc.Paragraphs.Add();
WordDoc.Paragraphs [1].Range.Text = "This is the first paragraph.";
WordDoc.Paragraphs.Add();
WordDoc.Paragraphs [1].Range.Text = "This is the first paragraph.";
WordDoc.Paragraphs.Add()
WordDoc.Paragraphs (1).Range.Text = "This is the first paragraph."
VB   C#

L'option Paragraphes.Ajouter()la méthode ajoute un nouveau paragraphe au document Word et la propriété Range.Text lui attribue un nouveau texte.

Utilisation d'IronWord

doc.AddText("Add text using IronWord");
doc.AddText("Add text using IronWord");
doc.AddText("Add text using IronWord")
VB   C#

Modification d'un texte existant

Pour ce tutoriel, modifions le premier paragraphe :

WordDoc.Paragraphs [1].Range.Text = "This is the edited first paragraph.";
WordDoc.Paragraphs [1].Range.Text = "This is the edited first paragraph.";
WordDoc.Paragraphs (1).Range.Text = "This is the edited first paragraph."
VB   C#

Vous pouvez également ajouter et modifier d'autres éléments dans le document Word en utilisant des méthodes similaires.

Utilisation d'IronWord

doc.Paragraphs [0].TextRuns [0].Text = "This is the edited first paragraph.";
doc.Paragraphs [0].TextRuns [0].Text = "This is the edited first paragraph.";
doc.Paragraphs (0).TextRuns (0).Text = "This is the edited first paragraph."
VB   C#

Sauvegarde et fermeture du document

Une fois que vous avez effectué les modifications souhaitées :

WordDoc.SaveAs(@"path_where_you_want_to_save.docx");
WordDoc.Close();
WordApp.Quit();
WordDoc.SaveAs(@"path_where_you_want_to_save.docx");
WordDoc.Close();
WordApp.Quit();
WordDoc.SaveAs("path_where_you_want_to_save.docx")
WordDoc.Close()
WordApp.Quit()
VB   C#

Remplacer path_where_you_want_to_save.docx par le chemin d'accès souhaité.

Utilisation d'IronWord

doc.SaveAs(@"path_where_you_want_to_save.docx");
doc.SaveAs(@"path_where_you_want_to_save.docx");
doc.SaveAs("path_where_you_want_to_save.docx")
VB   C#

Code complet et exemple

Mettons tout cela bout à bout. Voici un exemple de code complet démontrant comment ouvrir un document Word existant, le modifier, puis enregistrer les changements :

var WordApp = new Microsoft.Office.Interop.Word.Application();

// Create a new Word document
var WordDoc = WordApp.Documents.Add();

// Add new text
WordDoc.Paragraphs.Add();
WordDoc.Paragraphs [1].Range.Text = "This is the first paragraph.";

// Edit the first paragraph
WordDoc.Paragraphs [1].Range.Text = "This is the edited first paragraph.";

// Save and close
WordDoc.SaveAs(@"path_where_you_want_to_save.docx");
WordDoc.Close();
WordApp.Quit();
var WordApp = new Microsoft.Office.Interop.Word.Application();

// Create a new Word document
var WordDoc = WordApp.Documents.Add();

// Add new text
WordDoc.Paragraphs.Add();
WordDoc.Paragraphs [1].Range.Text = "This is the first paragraph.";

// Edit the first paragraph
WordDoc.Paragraphs [1].Range.Text = "This is the edited first paragraph.";

// Save and close
WordDoc.SaveAs(@"path_where_you_want_to_save.docx");
WordDoc.Close();
WordApp.Quit();
Dim WordApp = New Microsoft.Office.Interop.Word.Application()

' Create a new Word document
Dim WordDoc = WordApp.Documents.Add()

' Add new text
WordDoc.Paragraphs.Add()
WordDoc.Paragraphs (1).Range.Text = "This is the first paragraph."

' Edit the first paragraph
WordDoc.Paragraphs (1).Range.Text = "This is the edited first paragraph."

' Save and close
WordDoc.SaveAs("path_where_you_want_to_save.docx")
WordDoc.Close()
WordApp.Quit()
VB   C#

Utilisation d'IronWord

L'exemple de code complet comparé à MS Word. IronWord utilise des extraits de code concis pour éditer les fichiers DOCX.

// Create an empty Word document
WordDocument doc = new WordDocument();

// Add new text
doc.AddText("This is the first paragraph.");

// Edit text
doc.Paragraphs [0].TextRuns [0].Text = "This is the edited first paragraph.";

// Export docx
doc.SaveAs(@"path_where_you_want_to_save.docx");
// Create an empty Word document
WordDocument doc = new WordDocument();

// Add new text
doc.AddText("This is the first paragraph.");

// Edit text
doc.Paragraphs [0].TextRuns [0].Text = "This is the edited first paragraph.";

// Export docx
doc.SaveAs(@"path_where_you_want_to_save.docx");
' Create an empty Word document
Dim doc As New WordDocument()

' Add new text
doc.AddText("This is the first paragraph.")

' Edit text
doc.Paragraphs (0).TextRuns (0).Text = "This is the edited first paragraph."

' Export docx
doc.SaveAs("path_where_you_want_to_save.docx")
VB   C#

Conclusion

Dans le domaine de la manipulation des documents Word et Excel au sein des applications .NET, les choix sont nombreux. Alors que les services Interop de Microsoft ont été une référence pour beaucoup, l'émergence de solutions comme IronWord signifie une évolution vers des outils plus efficaces et plus conviviaux.

< PRÉCÉDENT
Comment créer un document Word en C#
SUIVANT >
Comment convertir Word en PDF en C#