Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
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é.
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 ;
Commencez par ouvrir l'application Visual Studio. Une fois ouvert, vous serez accueilli par un écran de bienvenue.
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.
Microsoft.Office.Interop.Word
avec NuGet Package ManagerNuGet 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#.
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.
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")
Dans le code ci-dessus, remplacez chemin_vers_votre_document.docx par le chemin d'accès à votre fichier docx.
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")
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()
Cet extrait de code crée un nouveau document Word que vous pouvez rédiger et modifier à l'aide de C#.
WordDocument doc = new WordDocument();
WordDocument doc = new WordDocument();
Dim doc As New WordDocument()
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."
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.
doc.AddText("Add text using IronWord");
doc.AddText("Add text using IronWord");
doc.AddText("Add text using IronWord")
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."
Vous pouvez également ajouter et modifier d'autres éléments dans le document Word en utilisant des méthodes similaires.
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."
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()
Remplacer path_where_you_want_to_save.docx par le chemin d'accès souhaité.
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")
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()
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")
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.
9 produits de l'API .NET pour vos documents de bureau