UTILISATION D'IRONWORD

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

Regan Pun
Regan Pun
novembre 14, 2023
Partager:

La création, l'édition et la gestion de documents Word sont des exigences fréquentes 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. Visual Studio : Assurez-vous d'avoir Visual Studio installé sur votre machine. Si ce n'est pas le cas, téléchargez-le et installez-le depuis le site officiel de Microsoft.

  2. Microsoft Word : Étant donné que nous utilisons Microsoft Interop, vous devez avoir MS Word installé sur votre ordinateur. Le service Interop s'interface avec l'application Microsoft Word installée sur votre machine.

  3. Connaissances de base en C# Comprendre les bases du C#

  4. .NET Framework : Assurez-vous que votre Visual Studio prend en charge le .NET Framework, car 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. Entrez "Console App (.NET Framework)" dans la boîte de recherche.

  3. Dans les résultats, sélectionnez "Console App (.NET Framework)" 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 pour les applications console.

2. Installez Microsoft.Office.Interop.Word en utilisant le gestionnaire de packages NuGet

NuGet est un gestionnaire de paquets pour .NET, intégré à Visual Studio. Voici comment vous pouvez l'utiliser pour installer le package 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 recherche, sélectionnez le package 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# Modifier Word (Exemple de code Tutoriel Développeur) Figure 1

    Visual Studio va maintenant installer le paquetage et ajouter une référence à celui-ci dans votre projet. Ce package contient les assemblages et outils nécessaires pour interagir avec MS Word depuis 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 IronWord 2024.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")
$vbLabelText   $csharpLabel

Dans le code ci-dessus, remplacez path_to_your_document.docx par le chemin vers 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")
$vbLabelText   $csharpLabel

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()
$vbLabelText   $csharpLabel

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()
$vbLabelText   $csharpLabel

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."
$vbLabelText   $csharpLabel

La méthode Paragraphs.Add() 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")
$vbLabelText   $csharpLabel

Modification d'un texte existant

Pour ce tutoriel, changeons 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."
$vbLabelText   $csharpLabel

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."
$vbLabelText   $csharpLabel

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()
$vbLabelText   $csharpLabel

Remplacez path_where_you_want_to_save.docx par le chemin 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")
$vbLabelText   $csharpLabel

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()
$vbLabelText   $csharpLabel

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")
$vbLabelText   $csharpLabel

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.

Regan Pun
Ingénieur logiciel
Regan est diplômé de l'université de Reading, où il a obtenu une licence en ingénierie électronique. Avant de rejoindre Iron Software, il s'était concentré sur une seule tâche. Ce qu'il apprécie le plus chez Iron Software, c'est la diversité des tâches qu'il peut accomplir, qu'il s'agisse d'apporter une valeur ajoutée aux ventes, à l'assistance technique, au développement de produits ou à la commercialisation. Il aime comprendre comment les développeurs utilisent la bibliothèque d'Iron Software et utiliser ces connaissances pour améliorer continuellement la documentation et développer les produits.
< PRÉCÉDENT
Comment créer un document Word en C#
SUIVANT >
Comment convertir Word en PDF en C#