C# 操作word表格
遇到合并单元格的时候,假设表格是3行6列
newTable.Cell(1, 1).Merge(newTable.Cell(1, 3));//合并第1行第1列到横向单元格合并,使用如下语句
newTable.Cell(1, 3).Merge(newTable.Cell(1, 4));
newTable.Cell(2, 4).Merge(newTable.Cell(2, 5));
最后表格如下图
可以看到,横向合并单元格的时候,列号会往右移动。
但是如果是竖向合并单元格的话,就不是这样了。
还是这个表,如果想达到下面这个效果的话
使用下面的语句就会报错
newTable.Cell(2, 1).Merge(newTable.Cell(3, 1));
newTable.Cell(3, 1).Merge(newTable.Cell(5, 1));//这句会报错
出错提示:对 COM 组件的调用返回了错误 HRESULT E_FAIL
究其原因在于,竖向合并单元格的时候,单元格的名称不会改变。如下图
之前的单元格Cell(4, 1)还存在。
正确的代码应该是这样:
newTable.Cell(2, 1).Merge(newTable.Cell(3, 1));newTable.Cell(4, 1).Merge(newTable.Cell(6, 1));
具体原因可以看这个文章:/p656456564545/article/details/49123043点击打开链接