跳至页脚内容
使用 IRONWORD

如何在 C# 中创建 DOCX 文件

Many applications in today's digital environment require the ability to generate and alter documents automatically. The ability to create and work with DOCX files is useful whether you're building an enterprise-level reporting system, a document management system, or just automating repetitive activities. In this tutorial, we'll dive into the world of C# document generation and examine the robust libraries and programming methods that can be used in C# to create DOCX files.

How to Create DOCX File in C#

  1. Install the NuGet package IronWord.
  2. Take the required namespaces and import them from IronWord.
  3. To generate document files, add a new TextRun.
  4. Make a new Body and Document.
  5. Fill the Body with content (paragraphs, tables, etc.).
  6. Using WordDocument, create a new WordDocument.
  7. Assigning the Document object to the TextRun, Paragraph Document property will save the modifications.

Getting to Know the DOCX Format

Before delving into the coding, let us clarify what a DOCX file is. Microsoft Word and other Word processing programs save documents in the DOCX file format. It is based on the ZIP-compressed XML-based [Office Open XML (OOXML) standard](https://en.wikipedia.org/wiki/Office_Open_XML#:~:text=Office%20Open%20XML%20(also%20informally,initial%20version%20as%20ECMA%2D376.). This allows utilizing APIs from Microsoft and other developers to manipulate it programmatically relatively simply.

IronWord

Iron Software created the Word document library known as IronWord. When it comes to offering strong capabilities for Word document manipulation in .NET applications, IronWord shines. To help .NET C# developers include the ability to create, read, and modify Word and DOCX documents in their programs, IronWord is a robust Word document library.

Features of IronWord

  • Create and edit DOC and DOCX: IronWord eliminates the requirement for Office Interop or Microsoft Word installation by enabling you to create and edit Word documents right within your .NET projects.
  • Open, Edit an existing document, and Save a Word file and Docx: The Word document structure is customizable, including page configuration (background color, margins, paper size, and orientation).
  • Include Words and Pictures: With the simple API, you can quickly add text and graphics to your Word documents.
  • Cross-Platform Support: IronWord is compatible with .NET 8, 7, 6, Core, Standard, or Framework, and is built for C#, F#, and VB.NET. It functions in several environments, such as Docker, iOS, Android, Windows, and Linux.
  • Worldwide, millions of engineers rely on us: IronWord is a component of the Iron Suite, which consists of nine .NET API office document products. Developers use it all over the world to create, view, and modify Word documents.

To know more about IronWord refer here.

Creating a New Project in Visual Studio

To launch the Visual Studio application, use the File menu and choose File. Click "New Project," then choose "Console application."

How to Create DOCX File in C#: Figure 1 - Creating a new project

Enter the project name in the designated text field after choosing the file location. Next, as seen in the sample below, click the Create button and choose the required .NET Framework.

How to Create DOCX File in C#: Figure 2 - Configuring the project name and file path

The Visual Studio project's organization will then depend on the selected application. To add code and construct the application, just open the program.cs file. The internet application, Windows, or console can all be used.

After that, the library may be added and the code tested.

Install IronWord library

Making Use of Visual Studio Tool Select NuGet Package Manager from the Tools Menu. Enter the Package Manager interface to gain access to the package management terminal console.

Install-Package IronWord

After downloading and installing the package, it can now be utilized in the ongoing project.

How to Create DOCX File in C#: Figure 3 - Installing IronWord with the package manager console

There's also the Package Manager method. Installing the package straight into the solution is possible with Visual Studio's NuGet Package Manager option. You can see how to launch the NuGet Package Manager in the image below.

How to Create DOCX File in C#: Figure 4 - How to find the NuGet package manager

Use the NuGet website's search box to locate packages. All we need to do is look up "IronWord" in the package manager, as the screenshot below illustrates:

How to Create DOCX File in C#: Figure 5 - Installing IronWord with the NuGet package manager

The list of relevant search results is displayed in the image above. To install the software on your machine, simply adjust these settings.

Create DOCX Using IronWord

Instantiate a WordDocument object to start a new Word document. To initialize the document, you can use any object that makes up the document structure, like a paragraph, table, or section. Here's an easy illustration in the following code snippet:

using IronWord;
using IronWord.Models;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Create a text run, which is a portion of the document's text content.
            TextRun textRun = new TextRun("Hello, IronWord!");

            // Create a paragraph and add the text run to it.
            Paragraph paragraph = new Paragraph();
            paragraph.AddTextRun(textRun);

            // Create a new Word document with the paragraph.
            WordDocument doc = new WordDocument(paragraph);

            // Export and save the DOCX file to the specified path.
            doc.SaveAs("document.docx");
        }
    }
}
using IronWord;
using IronWord.Models;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Create a text run, which is a portion of the document's text content.
            TextRun textRun = new TextRun("Hello, IronWord!");

            // Create a paragraph and add the text run to it.
            Paragraph paragraph = new Paragraph();
            paragraph.AddTextRun(textRun);

            // Create a new Word document with the paragraph.
            WordDocument doc = new WordDocument(paragraph);

            // Export and save the DOCX file to the specified path.
            doc.SaveAs("document.docx");
        }
    }
}
Imports IronWord
Imports IronWord.Models

Namespace ConsoleApp1
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			' Create a text run, which is a portion of the document's text content.
			Dim textRun As New TextRun("Hello, IronWord!")

			' Create a paragraph and add the text run to it.
			Dim paragraph As New Paragraph()
			paragraph.AddTextRun(textRun)

			' Create a new Word document with the paragraph.
			Dim doc As New WordDocument(paragraph)

			' Export and save the DOCX file to the specified path.
			doc.SaveAs("document.docx")
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

We can add text to the document with the help of the TextRun class, which allows us to pass the text into the paragraph object with the help of the AddTextRun method. Then we are creating a new WordDocument object to create a new DOCX file. Then, by using the SaveAs method, we can save the new DOCX document in the desired location. Below is the output generated from the above code.

How to Create DOCX File in C#: Figure 6 - Outputted PDF from the previous code

To know more about IronWord code refer here.

Conclusion

We've looked at how to use C# to generate a DOCX document file in this guide. The fundamentals of the DOCX format have been discussed, along with the Open XML SDK and the DocX library, and examples of how to use them to generate, edit, and save DOCX files have been given.

All of these tools and methods will put you in a strong position to handle a variety of document creation tasks in your C# projects. Learning document production in C# is a useful ability that will help you in various situations, whether you're automating report generation, developing document management systems, or just making templates for end users.

For developers working with .NET C#, IronWord is a powerful and adaptable Word document library. It enables developers to read, write, and edit Word (DOCX) documents in their apps with ease. IronWord's user-friendly API makes processing Word documents easier. Without requiring Microsoft Word to be installed or depending on Office Interop, developers may create and edit Word files directly within their .NET projects. Adding text, paragraphs, and other elements to new Word documents is made simple.

IronWord is $799 when it first comes out. In addition, customers who pay a one-year membership fee can receive assistance and updates on products. For a fee, IronWord offers a defense against unrestrained redistribution. To find out more about the approximate cost, go to this page. View more about Iron Software by clicking this link.

常见问题解答

如何使用 C# 生成 DOCX 文件?

要使用 C# 生成 DOCX 文件,可以使用 IronWord 库。首先安装 IronWord NuGet 包,导入所需的命名空间,并创建一个 WordDocument 对象。然后可以使用 AddTextRun 方法添加内容,并使用 SaveAs 方法保存文档。

使用 IronWord 生成 DOCX 文件有什么好处?

IronWord 为 DOCX 文件生成提供了多个好处,包括无需 Microsoft Word 即可创建和编辑文档、跨平台支持以及一个用户友好的 API,简化了文档创建过程。

我可以使用 IronWord 向 DOCX 文件添加图像吗?

是的,IronWord 允许您向 DOCX 文件添加图像。您可以使用 AddImage 方法将图像插入到文档中,从而增强 DOCX 文件的视觉吸引力和功能性。

可以使用 IronWord 编辑现有的 DOCX 文件吗?

是的,IronWord 使您能够编辑现有的 DOCX 文件。您可以使用 IronWord 打开 DOCX 文件,修改其内容、结构或格式,然后保存更改。

IronWord 是否支持在 Linux 上的文档生成?

是的,IronWord 支持在 Linux 上的文档生成,作为其跨平台功能的一部分,使开发人员可以在包括 Linux 在内的各种操作系统上创建和操作 DOCX 文件。

在 C# 项目中设置 IronWord 涉及哪些步骤?

在 C# 项目中设置 IronWord 涉及通过 NuGet 包管理器安装 IronWord NuGet 包,将必要的命名空间导入到代码中,并使用 IronWord 的 API 执行文档创建和编辑任务。

IronWord 如何处理 DOCX 文件的兼容性?

IronWord 被设计为与 DOCX 格式兼容,确保使用 IronWord 创建或编辑的文件可以在 Microsoft Word 和其他兼容的文字处理器中打开和使用。

Jordi Bardia
软件工程师
Jordi 最擅长 Python、C# 和 C++,当他不在 Iron Software 利用这些技能时,他就在游戏编程。分享产品测试、产品开发和研究的责任,Jordi 在持续的产品改进中增加了巨大的价值。多样的经验使他面临挑战并保持投入,他表示这是在 Iron Software 工作的最喜欢的方面之一。Jordi 在佛罗里达州迈阿密长大,并在佛罗里达大学学习计算机科学和统计学。