使用 C# 编程生成 Word 文档是一种自动化创建报告、发票或其他动态文档的高效方式。借助强大且易用的 Spire.Doc for .NET 库,您可以轻松从头构建 Word 文件,并完全掌控格式与内容。本指南将带您了解关键功能,包括添加标题、小标题和段落以组织文本结构,插入图片增强视觉效果,创建表格整理数据,以及添加列表提升可读性。
通过 Spire.Doc,您可以直接从 .NET 应用程序中无缝生成专业且排版精美的 Word 文档。下面让我们逐步探索如何实现这些功能。
安装 Spire.Doc for .NET
首先,您需要添加 Spire.Doc for .NET 包中包含的 DLL 文件作为 .NET 项目中的引用。DLL 文件可以从此链接下载或通过 NuGet 安装。
PM> Install-Package Spire.Doc
C# 向 Word 文档添加标题、小标题和段落
通过 Spire.Doc for .NET 创建结构化 Word 文档时,其核心功能围绕 Document 和 Section 类展开。使用 AddParagraph() 方法添加新段落,通过 AppendText() 方法插入文本内容。为确保格式统一,可应用内置样式(如 Title 或 Heading 1-4),这些样式能实现专业且标准化的排版效果。您也可以自定义样式,精确控制字体、颜色和大小,从而打造个性化的文档设计。
在 C# 中为 Word 文档添加标题、小标题和段落的步骤如下:
- 创建 Document 对象。
- 使用 Document.AddSection() 为文档添加章节。
- 通过 Section.AddParagraph() 向章节添加段落。
- 使用 Paragraph.ApplyStyle() 为指定段落应用内置样式(Title、Heading1、Heading2、Heading3)。
- 通过 ParagraphStyle() 定义自定义段落样式并应用于目标段落。
- 将文档保存为 DOCX 格式文件。
- C#
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using System.Drawing;
namespace CreateSimpleWordDocument
{
class Program
{
static void Main(string[] args)
{
// 创建Document对象
Document document = new Document();
// 添加节
Section section = document.AddSection();
// 设置页边距
section.PageSetup.Margins.All = 60f;
// 添加一个标题段落
Paragraph title_para = section.AddParagraph();
TextRange textRange = title_para.AppendText("这是标题");
title_para.ApplyStyle(BuiltinStyle.Title);
textRange.CharacterFormat.FontName = "宋体";
// 添加几个小标题段落
Paragraph heading_one = section.AddParagraph();
textRange = heading_one.AppendText("这是标题1");
heading_one.ApplyStyle(BuiltinStyle.Heading1);
textRange.CharacterFormat.FontName = "宋体";
Paragraph heading_two = section.AddParagraph();
textRange = heading_two.AppendText("这是标题2");
heading_two.ApplyStyle(BuiltinStyle.Heading2);
textRange.CharacterFormat.FontName = "宋体";
Paragraph heading_three = section.AddParagraph();
textRange = heading_three.AppendText("这是标题3");
heading_three.ApplyStyle(BuiltinStyle.Heading3);
textRange.CharacterFormat.FontName = "宋体";
Paragraph heading_four = section.AddParagraph();
textRange = heading_four.AppendText("这是标题4");
heading_four.ApplyStyle(BuiltinStyle.Heading4);
textRange.CharacterFormat.FontName = "宋体";
// 添加一个段落
Paragraph normal_para = section.AddParagraph();
normal_para.AppendText("这是一个段落。");
// 创建段落样式
ParagraphStyle style = new ParagraphStyle(document);
style.Name = "paraStyle";
style.CharacterFormat.FontName = "宋体";
style.CharacterFormat.FontSize = 13f;
style.CharacterFormat.TextColor = Color.Brown;
document.Styles.Add(style);
// 将自定义样式应用到指定段落
normal_para.ApplyStyle("paraStyle");
// 保存文档
document.SaveToFile("AddText.docx", FileFormat.Docx);
// 释放资源
document.Dispose();
}
}
}
C# 向 Word 文档添加图片
要在 Word 文档中插入图片,首先需要创建一个专用段落元素作为图片容器。通过使用 AppendPicture() 方法,可以从文件系统加载图片并直接嵌入到文档结构中。
在 C# 中为 Word 文档添加图片的步骤如下:
- 创建 Document 对象。
- 使用 Document.AddSection() 方法为文档添加章节。
- 通过 Section.AddParagraph() 方法向章节添加段落。
- 使用 Paragraph.AppendPicture() 方法将图片添加到段落中。
- 将文档保存为 DOCX 格式文件。
- C#
using Spire.Doc;
using Spire.Doc.Documents;
using System.Drawing;
namespace AddImage
{
class Program
{
static void Main(string[] args)
{
// 创建Document对象
Document document = new Document();
// 添加节
Section section = document.AddSection();
// 设置页边距
section.PageSetup.Margins.All = 60f;
// 添加段落
Paragraph image_para = section.AddParagraph();
// 添加图片
image_para.AppendPicture(Image.FromFile("C:\\Users\\Administrator\\Desktop\\logo.png"));
// 保存文档
document.SaveToFile("AddImage.docx", FileFormat.Docx);
// 释放资源
document.Dispose();
}
}
}
C# 向 Word 文档添加表格
表格创建流程从 AddTable() 方法开始,该方法用于建立基础表格结构。通过 ResetCells() 方法,您可以指定所需的行数和列数。初始化完成后,每个单元格的内容填充需要先使用 AddParagraph() 方法添加段落元素,再通过 AppendText() 方法插入文本内容。
在 C# 中为 Word 文档添加表格的步骤如下:
- 创建 Document 对象。
- 使用 Document.AddSection() 方法为文档添加章节。
- 创建二维数组存储表格数据(包含表头和数值)。
- 通过 Section.AddTable() 方法创建表格。
- 调用 Table.ResetCells() 方法根据数据定义表格行列数。
- 遍历数据数组,使用 TableCell.AddParagraph() 和 Paragraph.AppendText() 方法为每个单元格添加文本。
- 将文档保存为 DOCX 格式文件。
- C#
using Spire.Doc;
using Spire.Doc.Documents;
namespace AddTable
{
class Program
{
static void Main(string[] args)
{
// 创建Document对象
Document document = new Document();
// 添加节
Section section = document.AddSection();
// 设置页边距
section.PageSetup.Margins.All = 60f;
// 创建二维数值存储表格数据
string[,] data = new string[4, 4]
{
{ "产品", "单价", "数量", "小计" },
{ "A", "¥29", "120", "¥3,480" },
{ "B", "¥35", "110", "¥3,850" },
{ "C", "¥68", "140", "¥9,520" }
};
// 添加表格
Table table = section.AddTable(showBorder: true);
// 设置行数和列数
table.ResetCells(data.GetLength(0), data.GetLength(1));
// 遍历数组的行
for (int r = 0; r < data.GetLength(0); r++)
{
// 获取表格中的行
TableRow row = table.Rows[r];
row.Height = 20;
row.HeightType = TableRowHeightType.Exactly;
// 遍历数组的列
for (int c = 0; c < data.GetLength(1); c++)
{
var cell = row.Cells[c];
cell.CellFormat.VerticalAlignment = VerticalAlignment.Middle;
var textRange = cell.AddParagraph().AppendText(data[r, c]);
textRange.CharacterFormat.FontName = "宋体";
textRange.CharacterFormat.FontSize = 14;
}
}
// 自动调整表格的列宽以适应其内容
table.AutoFit(AutoFitBehaviorType.AutoFitToContents);
// 保存文档
document.SaveToFile("AddTable.docx", FileFormat.Docx);
// Dispose resources
document.Dispose();
}
}
}
C# 向 Word 文档添加列表
ListStyle 类为文档中的项目符号列表和编号列表提供了实现基础。通过配置该类,您可以为所有列表项建立统一的视觉格式。定义好列表样式后,只需使用 ApplyStyle() 方法将其应用到目标段落即可。
在 C# 中为 Word 文档添加列表的步骤如下:
- 创建 Document 对象。
- 使用 Document.AddSection() 方法为文档添加章节。
- 通过 ListStyle() 定义列表样式。
- 使用 Section.AddParagraph() 方法向章节添加段落。
- 通过 Paragraph.ListFormat.ApplyStyle() 方法将定义的列表样式应用到段落。
- 将文档保存为 DOCX 格式文件。
- C#
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
namespace AddList
{
class Program
{
static void Main(string[] args)
{
// 创建Document对象
Document document = new Document();
// 添加节
Section section = document.AddSection();
// 设置页边距
section.PageSetup.Margins.All = 60f;
// 创建列表样式
ListStyle listStyle = new ListStyle(document, ListType.Bulleted);
listStyle.Name = "bulletedList";
listStyle.Levels[0].BulletCharacter = "\x00B7";
listStyle.Levels[0].CharacterFormat.FontName = "Symbol";
listStyle.Levels[0].TextPosition = 20;
document.ListStyles.Add(listStyle);
// 添加段落
Paragraph paragraph = section.AddParagraph();
TextRange textRange = paragraph.AppendText("水果:");
paragraph.Format.AfterSpacing = 5f;
textRange.CharacterFormat.FontName = "宋体";
textRange.CharacterFormat.FontSize = 14;
// 遍历数组
foreach (var fruit in new[] { "苹果", "香蕉", "西瓜", "芒果" })
{
// 添加段落
paragraph = section.AddParagraph();
textRange = paragraph.AppendText(fruit);
// 应用列表样式
paragraph.ListFormat.ApplyStyle(listStyle.Name);
paragraph.ListFormat.ListLevelNumber = 0;
textRange.CharacterFormat.FontName = "宋体";
textRange.CharacterFormat.FontSize = 14;
}
// 保存文档
document.SaveToFile("AddList.docx", FileFormat.Docx);
// 释放资源
document.Dispose();
}
}
}
本教程简要介绍了使用 Spire.Doc for .NET 创建 Word 文档的基础操作,包括插入标题、段落、图片、表格和列表等核心功能。如需了解更丰富的元素添加和更精细的格式设置,请参阅 Spire.Doc 官方在线教程获取完整指南。
申请临时 License
如果您需要去除生成文档中的评估提示或解除功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。