使用 IRONWORD 如何在 C# 中不使用 Office Interop 創建 Word 文檔 Jordi Bardia 更新日期:7月 28, 2025 Download IronWord NuGet 下載 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article Microsoft Word documents are widely used for various purposes, from formal business reports to personal letters. In C#, developers often need to generate Microsoft Word documents programmatically. Windows application developers have traditionally used the Microsoft Office Interop to generate and create Word documents using C#. However, this approach isn't accessible to everyone, and developers can be found using an OS or on a Linux machine where the Microsoft Office interface isn't available. In these cases, developers must explore other libraries that can independently work on different platforms. One such powerful library for working with Word files programmatically is IronWord, from Iron Software. IronWord provides robust functionality for working with Word documents in .NET applications and can run on different platforms and docker images/containers based on Linux. With IronWord, which has intuitive C#, VB.NET Word, and Docx Document API, there is no need to install Microsoft Office, Office automation, or Word Interop, to build, edit, and export Word document files. IronWord fully supports .NET 8, 7, 6, Framework, Core, and Azure. This article will explore the creation of Word documents in C# using the IronWord library. How to Create Word Documents Without Office Interop in C# Create a new C# project. Install the IronWord library. Create a Word document using the IronWord library. Add content to the now existing document. Save the created Word document. Open and display the created Word document. Prerequisites: Visual Studio: Ensure you have Visual Studio or any other C# development environment installed. NuGet Package Manager: Make sure you can use NuGet to manage packages in your project. Step 1: Create a New C# Project Create a new C# console application or use an existing project where you want to generate the Word document. Select the console application template and click next. In the next step, you can provide the solution and project names. Select the .NET Version and click "Create". Step 2: Install the IronWord Library Open your C# project and install the IronWord library using the NuGet Package Manager Console: Install-Package IronWord -Version 2024.1.2 The NuGet package can also be installed using Visual Studio Package Manager, as shown below. Step 3: Create and Save a Word Document using the IronWord Library Let's start with the simple example of creating a Word document using the IronWord library. The following code demonstrates how to create an essential Word document with a single paragraph containing the text "Hello, World!" using IronWord; using IronWord.Models; // Create a text run instance with "Hello, World!" content TextRun textRun = new TextRun("Hello, World!"); // Create a paragraph and add the text run to it Paragraph paragraph = new Paragraph(); paragraph.AddTextRun(textRun); // Create a new Word document object with the paragraph WordDocument doc = new WordDocument(paragraph); // Save the document as a .docx file doc.SaveAs("example.docx"); // Saves the file to disk with the name example.docx using IronWord; using IronWord.Models; // Create a text run instance with "Hello, World!" content TextRun textRun = new TextRun("Hello, World!"); // Create a paragraph and add the text run to it Paragraph paragraph = new Paragraph(); paragraph.AddTextRun(textRun); // Create a new Word document object with the paragraph WordDocument doc = new WordDocument(paragraph); // Save the document as a .docx file doc.SaveAs("example.docx"); // Saves the file to disk with the name example.docx Imports IronWord Imports IronWord.Models ' Create a text run instance with "Hello, World!" content Private textRun As New TextRun("Hello, World!") ' Create a paragraph and add the text run to it Private paragraph As New Paragraph() paragraph.AddTextRun(textRun) ' Create a new Word document object with the paragraph Dim doc As New WordDocument(paragraph) ' Save the document as a .docx file doc.SaveAs("example.docx") ' Saves the file to disk with the name example.docx $vbLabelText $csharpLabel After executing the above code example, the new document file, example.docx, is created and the output is as shown below. This is a fundamental example of generating a Word document file using IronWord. For more information, you can read the Documentation. Adding Paragraphs with Style to a Word Document Now that we know how to create a simple Word document using IronWord, let's add paragraphs and styled text. TextRun can also take style data, enhancing the text's visual representation. Text can be set with styles such as strikethrough, bold, italic, and underline. Modify and add the code below to the program you have made previously. using IronWord; using IronWord.Models; // Create text runs with different styles TextRun textRun = new TextRun("Hello, World!"); // Simple string Paragraph paragraph = new Paragraph(); paragraph.AddTextRun(textRun); // Configure and add italic text TextRun introText = new TextRun("This is an example paragraph with italic and bold styling."); TextStyle italicStyle = new TextStyle() { IsItalic = true }; TextRun italicText = new TextRun("Italic example sentence.", italicStyle); // Configure and add bold text TextStyle boldStyle = new TextStyle() { IsBold = true }; TextRun boldText = new TextRun("Bold example sentence.", boldStyle); // Add text runs to the paragraph paragraph.AddTextRun(introText); paragraph.AddTextRun(italicText); paragraph.AddTextRun(boldText); // Create and save the new Word document WordDocument doc = new WordDocument(paragraph); doc.SaveAs("example.docx"); // Saves the file to disk with the name example.docx using IronWord; using IronWord.Models; // Create text runs with different styles TextRun textRun = new TextRun("Hello, World!"); // Simple string Paragraph paragraph = new Paragraph(); paragraph.AddTextRun(textRun); // Configure and add italic text TextRun introText = new TextRun("This is an example paragraph with italic and bold styling."); TextStyle italicStyle = new TextStyle() { IsItalic = true }; TextRun italicText = new TextRun("Italic example sentence.", italicStyle); // Configure and add bold text TextStyle boldStyle = new TextStyle() { IsBold = true }; TextRun boldText = new TextRun("Bold example sentence.", boldStyle); // Add text runs to the paragraph paragraph.AddTextRun(introText); paragraph.AddTextRun(italicText); paragraph.AddTextRun(boldText); // Create and save the new Word document WordDocument doc = new WordDocument(paragraph); doc.SaveAs("example.docx"); // Saves the file to disk with the name example.docx Imports IronWord Imports IronWord.Models ' Create text runs with different styles Private textRun As New TextRun("Hello, World!") ' Simple string Private paragraph As New Paragraph() paragraph.AddTextRun(textRun) ' Configure and add italic text Dim introText As New TextRun("This is an example paragraph with italic and bold styling.") Dim italicStyle As New TextStyle() With {.IsItalic = True} Dim italicText As New TextRun("Italic example sentence.", italicStyle) ' Configure and add bold text Dim boldStyle As New TextStyle() With {.IsBold = True} Dim boldText As New TextRun("Bold example sentence.", boldStyle) ' Add text runs to the paragraph paragraph.AddTextRun(introText) paragraph.AddTextRun(italicText) paragraph.AddTextRun(boldText) ' Create and save the new Word document Dim doc As New WordDocument(paragraph) doc.SaveAs("example.docx") ' Saves the file to disk with the name example.docx $vbLabelText $csharpLabel Adding a Table to a Word Document For clear representation of data, it can also be represented in a grid. When data is arranged as a grid, it is called a table. Using IronWord, we can add tables and images to the Word document as shown below: using IronWord; using IronWord.Models; // Create a table cell with sample text TableCell cell = new TableCell(); TextRun textRun = new TextRun("Sample text"); // Add text run to the cell as a paragraph cell.AddContent(new Paragraph(textRun)); // Configure cell border style BorderStyle borderStyle = new BorderStyle { BorderColor = new IronColor(IronSoftware.Drawing.Color.Black), BorderValue = IronWord.Models.Enums.BorderValues.Thick, BorderSize = 5 }; // Set table borders TableBorders tableBorders = new TableBorders { TopBorder = borderStyle, RightBorder = borderStyle, BottomBorder = borderStyle, LeftBorder = borderStyle }; cell.Borders = tableBorders; // Create a table row and add cells to it TableRow row = new TableRow(); row.AddCell(cell); // Add the first cell row.AddCell(cell); // Add the second cell, duplicating to mimic a row with two identical cells // Create a table and add the row to the table Table table = new Table(); table.AddRow(row); // Create and save a Word document using the table WordDocument doc = new WordDocument(table); doc.SaveAs("Document.docx"); // Saves the file to disk with the name Document.docx using IronWord; using IronWord.Models; // Create a table cell with sample text TableCell cell = new TableCell(); TextRun textRun = new TextRun("Sample text"); // Add text run to the cell as a paragraph cell.AddContent(new Paragraph(textRun)); // Configure cell border style BorderStyle borderStyle = new BorderStyle { BorderColor = new IronColor(IronSoftware.Drawing.Color.Black), BorderValue = IronWord.Models.Enums.BorderValues.Thick, BorderSize = 5 }; // Set table borders TableBorders tableBorders = new TableBorders { TopBorder = borderStyle, RightBorder = borderStyle, BottomBorder = borderStyle, LeftBorder = borderStyle }; cell.Borders = tableBorders; // Create a table row and add cells to it TableRow row = new TableRow(); row.AddCell(cell); // Add the first cell row.AddCell(cell); // Add the second cell, duplicating to mimic a row with two identical cells // Create a table and add the row to the table Table table = new Table(); table.AddRow(row); // Create and save a Word document using the table WordDocument doc = new WordDocument(table); doc.SaveAs("Document.docx"); // Saves the file to disk with the name Document.docx Imports IronWord Imports IronWord.Models ' Create a table cell with sample text Private cell As New TableCell() Private textRun As New TextRun("Sample text") ' Add text run to the cell as a paragraph cell.AddContent(New Paragraph(textRun)) ' Configure cell border style Dim borderStyle As New BorderStyle With { .BorderColor = New IronColor(IronSoftware.Drawing.Color.Black), .BorderValue = IronWord.Models.Enums.BorderValues.Thick, .BorderSize = 5 } ' Set table borders Dim tableBorders As New TableBorders With { .TopBorder = borderStyle, .RightBorder = borderStyle, .BottomBorder = borderStyle, .LeftBorder = borderStyle } cell.Borders = tableBorders ' Create a table row and add cells to it Dim row As New TableRow() row.AddCell(cell) ' Add the first cell row.AddCell(cell) ' Add the second cell, duplicating to mimic a row with two identical cells ' Create a table and add the row to the table Dim table As New Table() table.AddRow(row) ' Create and save a Word document using the table Dim doc As New WordDocument(table) doc.SaveAs("Document.docx") ' Saves the file to disk with the name Document.docx $vbLabelText $csharpLabel In the example above, we added a table to a Word document using borders. Adding Images to a Word Document Images enhance the document's presentation and can add more colors and visual appeal. Images can be added programmatically to a Word document using IronWord as shown in the code below: using IronWord; using IronWord.Models; // Load a new document WordDocument doc = new WordDocument(); // Configure and add image to the document IronWord.Models.Image image = new IronWord.Models.Image("SalesChart.jpg") { Width = 200, // Set image width in pixels Height = 200 // Set image height in pixels }; Paragraph paragraph = new Paragraph(); paragraph.AddImage(image); // Add image to paragraph doc.AddParagraph(paragraph); // Add paragraph to the document // Save the document as a .docx file doc.SaveAs("save_document.docx"); // Saves the file to disk with the name save_document.docx using IronWord; using IronWord.Models; // Load a new document WordDocument doc = new WordDocument(); // Configure and add image to the document IronWord.Models.Image image = new IronWord.Models.Image("SalesChart.jpg") { Width = 200, // Set image width in pixels Height = 200 // Set image height in pixels }; Paragraph paragraph = new Paragraph(); paragraph.AddImage(image); // Add image to paragraph doc.AddParagraph(paragraph); // Add paragraph to the document // Save the document as a .docx file doc.SaveAs("save_document.docx"); // Saves the file to disk with the name save_document.docx Imports IronWord Imports IronWord.Models ' Load a new document Private doc As New WordDocument() ' Configure and add image to the document Private image As New IronWord.Models.Image("SalesChart.jpg") With { .Width = 200, .Height = 200 } Private paragraph As New Paragraph() paragraph.AddImage(image) ' Add image to paragraph doc.AddParagraph(paragraph) ' Add paragraph to the document ' Save the document as a .docx file doc.SaveAs("save_document.docx") ' Saves the file to disk with the name save_document.docx $vbLabelText $csharpLabel Here, we are adding an image using IronWord.Models.Image with a Height and Width of 200 pixels to a paragraph. Licensing (Free Trial Available) IronWord requires a license to use. Obtain a trial key from the Iron Software website. This key needs to be placed in appsettings.json. { "IronWord.LicenseKey": "IRONWORD.MYLICENSE.KEY.TRIAL" } Provide your email to get a trial license. After you submit your email ID, the key will be delivered via email. Conclusion Creating Word documents in C# using the IronWord library provides a flexible and efficient way to generate documents without relying on Microsoft Office. Whether you need to create simple letters or complex reports with tables and images, IronWord allows you to achieve this programmatically. This article provides a comprehensive tutorial on creating Word documents. With IronWord, you have the power to automate the creation of Word documents, making your C# applications more versatile and productive. And for developers looking for PDF file manipulation to work in conjunction with their generated Word documents, look no further than IronPDF, another C# library produced by Iron Software. 常見問題解答 如何在 C# 中不使用 Microsoft Office Interop 創建 Word 文件? 您可以通過使用 IronWORD 函式庫在 C# 中建立 Word 文件,而不需要使用 Microsoft Office Interop。此函式庫允許您以編程方式生成、編輯和儲存 Word 文件,而無需安裝 Microsoft Office。 使用 IronWORD 相較於 Microsoft Office Interop 的優勢有哪些? IronWORD 提供在 Linux 等非 Windows 平台運行的靈活性,這些平台上無法使用 Microsoft Office Interop。它還消除了對 Microsoft Office 安裝的依賴,簡化了開發過程。 如何開始使用 IronWORD 建立 Word 文件? 要開始使用 IronWORD 建立 Word 文件,首先在您的 C# 專案中通過 NuGet 套件管理器安裝 IronWORD 函式庫。然後使用 IronWORD API 以編程方式建立和操縱 Word 文件。 我能在最新的 .NET 版本中使用 IronWORD 嗎? 是的,IronWORD 與各種 .NET 版本相容,包括 .NET 8 ,7,6,Framework,Core 和 Azure,允許您將其整合到現代 C# 應用程式中。 如何在使用 IronWORD 的 Word 文檔中添加樣式文本? IronWORD 允許您使用 TextRun 和 TextStyle 類別添加樣式文本。這些類別允許您在 Word 文件中的特定文本段中應用加粗、斜體和下劃線等樣式。 使用 IronWORD 可以在 Word 文件中包含表格嗎? 是的,您可以使用 IronWORD 在 Word 文件中包含表格。該函式庫允許您定義具有行和單元格的表格,並且可以使用邊框和其他樣式客製化其外觀。 如何使用 IronWORD 在 Word 文件中插入圖片? 要使用 IronWORD 在 Word 文件中插入圖片,您可以使用 IronWord.Models.Image 類將具有指定尺寸的圖片嵌入到段落中,從而提升文件的視覺內容。 是否有 IronWORD 的試用版可供評估? 是的,Iron Software 提供了 IronWORD 的免費試用版,您可以從他們的網站下載。此試用版允許您在購買之前評估函式庫的功能和能力。 Iron Software 提供了哪些其他文件操作函式庫? 除了 IronWORD,Iron Software 還提供了 IronPDF,用於處理 PDF 文件的函式庫。這些函式庫共同為在 C# 應用程式中處理 Word 和 PDF 文件提供了全面的解決方案。 Jordi Bardia 立即與工程團隊聊天 軟體工程師 Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担产品测测试,产品开发和研究的责任时,Jordi 为持续的产品改进增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。 相關文章 更新日期 9月 18, 2025 ASP .NET Core 導入和導出 Word 文件 本指南探討如何使用 IronWord 庫導入現有的 Word 文件,顯示其內容,並從頭開始創建文件 閱讀更多 更新日期 7月 28, 2025 VS 2022 程式化創建新 Word 文件(教程) 在今天的教程中,我將簡單解釋如何使用 IronWord 程式化創建 Microsoft Word 文檔,並提供簡單範例。 閱讀更多 更新日期 6月 22, 2025 如何使用 C# 對齊 Word 中的文本 讓我們深入了解 IronWord NuGet 包,了解如何使用此包對齊文本或段落 閱讀更多 如何在 VB .NET 中程式化創建 Word 文檔如何使用 C# 將 Word 文檔閱...
更新日期 7月 28, 2025 VS 2022 程式化創建新 Word 文件(教程) 在今天的教程中,我將簡單解釋如何使用 IronWord 程式化創建 Microsoft Word 文檔,並提供簡單範例。 閱讀更多