当前位置: 首页 > news >正文

使用 C# 自动创建和格式化 Word 表格

要在 C# 中自动创建和格式化 Word 表格,可借助Microsoft.Office.Interop.Word库或DocX(更轻量,无需安装 Office)。以下分别介绍两种方案的实现方法:

方案一:使用 Microsoft.Office.Interop.Word(需安装 Office)

1. 安装依赖

通过 NuGet 安装Microsoft.Office.Interop.Word包(或手动引用 COM 组件Microsoft Word xx.x Object Library)。

2. 示例代码:创建并格式化表格

csharp
 
运行
 
 
 
 
using Microsoft.Office.Interop.Word;
using System;class WordTableCreator
{static void Main(){// 创建Word应用程序实例Application wordApp = new Application();wordApp.Visible = true; // 显示Word窗口// 创建新文档Document doc = wordApp.Documents.Add();// 在文档末尾插入表格(3行4列)Table table = doc.Tables.Add(Range: doc.Range(), NumRows: 3, NumColumns: 4);// 设置表格样式table.Style = "Table Grid"; // 使用内置网格样式table.Borders.Enable = 1; // 启用边框// 填充表头table.Cell(1, 1).Range.Text = "姓名";table.Cell(1, 2).Range.Text = "年龄";table.Cell(1, 3).Range.Text = "部门";table.Cell(1, 4).Range.Text = "入职日期";// 填充数据行table.Cell(2, 1).Range.Text = "张三";table.Cell(2, 2).Range.Text = "28";table.Cell(2, 3).Range.Text = "研发部";table.Cell(2, 4).Range.Text = "2023-01-15";table.Cell(3, 1).Range.Text = "李四";table.Cell(3, 2).Range.Text = "32";table.Cell(3, 3).Range.Text = "市场部";table.Cell(3, 4).Range.Text = "2022-05-20";// 格式化表头(加粗、居中)foreach (Cell cell in table.Rows[1].Cells){cell.Range.Bold = 1; // 加粗cell.Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCenter; // 居中cell.Shading.BackgroundPatternColor = WdColor.wdColorLightGray; // 背景色}// 设置单元格内边距table.CellPadding = 10;// 调整列宽(第1列宽度设为80pt,第2列100pt)table.Columns[1].Width = wordApp.InchesToPoints(1); // 1英寸=72pttable.Columns[2].Width = wordApp.InchesToPoints(1.5f);// 保存文档string filePath = @"C:\Temp\WordTableDemo.docx";doc.SaveAs2(filePath);// 释放资源doc.Close();wordApp.Quit();System.Runtime.InteropServices.Marshal.ReleaseComObject(table);System.Runtime.InteropServices.Marshal.ReleaseComObject(doc);System.Runtime.InteropServices.Marshal.ReleaseComObject(wordApp);Console.WriteLine("Word表格创建完成!");}
}
 

方案二:使用 DocX(无需安装 Office)

1. 安装依赖

通过 NuGet 安装DocX包(DocX由 Xceed 开发,轻量级且跨平台)。

2. 示例代码:创建并格式化表格

csharp
 
运行
 
 
 
 
using DocX;
using System;
using System.Drawing;class DocXTableCreator
{static void Main(){// 创建新文档using (DocX document = DocX.Create(@"C:\Temp\DocXTableDemo.docx")){// 添加标题document.InsertParagraph("员工信息表").FontSize(15).Bold().SpacingAfter(20);// 创建表格(3行4列)Table table = document.AddTable(3, 4);table.Design = TableDesign.LightGridAccent1; // 表格样式// 填充表头table.Rows[0].Cells[0].Paragraphs.First().Append("姓名").Bold();table.Rows[0].Cells[1].Paragraphs.First().Append("年龄").Bold();table.Rows[0].Cells[2].Paragraphs.First().Append("部门").Bold();table.Rows[0].Cells[3].Paragraphs.First().Append("入职日期").Bold();// 填充数据行table.Rows[1].Cells[0].Paragraphs.First().Append("张三");table.Rows[1].Cells[1].Paragraphs.First().Append("28");table.Rows[1].Cells[2].Paragraphs.First().Append("研发部");table.Rows[1].Cells[3].Paragraphs.First().Append("2023-01-15");table.Rows[2].Cells[0].Paragraphs.First().Append("李四");table.Rows[2].Cells[1].Paragraphs.First().Append("32");table.Rows[2].Cells[2].Paragraphs.First().Append("市场部");table.Rows[2].Cells[3].Paragraphs.First().Append("2022-05-20");// 格式化表头(居中、背景色)foreach (TableCell cell in table.Rows[0].Cells){cell.Paragraphs.First().Alignment = Alignment.center;cell.FillColor = Color.LightGray;}// 设置列宽table.SetColumnWidth(0, 80);table.SetColumnWidth(1, 60);table.SetColumnWidth(2, 100);table.SetColumnWidth(3, 100);// 将表格插入文档document.InsertTable(table);// 保存文档document.Save();}Console.WriteLine("DocX表格创建完成!");}
}
 

关键功能说明

  1. 表格创建:指定行列数生成表格,填充文本内容。
  2. 样式格式化
    • 边框、背景色、对齐方式(居中 / 左对齐)
    • 字体样式(加粗、字号)
    • 列宽、单元格内边距调整
  3. 资源释放:使用Interop时需手动释放 COM 对象,避免内存泄漏;DocX使用using自动释放。

注意事项

  • Interop 方案:需安装 Microsoft Office,且版本需与引用的 COM 组件匹配。
  • DocX 方案:无需 Office,适合服务器环境,但高级格式支持略少于 Interop。
http://www.rkmt.cn/news/61895.html

相关文章:

  • GitHub Actions安全漏洞:GITHUB_TOKEN部分泄露风险分析
  • NeurIPS 2025Mamba引爆3D重建!MVSMamba:效率与精度双双超越Transformer
  • 委托和事件的区别
  • 2025:如何利用AI不再错过任何一个opening job - M-T
  • NeurlPS 2024! 扩散模型用于世界建模:视觉细节在Atari环境中至关重要| 计算机视觉 | 强化学习2
  • Unclutter 黑五 Mac App 大包测评
  • [豪の算法奇妙冒险] 代码随想录算法训练营第八天 | 344-反转字符串、541-反转字符串II、Carl54-替换数字
  • 31(11.5)
  • 深入解析:GitLab 钩子 + Jenkins 自动化构建项目
  • 27.10.30
  • 抖音a_bogus,mstoken全参数爬虫逆向补环境2024-06-15
  • 深度学习50问
  • 2025年11月天津防潮公司,北京别墅地下室防潮公司,上海防潮公司权威推荐,防潮技术与市场口碑深度解析
  • 树状数组 线段树 笔记
  • 大模型(LLM)基本原理
  • 实训(补)
  • 2025年下半年江苏网架、钢结构、光伏支架钢管、托辊钢管、汽车传动轴钢管厂家推荐指南:专业选择与权威解析
  • 2025年11月压力容器、化工设备、锅炉、换热器、反应釜厂家怎么选:前五推荐指南
  • 2025年下半年冷弯成型前冲孔生产线、C型钢自动抱焊机、钢结构码垛机、H钢冲孔液压设备、光伏支架冲孔机优质供应商推荐指南
  • 2025年下半年压力容器、化工设备、锅炉、换热器、反应釜厂家综合推荐指南:十大优质供应商深度解析
  • 从“人工寻宝”到“秒级解析”:文档信息抽取技术重塑保险保单处理流程
  • Swift相机功能实战:手把手教你实现扫码、拍照、视频录制全流程 - 指南
  • 全息投影仓的AI连接系统的开发代码要怎么写?
  • 2025年江苏储物柜、卧室套装、衣柜衣橱、厨房橱柜工厂、全屋定制源头厂家推荐榜单:十大专业厂家综合评测
  • VUE3基础环境搭建
  • 基于Halcon的相机图像采集系统设计与达成
  • 2025年下半年辣椒种子、色素椒种子、线椒种子、螺丝椒种子、加工型辣椒种子厂家推荐排行榜单:精选五家优质供应商指南
  • Python进阶学习
  • 2025年塑料托盘、塑胶卡板、吹塑托盘、塑料栈板、防渗漏托盘生产厂家选购全指南:品牌推荐与行业洞察
  • 2025年四川成都木瓜蛋白酶泡毛肚技术、毛肚蒸煮机、毛肚自动化设备、毛肚清洗机、毛肚加工设备、毛肚设备工厂综合评估与选购指南