You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何使用OpenXML C#横向合并Microsoft Word表格单元格

横向合并Word表格单元格的实现方法

要在Open XML SDK里完成这两个单元格的横向合并,核心逻辑其实很简单:让第一个单元格跨占多列,再移除被合并的第二个单元格就行,具体实现如下:

// 1. 给第一个单元格设置跨列属性,指定要合并的列数(这里合并2列,所以Val设为2)
var gridSpan = new Wordprocessing.GridSpan { Val = 2 };
cell1.AppendChild(gridSpan);

// 2. 移除第二个单元格(因为它已经被第一个单元格的跨列属性覆盖了)
cell2.Remove();

额外注意事项

  • 确保你已经引用了DocumentFormat.OpenXml.Wordprocessing命名空间,不然相关类会无法识别。
  • 如果原单元格有自定义宽度,建议调整第一个单元格的宽度为两个单元格的总宽度,避免布局错乱:
    // 示例:设置单元格宽度为原两个单元格的总宽度(缇为Word的单位,这里假设每个原单元格宽2000缇)
    var cellWidth = new Wordprocessing.TableCellWidth { Type = TableWidthUnitValues.Dxa, Width = "4000" };
    // 先移除原有的宽度设置(如果存在)
    var existingWidth = cell1.Elements<Wordprocessing.TableCellWidth>().FirstOrDefault();
    if (existingWidth != null) existingWidth.Remove();
    cell1.AppendChild(cellWidth);
    
  • 务必移除第二个单元格,否则Word文档会出现异常的空白单元格。

内容的提问来源于stack exchange,提问作者bvl

火山引擎 最新活动