Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
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.
Créez un nouveau projet C#.
Installer leIronWord bibliothèque.
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é.
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".
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.
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
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.
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
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
Dans l'exemple ci-dessus, nous avons ajouté un tableau à un document Word à l'aide de bordures.
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
Ici, nous ajoutons une image utilisant IronWord.Models.Image avec une hauteur et une largeur de 200 pixels à un paragraphe.
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.
{
"IronWord.LicenseKey":"IRONWORD.MYLICENSE.KEY.TRIAL"
}
{
"IronWord.LicenseKey":"IRONWORD.MYLICENSE.KEY.TRIAL"
}
If True Then
"IronWord.LicenseKey":"IRONWORD.MYLICENSE.KEY.TRIAL"
End If
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.
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.
9 produits de l'API .NET pour vos documents de bureau