当在word里操作包含合并单元格的即不规则表格时,需要注意一些问题。
在使用DevExpress的RichEditControl控件时也是存在无法操作不规则表格,看样这是微软甩出的一个大包袱。
所以如果需要对表格做删除操作,最好基础表是一个规则表,哪怕删除后再通过合并操作重新整理。
例:
A | B | C | ||
D | E | F | G | |
M | N | O | P | Q |
R | S |
1、根据书签选取表格时,尽量使用wordApp.Selection.Tables,也就是先GOTO书签位置,然后取选中区域的Table
2、删除列时,若同列上包含合并单元格,直接调用Column.Delete()则会报错。应使用
wordDoc.Range(table.Cell(1, vehicleNumber + 4 + 1).Range.Start, table.Cell(1, 12).Range.End).Select();
wordApp.Selection.Cells.Delete(Word.WdDeleteCells.wdDeleteCellsEntireColumn);
即删除单元格为目的,顺道删除该单元格所在列,若此单元格为合并单元格会删除多列。
如果此合并单元格与另外一个合并单元格所在列产生交叉呢?没试过!
4、注意Com对象数组下标都是从1开始的。
5、上表中选中
A单元格:table.Cell(1,1)
B单元格:table.Cell(1,2)
C单元格:table.Cell(1,3)
D单元格:table.Cell(2,2)
M单元格:table.Cell(3,1)
规则倒是简单,单元格所处的行数(包含它上面的所有行),列数是不计算前面的列的。注意Cell(2,1)是不存在的
6、想在A行下新增一行,需要先选中D单元格,然后wordApp.Selection.InsertRowsBelow(1);