Passer au contenu du pied de page
UTILISATION D'IRONWORD

Éditer Word en C# (Exemple de code Tutoriel Développeur)

La création, la modification et la gestion de documents Word sont des opérations fréquemment requises 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. Cet outil vous permet de gérer très facilement les documents Word par programmation.

Prérequis

Avant de configurer l'environnement et de commencer à coder, assurez-vous de respecter les prérequis suivants :

  1. Visual Studio : Assurez-vous que Visual Studio est installé sur votre ordinateur. Si ce n'est pas le cas, téléchargez-le et installez-le depuis le site web officiel de Microsoft.
  2. Microsoft Word : Puisque nous utilisons Microsoft Interop, vous devez avoir MS Word installé sur votre ordinateur. Le service Interop assure l'interface avec l'application Microsoft Word installée sur votre ordinateur.
  3. Connaissances de base en C# : La compréhension des concepts de base du C# est essentielle.
  4. .NET Framework : Assurez-vous que votre Visual Studio prend en charge le .NET Framework, car notre application sera basée sur celui-ci.

Configurer l'environnement

Commencez par ouvrir l'application Visual Studio. Une fois la page ouverte, un écran de bienvenue s'affichera.

1. Créer une nouvelle application console .NET Framework

  1. Cliquez sur " Créer un nouveau projet ".
  2. Tapez " Application console (.NET Framework) " dans la zone de recherche.
  3. Dans les résultats, sélectionnez " Application console (.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érera pour vous une nouvelle application console .NET Framework. 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 console.

2. Installez Microsoft.Office.Interop.Word à l'aide du Gestionnaire de packages NuGet

NuGet est un gestionnaire de packages pour .NET, et il est intégré à Visual Studio. Voici comment l'utiliser pour installer le package Microsoft.Office.Interop.Word :

  1. Dans Visual Studio, accédez au menu " Outils ".
  2. Sélectionnez " Gestionnaire de packages NuGet ", puis " Gérer les packages NuGet pour la solution... ".
  3. Dans la fenêtre NuGet, cliquez sur l'onglet " Parcourir ".
  4. Dans la zone de recherche, tapez Microsoft.Office.Interop.Word et appuyez sur Entrée.
  5. Dans les résultats de la recherche, sélectionnez le package Microsoft.Office.Interop.Word .
  6. Sur la droite, assurez-vous que votre projet d'application console est coché, puis cliquez sur le bouton " Installer ".

C# Modifier Word (Exemple de code Tutoriel pour développeurs) Figure 1

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

Présentation d'IronWord : une alternative supérieure à l'interopérabilité

Bien qu'Interop offre des fonctionnalités puissantes pour travailler avec Word et Excel, il présente des limitations. Découvrez IronWord, une bibliothèque polyvalente optimisée pour les développeurs .NET. IronWord offre une expérience plus fluide qu'Interop, notamment pour les tâches d'édition de documents Word. Elle garantit non seulement la compatibilité et les performances, 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 peut arriver que vous ayez besoin de modifier des documents Word existants ; l'exemple suivant montre comment procéder en C# :

// Create an instance of the Word Application
var WordApp = new Microsoft.Office.Interop.Word.Application();

// Open a Word document with the specified file path
var WordDoc = WordApp.Documents.Open(@"path_to_your_document.docx");
// Create an instance of the Word Application
var WordApp = new Microsoft.Office.Interop.Word.Application();

// Open a Word document with the specified file path
var WordDoc = WordApp.Documents.Open(@"path_to_your_document.docx");
' Create an instance of the Word Application
Dim WordApp = New Microsoft.Office.Interop.Word.Application()

' Open a Word document with the specified file path
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 d'accès à votre fichier docx .

Utilisation d'IronWord

Ouvrir un document Word avec IronWord.

// Open a Word document with the specified file path using IronWord
WordDocument doc = new WordDocument(@"path_to_your_document.docx");
// Open a Word document with the specified file path using IronWord
WordDocument doc = new WordDocument(@"path_to_your_document.docx");
' Open a Word document with the specified file path using IronWord
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 :

// Initialize a new instance of the Word Application
var WordApp = new Microsoft.Office.Interop.Word.Application();

// Add a new Word document
var WordDoc = WordApp.Documents.Add();
// Initialize a new instance of the Word Application
var WordApp = new Microsoft.Office.Interop.Word.Application();

// Add a new Word document
var WordDoc = WordApp.Documents.Add();
' Initialize a new instance of the Word Application
Dim WordApp = New Microsoft.Office.Interop.Word.Application()

' Add a new Word document
Dim WordDoc = WordApp.Documents.Add()
$vbLabelText   $csharpLabel

Cet extrait de code crée un nouveau document Word que vous pouvez écrire et modifier en utilisant C#.

Utilisation d'IronWord

// Create a new, empty Word document using IronWord
WordDocument doc = new WordDocument();
// Create a new, empty Word document using IronWord
WordDocument doc = new WordDocument();
' Create a new, empty Word document using IronWord
Dim doc As New WordDocument()
$vbLabelText   $csharpLabel

Ajout de texte au document Word

Pour ajouter un nouveau paragraphe de texte :

// Add a new paragraph to the document
WordDoc.Paragraphs.Add();
// Assign text to the newly added paragraph
WordDoc.Paragraphs[1].Range.Text = "This is the first paragraph.";
// Add a new paragraph to the document
WordDoc.Paragraphs.Add();
// Assign text to the newly added paragraph
WordDoc.Paragraphs[1].Range.Text = "This is the first paragraph.";
' Add a new paragraph to the document
WordDoc.Paragraphs.Add()
' Assign text to the newly added paragraph
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 assigne un nouveau texte.

Utilisation d'IronWord

// Add a new text to the document using IronWord
doc.AddText("Add text using IronWord");
// Add a new text to the document using IronWord
doc.AddText("Add text using IronWord");
' Add a new text to the document using IronWord
doc.AddText("Add text using IronWord")
$vbLabelText   $csharpLabel

Modification du texte existant

Pour ce tutoriel, modifions le premier paragraphe :

// Edit the text of the first paragraph
WordDoc.Paragraphs[1].Range.Text = "This is the edited first paragraph.";
// Edit the text of the first paragraph
WordDoc.Paragraphs[1].Range.Text = "This is the edited first paragraph.";
' Edit the text of the 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 du document Word en utilisant des méthodes similaires.

Utilisation d'IronWord

// Edit the text of the first paragraph using IronWord
doc.Paragraphs[0].TextRuns[0].Text = "This is the edited first paragraph.";
// Edit the text of the first paragraph using IronWord
doc.Paragraphs[0].TextRuns[0].Text = "This is the edited first paragraph.";
' Edit the text of the first paragraph using IronWord
doc.Paragraphs(0).TextRuns(0).Text = "This is the edited first paragraph."
$vbLabelText   $csharpLabel

Enregistrement et fermeture du document

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

// Save the document to a specified path
WordDoc.SaveAs(@"path_where_you_want_to_save.docx");
// Close the document and quit the application
WordDoc.Close();
WordApp.Quit();
// Save the document to a specified path
WordDoc.SaveAs(@"path_where_you_want_to_save.docx");
// Close the document and quit the application
WordDoc.Close();
WordApp.Quit();
' Save the document to a specified path
WordDoc.SaveAs("path_where_you_want_to_save.docx")
' Close the document and quit the application
WordDoc.Close()
WordApp.Quit()
$vbLabelText   $csharpLabel

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

Utilisation d'IronWord

// Save the document to the desired path using IronWord
doc.SaveAs(@"path_where_you_want_to_save.docx");
// Save the document to the desired path using IronWord
doc.SaveAs(@"path_where_you_want_to_save.docx");
' Save the document to the desired path using IronWord
doc.SaveAs("path_where_you_want_to_save.docx")
$vbLabelText   $csharpLabel

Code complet et exemple

Récapitulons tout cela. Voici un exemple de code complet montrant comment ouvrir un document Word existant, le modifier, puis enregistrer les modifications :

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 utilisant IronWord est concis. 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 the 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 the 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 the 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 de documents Word et Excel au sein d'applications .NET, les choix sont nombreux. Si les services d'interopérabilité de Microsoft ont longtemps été une référence pour beaucoup, l'émergence de solutions comme IronWord témoigne d'une évolution vers des outils plus efficaces et conviviaux.

Questions Fréquemment Posées

Comment puis-je créer et modifier des documents Word en C# ?

Vous pouvez créer et modifier des documents Word en C# en utilisant les services Microsoft Interop ou la bibliothèque IronWord. Les deux options vous permettent de manipuler les documents Word par programmation, IronWord offrant des performances améliorées et une facilité d'utilisation.

Quels sont les avantages d'utiliser IronWord par rapport à Microsoft Interop pour la manipulation de documents Word ?

IronWord offre une expérience plus fluide que Microsoft Interop en offrant de meilleures performances et des méthodes plus intuitives pour la modification de documents Word. Il est optimisé pour les applications .NET, ce qui en fait un choix moderne et efficace pour les développeurs.

Comment puis-je ouvrir un document Word existant en C# ?

Pour ouvrir un document Word existant en C#, vous pouvez utiliser des bibliothèques comme les services Microsoft Interop ou IronWord. Ils fournissent des méthodes pour charger et manipuler le contenu des fichiers Word par programmation.

Quelles étapes sont nécessaires pour configurer une application console .NET Framework pour la modification de documents Word ?

Tout d'abord, assurez-vous d'avoir Visual Studio et le .NET Framework installés. Créez une nouvelle application console .NET Framework dans Visual Studio et utilisez le Gestionnaire de paquets NuGet pour installer soit le package Microsoft.Office.Interop.Word soit la bibliothèque IronWord.

Comment puis-je ajouter du texte à un document Word en C# ?

Vous pouvez ajouter du texte à un document Word en utilisant des bibliothèques comme Microsoft Interop ou IronWord. Ces bibliothèques fournissent des méthodes pour insérer et modifier du texte dans un document par programmation.

Comment enregistrer et fermer un document Word en C# ?

En C#, vous pouvez enregistrer et fermer un document Word en utilisant les méthodes fournies par des bibliothèques telles que Microsoft Interop ou IronWord. Ces méthodes garantissent que les modifications sont enregistrées et que le document est correctement fermé.

Quel est le processus d'installation du package Microsoft.Office.Interop.Word dans Visual Studio ?

Pour installer le package Microsoft.Office.Interop.Word dans Visual Studio, accédez au Gestionnaire de paquets NuGet via le menu 'Outils', sélectionnez 'Gérer les paquets NuGet pour la solution...', recherchez 'Microsoft.Office.Interop.Word' et installez le package.

Comment puis-je résoudre les erreurs courantes lors de la modification de documents Word avec C# ?

Les erreurs courantes lors de la modification de documents Word avec C# peuvent souvent être résolues en vérifiant les installations correctes des bibliothèques, en assurant la compatibilité avec le .NET Framework, et en vérifiant que le chemin et les permissions du document sont corrects.

Comment créer un nouveau document Word en C# ?

Vous pouvez créer un nouveau document Word en C# en utilisant une bibliothèque comme Microsoft Interop ou IronWord. Ces bibliothèques fournissent des méthodes pour initialiser un nouveau document Word et ajouter du contenu selon les besoins.

Existe-t-il un exemple de code complet pour modifier des documents Word en utilisant IronWord ?

Oui, le tutoriel fournit un exemple de code complet pour modifier des documents Word en utilisant IronWord. Il inclut la création d'une instance d'application Word, l'ajout et la modification de texte, et l'enregistrement du document, démontrant l'application pratique des méthodes d'IronWord.

Jordi Bardia
Ingénieur logiciel
Jordi est le plus compétent en Python, C# et C++, et lorsqu'il ne met pas à profit ses compétences chez Iron Software, il programme des jeux. Partageant les responsabilités des tests de produit, du développement de produit et de la recherche, Jordi apporte une immense valeur à l'amé...
Lire la suite