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

学习C#调用OpenXml操作word文档的基本用法(39:学习表格类-1)

word文档中除了文本、图片之外,常用的元素还有表格,openxml中使用Table类创建表格,该类是Word文档中表格相关的核心类,主要用途包括构建表格结构、设置表格级属性、管理表格行为,同时支持嵌套表格以实现复杂布局,其对应document.xml文件内的<w:tbl>元素。
除了Table类,创建简单表格还涉及的类型主要包括TableRow、TableCell、TableWidth、TableProperties、TableBorders、TableCaption、Paragraph等,构建表格的主要步骤包括:
1)创建Table类实例对象,代表表格对象;
2)创建TableProperties对象设置表格全局属性,并添加如TableWidth(宽度)、TableBorders(边框)、TableCaption(标题)等属性;
3)创建TableRow实例对象代表表格行,向每个TableRow实例对象插入TableCell实例对象代表表格列,同时每个TableCell至少插入一个 Paragraph对象,否则生成的文档可能会损坏;
4)将Table类实例对象追加到word文档的Body内,保存word文档。

本文学习使用Table类创建表格并将表格保存到Word文档的基本用法,示例代码如下所示,主要根据指定的行数与列数创建表格,同时设置表格标题、表格边框、表格宽度根据窗口自动调整,代码运行效果如下图所示:

Tabletable=newTable();TablePropertiestblProp=newTableProperties(newTableBorders(newTopBorder(){Val=BorderValues.Single,Size=4},newBottomBorder(){Val=BorderValues.Single,Size=4},newLeftBorder(){Val=BorderValues.Single,Size=4},newRightBorder(){Val=BorderValues.Single,Size=4},newInsideHorizontalBorder(){Val=BorderValues.Single,Size=4},newInsideVerticalBorder(){Val=BorderValues.Single,Size=4}),newTableCaption(){Val=txtTableTitle.Text},newTableWidth{Width="5000",Type=TableWidthUnitValues.Pct});table.AppendChild(tblProp);for(introw=0;row<Convert.ToInt32(nudRow.Value);row++){TableRowtr=newTableRow();for(intcol=0;col<Convert.ToInt32(nudColumn.Value);col++){TableCelltc=newTableCell();tc.Append(newParagraph(newRun(newText(""))));tr.Append(tc);}table.Append(tr);}body.AppendChild(newParagraph());body.Append(table);


参考文献
[1]https://github.com/dotnet/Open-XML-SDK
[2]https://learn.microsoft.com/zh-cn/office/open-xml/open-xml-sdk
[3]https://learn.microsoft.com/zh-cn/dotnet/api/documentformat.openxml.wordprocessing.style?view=openxml-3.0.1
[4]https://blog.csdn.net/i042416/article/details/126228816

http://www.jsqmd.com/news/928787/

相关文章:

  • 如何轻松实现跨平台输入法词库迁移:深蓝词库转换终极指南
  • go swagger转html
  • SVN 分支管理详解
  • 3个关键突破:用Blender 3MF插件重塑你的3D打印工作流
  • 2026年执行律师深度测评:如何为你的胜诉回款匹配最佳方案? - 资讯快报
  • Claude 深度技术解析:从宪法 AI 到百万级上下文的架构革命
  • 魔兽争霸3终极优化教程:5分钟免费解锁高帧率与宽屏体验
  • ncmdumpGUI:Windows平台NCM音频格式转换的完整集成实战应用
  • 烟威地区废旧设备拆除回收:合规服务助力工业设备更新处置 - 人间发现
  • 2026年合肥餐饮工装/烘焙店装修/茶饮店设计/美妆店整装/奢侈品门店装修推荐——三大品牌实力榜单 - 资讯快报
  • 欧盟AI法案深度解析:风险分级监管、合规挑战与企业应对策略
  • AI 圈四大术语通俗讲透:CLI、GUI、MCP、Skills,看完秒懂 2026 年终端革命
  • 告别重复检测!DINO的对比去噪训练,如何让模型学会‘精准排雷’?
  • 告别哑巴NPC!用RT-Voice PRO 2023.1.0为你的Unity游戏注入灵魂语音(附完整代码示例)
  • 【Gemini推送转化率翻倍计划】:基于17个高DAU应用的A/B测试数据,教你用3个配置参数+1个Hook拦截点重构通知生命周期
  • 宇视VM实况组显示功能配置指导
  • 【信息科学与工程学】【安全领域】 第八十八篇 网络空间安全18
  • RK3568开发板Maskrom模式进入全攻略:不止UPDATE键,还有音量-和复位键怎么用?
  • 2026长春二手机哪家好?手机店哪家最靠谱?实测体验TOP3 - 博客万
  • Omniapp:AI与区块链融合的DApp平台与OMP代币经济解析
  • 3.47 室内环境下全向成像孪生神经网络机器人定位的实验评价
  • 避坑指南:YOLOv8训练自定义数据集时,为什么你的‘小球’总是检测不准?
  • ppt里面有时候输入法无法输入中文,只能输入英文,采用切换按键也不行——只有关闭ppt重新打开才可以解决问题,这是什么原因?
  • 树莓派与OpenCV:构建家庭AIoT智能系统的核心技术与实践
  • CFD几何建模软件
  • Joy-Con Toolkit:如何快速掌握Switch手柄调试与个性化定制的终极指南
  • 智慧树刷课插件:三步实现自动化学习,告别手动刷课烦恼
  • 2026年哈尔滨系统门窗推荐榜:家装/别墅/大玻璃/德式/防渗漏/高性能/隔热/隔音/静音/抗风压系统窗源头厂家与封阳台品牌深度解析 - 品牌企业推荐师(官方)
  • 手把手调试:在QEMU+KVM虚拟化环境中验证SWIOTLB的工作机制与触发条件
  • Godot PCK文件解包:3分钟提取游戏资源的完整指南