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");
Comment créer des documents Word sans l'interopérabilité d'Office en C#
Publié mars 12, 2024
Partager:
Les documents Microsoft Word sont largement utilisés à des fins diverses, qu'il s'agisse de rapports professionnels formels ou de lettres personnelles. En C#, les développeurs ont souvent besoin de générer des documents Microsoft Word par programme. Les développeurs d'applications Windows ont traditionnellement utilisé l'interopérabilité Microsoft Office pour générer et créer des documents Word à l'aide de C#.
Cependant, cette approche n'est pas accessible à tous, et l'on peut trouver des développeurs utilisant un système d'exploitation ou une machine Linux où l'interface de Microsoft Office n'est pas disponible. Dans ce cas, les développeurs doivent explorer d'autres bibliothèques qui peuvent fonctionner indépendamment sur différentes plateformes. L'une de ces puissantes bibliothèques permettant de travailler avec des fichiers Word de manière programmatique est la suivanteIronWord, deIron Software.
IronWord offre des fonctionnalités robustes pour travailler avec des documents Word dans des applications .NET et peut fonctionner sur différentes plateformes et images/conteneurs docker basés sur Linux. Avec IronWord, qui dispose d'une API intuitive pour les documents C#, VB.NET Word et Docx, il n'est pas nécessaire d'installer Microsoft Office, Office automation ou Word Interop, pour créer, modifier et exporter des fichiers de documents Word. IronWord est entièrement compatible avec .NET 8, 7, 6, Framework, Core et Azure.
Cet article porte sur la création de documents Word en C# à l'aide de la bibliothèque IronWord.
Comment créer des documents Word sans Office Interop dans C# ;
Créez un document Word à l'aide de la bibliothèque IronWord.
Ajouter du contenu au document existant.
Enregistrez le document Word créé.
Ouvrez et affichez le document Word créé.
Prerequisites:
Visual Studio: Assurez-vous que Visual Studio ou tout autre environnement de développement C# est installé.
NuGet Package Manager: Assurez-vous que vous pouvez utiliser NuGet pour gérer les paquets dans votre projet
Étape 1 : Créer un nouveau projet C
Créez une nouvelle application console C# ou utilisez un projet existant dans lequel vous souhaitez générer le document Word.
Sélectionnez le modèle d'application de la console et cliquez sur suivant.
Dans l'étape suivante, vous pouvez indiquer les noms de la solution et du projet.
Sélectionnez la version .NET et cliquez sur "Créer".
Étape 2 : Installation de la bibliothèque IronWord
Ouvrez votre projet C# et installez le fichierIronWord à l'aide de la console NuGet Package Manager :
Install-Package IronWord -Version 2024.1.2
Le paquet NuGet peut également être installé à l'aide du gestionnaire de paquets de Visual Studio, comme indiqué ci-dessous.
Étape 3: Créer et enregistrer un document Word à l'aide de la bibliothèque IronWord
Commençons par l'exemple simple de la création d'un document Word à l'aide de la bibliothèque IronWord. Le code suivant montre comment créer un document Word essentiel avec un seul paragraphe contenant le texte "Hello, World"!"
using IronWord;
using IronWord.Models;
// Create textrun instance
TextRun textRun = new TextRun("Hello, World!");
Paragraph paragraph = new Paragraph();
paragraph.AddTextRun(textRun);
// Create a new Word document object
WordDocument doc = new WordDocument(paragraph);
// Export docx
doc.SaveAs("example.docx"); // save docx file to disk
using IronWord;
using IronWord.Models;
// Create textrun instance
TextRun textRun = new TextRun("Hello, World!");
Paragraph paragraph = new Paragraph();
paragraph.AddTextRun(textRun);
// Create a new Word document object
WordDocument doc = new WordDocument(paragraph);
// Export docx
doc.SaveAs("example.docx"); // save docx file to disk
Imports IronWord
Imports IronWord.Models
' Create textrun instance
Private textRun As New TextRun("Hello, World!")
Private paragraph As New Paragraph()
paragraph.AddTextRun(textRun)
' Create a new Word document object
Dim doc As New WordDocument(paragraph)
' Export docx
doc.SaveAs("example.docx") ' save docx file to disk
$vbLabelText $csharpLabel
Après avoir exécuté l'exemple de code ci-dessus, le nouveau fichier de document, exemple.docx, est créé et le résultat est illustré ci-dessous.
Il s'agit d'un exemple fondamental de génération d'un fichier de document Word à l'aide d'IronWord. Pour plus d'informations, vous pouvez consulter les documents suivantsici.
Ajouter des paragraphes avec style à un document Word.
Maintenant que nous savons comment créer un document Word simple à l'aide d'IronWord, ajoutons des paragraphes et du texte stylé.
TextRun peut également prendre en compte les données de style, ce qui permet d'améliorer la représentation visuelle du texte. Le texte peut être défini avec des styles tels que le barré, le gras, l'italique et le souligné.
Modifiez et ajoutez le code ci-dessous au programme que vous avez créé précédemment.
using IronWord;
using IronWord.Models;
// Create textrun
TextRun textRun = new TextRun("Hello, World!"); // add string
Paragraph paragraph = new Paragraph();
paragraph.AddTextRun(textRun);
// Configure text
TextRun introText = new TextRun("This is an example paragraph with italic and bold styling."); // add string or text
TextStyle italicStyle = new TextStyle()
{
IsItalic = true
};
TextRun italicText = new TextRun("Italic example sentence.", italicStyle);
// add italic string
TextStyle boldStyle = new TextStyle()
{
IsBold = true
};
TextRun boldText = new TextRun("Bold example sentence.", boldStyle);
// add bold string
// Add text
paragraph.AddTextRun(introText);
paragraph.AddTextRun(italicText);
paragraph.AddTextRun(boldText);
// Create a new Word document
WordDocument doc = new WordDocument(paragraph);
// Export docx document
doc.SaveAs("example.docx");// docx file save in EXE location
using IronWord;
using IronWord.Models;
// Create textrun
TextRun textRun = new TextRun("Hello, World!"); // add string
Paragraph paragraph = new Paragraph();
paragraph.AddTextRun(textRun);
// Configure text
TextRun introText = new TextRun("This is an example paragraph with italic and bold styling."); // add string or text
TextStyle italicStyle = new TextStyle()
{
IsItalic = true
};
TextRun italicText = new TextRun("Italic example sentence.", italicStyle);
// add italic string
TextStyle boldStyle = new TextStyle()
{
IsBold = true
};
TextRun boldText = new TextRun("Bold example sentence.", boldStyle);
// add bold string
// Add text
paragraph.AddTextRun(introText);
paragraph.AddTextRun(italicText);
paragraph.AddTextRun(boldText);
// Create a new Word document
WordDocument doc = new WordDocument(paragraph);
// Export docx document
doc.SaveAs("example.docx");// docx file save in EXE location
Imports IronWord
Imports IronWord.Models
' Create textrun
Private textRun As New TextRun("Hello, World!") ' add string
Private paragraph As New Paragraph()
paragraph.AddTextRun(textRun)
' Configure text
Dim introText As New TextRun("This is an example paragraph with italic and bold styling.") ' add string or text
Dim italicStyle As New TextStyle() With {.IsItalic = True}
Dim italicText As New TextRun("Italic example sentence.", italicStyle)
' add italic string
Dim boldStyle As New TextStyle() With {.IsBold = True}
Dim boldText As New TextRun("Bold example sentence.", boldStyle)
' add bold string
' Add text
paragraph.AddTextRun(introText)
paragraph.AddTextRun(italicText)
paragraph.AddTextRun(boldText)
' Create a new Word document
Dim doc As New WordDocument(paragraph)
' Export docx document
doc.SaveAs("example.docx") ' docx file save in EXE location
$vbLabelText $csharpLabel
Ajouter un tableau à un document Word
Pour une représentation claire des données, celles-ci peuvent également être représentées dans une grille. Lorsque les données sont disposées sous forme de grille, on parle de tableau. En utilisant IronWord, nous pouvons ajouter des tableaux et des images au document Word, comme indiqué ci-dessous :
using IronWord;
using IronWord.Models;
// Create table cell
TableCell cell = new TableCell();
TextRun textRun = new TextRun();
textRun.Text = "Sample text";
// Add textrun to the cell
cell.AddContent(new Paragraph(textRun));
// Configure border style
BorderStyle borderStyle = new BorderStyle();
borderStyle.BorderColor = new IronColor(IronSoftware.Drawing.Color.Black);
borderStyle.BorderValue = IronWord.Models.Enums.BorderValues.Thick;
borderStyle.BorderSize = 5;
// Configure table border
TableBorders tableBorders = new TableBorders() {
TopBorder = borderStyle,
RightBorder = borderStyle,
BottomBorder = borderStyle,
LeftBorder = borderStyle,
};
cell.Borders = tableBorders;
// Create row and add cell
TableRow row = new TableRow();
row.AddCell(cell); // add cell
row.AddCell(cell); // add cell
// Create table and add row
Table table = new Table();
table.AddRow(row);
// Generate document from the table
WordDocument doc = new WordDocument(table);
// Export Word document
doc.SaveAs("Document.docx"); // docx file save in EXE location
using IronWord;
using IronWord.Models;
// Create table cell
TableCell cell = new TableCell();
TextRun textRun = new TextRun();
textRun.Text = "Sample text";
// Add textrun to the cell
cell.AddContent(new Paragraph(textRun));
// Configure border style
BorderStyle borderStyle = new BorderStyle();
borderStyle.BorderColor = new IronColor(IronSoftware.Drawing.Color.Black);
borderStyle.BorderValue = IronWord.Models.Enums.BorderValues.Thick;
borderStyle.BorderSize = 5;
// Configure table border
TableBorders tableBorders = new TableBorders() {
TopBorder = borderStyle,
RightBorder = borderStyle,
BottomBorder = borderStyle,
LeftBorder = borderStyle,
};
cell.Borders = tableBorders;
// Create row and add cell
TableRow row = new TableRow();
row.AddCell(cell); // add cell
row.AddCell(cell); // add cell
// Create table and add row
Table table = new Table();
table.AddRow(row);
// Generate document from the table
WordDocument doc = new WordDocument(table);
// Export Word document
doc.SaveAs("Document.docx"); // docx file save in EXE location
Imports IronWord
Imports IronWord.Models
' Create table cell
Private cell As New TableCell()
Private textRun As New TextRun()
textRun.Text = "Sample text"
' Add textrun to the cell
cell.AddContent(New Paragraph(textRun))
' Configure border style
Dim borderStyle As New BorderStyle()
borderStyle.BorderColor = New IronColor(IronSoftware.Drawing.Color.Black)
borderStyle.BorderValue = IronWord.Models.Enums.BorderValues.Thick
borderStyle.BorderSize = 5
' Configure table border
Dim tableBorders As New TableBorders() With {
.TopBorder = borderStyle,
.RightBorder = borderStyle,
.BottomBorder = borderStyle,
.LeftBorder = borderStyle
}
cell.Borders = tableBorders
' Create row and add cell
Dim row As New TableRow()
row.AddCell(cell) ' add cell
row.AddCell(cell) ' add cell
' Create table and add row
Dim table As New Table()
table.AddRow(row)
' Generate document from the table
Dim doc As New WordDocument(table)
' Export Word document
doc.SaveAs("Document.docx") ' docx file save in EXE location
$vbLabelText $csharpLabel
Dans l'exemple ci-dessus, nous avons ajouté un tableau à un document Word à l'aide de bordures.
Ajouter des images à un document Word
Les images améliorent la présentation du document et peuvent ajouter des couleurs et un attrait visuel.
Les images peuvent être ajoutées par programme à un document Word à l'aide d'IronWord, comme le montre le code ci-dessous :
using IronWord;
using IronWord.Models;
// Load new document
WordDocument doc = new WordDocument();
// Configure image
IronWord.Models.Image image = new IronWord.Models.Image("SalesChart.jpg");
image.Width = 200; // In unit pixel (px)
image.Height = 200; // In unit pixel (px)
Paragraph paragraph = new Paragraph();
// Add image
paragraph.AddImage(image);
// Add paragraph
doc.AddParagraph(paragraph);
// Export docx
doc.SaveAs("save_document.docx"); // docx file
using IronWord;
using IronWord.Models;
// Load new document
WordDocument doc = new WordDocument();
// Configure image
IronWord.Models.Image image = new IronWord.Models.Image("SalesChart.jpg");
image.Width = 200; // In unit pixel (px)
image.Height = 200; // In unit pixel (px)
Paragraph paragraph = new Paragraph();
// Add image
paragraph.AddImage(image);
// Add paragraph
doc.AddParagraph(paragraph);
// Export docx
doc.SaveAs("save_document.docx"); // docx file
Imports IronWord
Imports IronWord.Models
' Load new document
Private doc As New WordDocument()
' Configure image
Private image As New IronWord.Models.Image("SalesChart.jpg")
image.Width = 200 ' In unit pixel (px)
image.Height = 200 ' In unit pixel (px)
Dim paragraph As New Paragraph()
' Add image
paragraph.AddImage(image)
' Add paragraph
doc.AddParagraph(paragraph)
' Export docx
doc.SaveAs("save_document.docx") ' docx file
$vbLabelText $csharpLabel
Ici, nous ajoutons une image utilisant IronWord.Models.Image avec une hauteur et une largeur de 200 pixels à un paragraphe.
Licence (essai gratuit disponible)
L'utilisation d'IronWord nécessite une licence. Une clé d'essai peut être obtenue sur le site web d'Iron Softwareici. Cette clé doit être placée dans appsettings.json.
Indiquez votre adresse électronique pour obtenir une licence d'essai. Une fois que vous avez indiqué votre adresse électronique, la clé vous sera envoyée par courrier électronique.
Conclusion
Création de documents Word en C# à l'aide de la fonctionIronWord fournit un moyen flexible et efficace de générer des documents sans dépendre de Microsoft Office. Que vous ayez besoin de créer de simples lettres ou des rapports complexes avec des tableaux et des images, IronWord vous permet d'y parvenir par programmation. Cet article propose un tutoriel complet sur la création de documents Word. Avec IronWord, vous avez la possibilité d'automatiser la création de documents Word, ce qui rend vos applications C# plus polyvalentes et plus productives.
Et pour les développeurs qui souhaitent manipuler des fichiers PDF en conjonction avec les documents Word qu'ils génèrent, IronPDF, une autre bibliothèque C# produite par Iron Software, est tout indiquée. Pour le consulter, cliquez surici.
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 par programmation en VB .NET
SUIVANT > Comment lire un document Word avec formatage en C#
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