using IronWord;
using IronWord.Models;
// Load docx
WordDocument doc = new WordDocument("document.docx");
// Add text
doc.AddText("Add text using IronWord");
// Export docx
doc.SaveAs("save_document.docx");
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é.
Modifier des documents Word et DOCX
Télécharger la bibliothèque C# pour éditer les documents Word et DOCX
Avant de configurer l'environnement et de commencer à travailler avec le code, assurez-vous que vous remplissez les conditions préalables suivantes :
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.
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.
Connaissance de base du C# Compréhension des bases du C&num ;
.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
Cliquez sur "Créer un nouveau projet".
Tapez "Console App(framework .NET)"dans la boîte de recherche.
Dans les résultats, sélectionnez "Console App(framework .NET)"et cliquez sur le bouton "Suivant".
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 :
Dans Visual Studio, allez dans le menu "Outils".
Sélectionnez "NuGet Package Manager" puis "Manage NuGet Packages for Solution...".
Dans la fenêtre NuGet, cliquez sur l'onglet "Browse".
Dans la boîte de recherche, tapez Microsoft.Office.Interop.Word et appuyez sur entrée.
Dans les résultats de la recherche, sélectionnez le paquet Microsoft.Office.Interop.Word.
Sur le côté droit, assurez-vous que votre projet d'application console est coché, puis cliquez sur le bouton "Installer".
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")
$vbLabelText $csharpLabel
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")
$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
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")
$vbLabelText $csharpLabel
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."
$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 :
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")
$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.
Jordi maîtrise parfaitement Python, C# et C++. Lorsqu'il ne met pas à profit ses compétences chez Iron Software, il se consacre à la programmation de jeux. Partageant des responsabilités en matière de tests de produits, de développement de produits et de recherche, Jordi apporte une valeur ajoutée considérable à l'amélioration continue des produits. Cette expérience variée le stimule et l'engage, et il dit que c'est l'un des aspects qu'il préfère dans son travail chez Iron Software. Jordi a grandi à Miami, en Floride, et a étudié l'informatique et les statistiques à l'université de Floride.
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucune obligation de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre gratuit Démonstration en direct
Fiable par plus de 2 millions d'ingénieurs dans le monde entier