1、纵向合并单元格
//从第13行起(包括第13行),向上选择12行,并纵向合并int rowcount = 12;int cellrow = 13;table.Cell(cellrow, 1).Select();//光标放在第13行的第一个单元格object WdUnits = Microsoft.Office.Interop.Word.WdUnits.wdLine;object WdMovementType = Microsoft.Office.Interop.Word.WdMovementType.wdExtend;wApp.Selection.MoveUp(WdUnits, rowcount, WdMovementType);wApp.Selection.Cells.Merge();
但纵向合并单元格总是会涉及到跨页问题,导致无法选中单元格,合并失败。目前为止,我测试得到的有效方法是:
(1)设置表格属性:按照下图红框中的设置
(2)修改选择单元格的代码:
//从第13行起(包括第13行),向上选择12行,并纵向合并int rowcount = 12;int cellrow = 13;table.Cell(cellrow, 1).Select();//光标放在第13行的第一个单元格object WdUnits = Microsoft.Office.Interop.Word.WdUnits.wdLine;object WdMovementType = Microsoft.Office.Interop.Word.WdMovementType.wdExtend;for (int rc = 0; rc < rowcount; rc++)//循环选择单元格{ wApp.Selection.MoveUp(WdUnits, 1, WdMovementType);}wApp.Selection.Cells.Merge();
(3)目前是成功解决了纵向合并单元格的跨页问题。只有一个瑕疵,在页尾会出现显示不全的问题,需要用户手动拉动单元格,将内容全部显示出来。