尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

如何使用DocX库在C#中创建和格式化Word表格?

如何使用DocX库在C#中创建和格式化Word表格?
📅 发布时间:2026/6/24 8:19:42
使用 DocX 库在 C# 中创建和格式化 Word 表格无需安装 Microsoft Office,且操作轻量、跨平台。以下是详细的实现步骤、示例代码及关键格式化技巧:

一、准备工作:安装 DocX 库

通过 NuGet 包管理器安装 DocX(由 Xceed 开发):
  • 方式 1:NuGet 控制台执行
    bash
     
    运行
     
     
     
     
    Install-Package DocX
     
     
  • 方式 2:Visual Studio 中右键项目 → 管理 NuGet 程序包 → 搜索 “DocX” 并安装。

二、核心功能示例:创建并格式化表格

以下示例涵盖表格创建、内容填充、样式美化、布局调整等核心需求:
csharp
 
运行
 
 
 
 
using DocX;
using System;
using System.Drawing;class DocXTableDemo
{static void Main(){// 1. 创建或打开Word文档string filePath = @"C:\Temp\EmployeeTable.docx";using (DocX document = DocX.Create(filePath)) // 新建文档(若打开现有文档用DocX.Load(filePath)){// 添加标题document.InsertParagraph("员工信息表").FontSize(18).Bold().Alignment = Alignment.center;document.InsertParagraph("\n"); // 换行// 2. 创建表格(4行5列)Table table = document.AddTable(4, 5);// 3. 基础样式设置table.Design = TableDesign.MediumGridAccent2; // 内置表格样式(可选:LightGrid、DarkList等)table.Alignment = Alignment.center; // 表格整体居中// 4. 填充内容(表头+数据)// 表头table.Rows[0].Cells[0].Paragraphs.First().Append("序号").Bold().FontSize(11);table.Rows[0].Cells[1].Paragraphs.First().Append("姓名").Bold().FontSize(11);table.Rows[0].Cells[2].Paragraphs.First().Append("部门").Bold().FontSize(11);table.Rows[0].Cells[3].Paragraphs.First().Append("年龄").Bold().FontSize(11);table.Rows[0].Cells[4].Paragraphs.First().Append("入职日期").Bold().FontSize(11);// 数据行table.Rows[1].Cells[0].Paragraphs.First().Append("1");table.Rows[1].Cells[1].Paragraphs.First().Append("张三");table.Rows[1].Cells[2].Paragraphs.First().Append("研发部");table.Rows[1].Cells[3].Paragraphs.First().Append("28");table.Rows[1].Cells[4].Paragraphs.First().Append("2023-01-15");table.Rows[2].Cells[0].Paragraphs.First().Append("2");table.Rows[2].Cells[1].Paragraphs.First().Append("李四");table.Rows[2].Cells[2].Paragraphs.First().Append("市场部");table.Rows[2].Cells[3].Paragraphs.First().Append("32");table.Rows[2].Cells[4].Paragraphs.First().Append("2022-05-20");table.Rows[3].Cells[0].Paragraphs.First().Append("3");table.Rows[3].Cells[1].Paragraphs.First().Append("王五");table.Rows[3].Cells[2].Paragraphs.First().Append("人事部");table.Rows[3].Cells[3].Paragraphs.First().Append("25");table.Rows[3].Cells[4].Paragraphs.First().Append("2024-03-10");// 5. 高级格式化// (1)表头样式:背景色、文字居中foreach (TableCell cell in table.Rows[0].Cells){cell.FillColor = Color.FromArgb(200, 220, 255); // 自定义背景色cell.Paragraphs.First().Alignment = Alignment.center; // 文字居中}// (2)调整列宽(单位:磅)table.SetColumnWidth(0, 40);  // 序号列table.SetColumnWidth(1, 80);  // 姓名列table.SetColumnWidth(2, 100); // 部门列table.SetColumnWidth(3, 50);  // 年龄列table.SetColumnWidth(4, 100); // 入职日期列// (3)设置单元格内边距table.CellSpacing = 5; // 单元格间距foreach (TableRow row in table.Rows){foreach (TableCell cell in row.Cells){cell.MarginTop = 5;cell.MarginBottom = 5;cell.MarginLeft = 5;cell.MarginRight = 5;}}// (4)合并单元格(示例:合并最后一行的“备注”列)// 先新增一行,再合并单元格table.InsertRow(table.Rows[3]); // 复制第3行作为新行table.Rows[4].Cells[0].Paragraphs.First().Append("4");table.Rows[4].MergeCells(1, 4); // 合并第4行的第1列到第4列(索引从0开始)table.Rows[4].Cells[1].Paragraphs.First().Append("(实习生)").Italic().Color(Color.Gray);// 6. 将表格插入文档document.InsertTable(table);// 7. 保存文档document.Save();Console.WriteLine($"表格已生成:{filePath}");}}
}
 

三、关键格式化技巧

  1. 表格样式预设TableDesign枚举提供多种内置样式,如:
    • TableDesign.LightGrid:浅色网格
    • TableDesign.DarkList:深色列表
    • TableDesign.MediumGridAccent3:中等网格 + 强调色 3
  2. 单元格操作
    • 合并单元格:table.Rows[i].MergeCells(startCol, endCol)
    • 拆分单元格:table.Rows[i].Cells[j].SplitCells(rowCount, colCount)
    • 设置边框:table.SetBorder(BorderType.Bottom, new Border(3, BorderStyle.Tcbs_double, Color.Black))
  3. 文字格式
    • 字体样式:.Font("微软雅黑")、.Color(Color.Red)、.Italic()
    • 段落对齐:.Alignment = Alignment.right(右对齐)
  4. 行 / 列动态调整
    • 插入行:table.InsertRow(index)
    • 删除列:table.RemoveColumn(index)
    • 调整行高:table.Rows[i].Height = 20

四、注意事项

  1. 路径权限:确保生成文档的路径有写入权限(如C:\Temp需先创建)。
  2. 特殊字符:若内容含换行符,可用.AppendLine()替代.Append()。
  3. 兼容性:DocX 生成的是.docx格式,不支持.doc(旧版 Word)。
通过以上方法,可快速实现 Word 表格的创建与精细化格式化,满足报表、文档生成等常见需求。

相关新闻

  • elasticsearch创建用户、角色
  • P30_利用GUP训练(二)
  • 使用 C# 自动创建和格式化 Word 表格

最新新闻

  • openclaw不存在?Ubuntu 22.04下安全替代方案指南
  • VB6.0下载安装教程(附安装包)2026最新版(Visual Basic 6.0中文企业版)
  • 【免费数据】2012和2020年中国1km分辨率POI密度栅格数据
  • 区间预测 | Matlab实现OOA-BP-KDE核密度估计多置信区间多变量回归区间预测
  • 按照这个方法真的领到了8元,超简单,实打实的,可点奶茶外卖.千问无门槛优惠券 大数据推给有需要的人,下载千问,输入口令:千问新用户专属876028,就可以领取啦
  • Rust的匹配中的编译器技术

日新闻

  • 终极指南:如何用shadPS4在电脑上免费畅玩PS4游戏
  • 打造个性化Instagram Clone:主题定制与用户体验优化技巧
  • 未来展望:RoseTTAFold-All-Atom的发展路线图与社区支持资源汇总

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号