对于合并单元格的内容和备注等信息,只有通过合并前左上角的单元格坐标才能获得,所以本文介绍怎样获得合并单元格相关信息。
1. 判定是否是合并单元格
之前提到了判断一个单元格是否是合并单元格的方法,这里再叙述一遍。
先获得一个单元格实例:
Range oCurCell; // 定义的当前单元格实例
// 获得接口指针
oCurCell.AttachDispatch( m_oCurrRange.GetItem( COleVariant( (long)i ), COleVariant( (long)j ) ).pdispVal, TRUE );
下面是判断是否是单元格的方法:
VARIANT var;
var = oCurCell.GetMergeCells();
if ( var.boolVal == -1 )
{
// 是合并的单元格
}
else if ( var.boolVal == 0 )
{
// 不是合并的单元格
}
在合并单元格的任意子单元格中都可以进行这种判断。
2. 获得合并的行数和列数
如果是合并单元格,获得合并的行数和列数
// 是合并的单元格
Range rangeMerge;
rangeMerge.AttachDispatch( oCurCell.GetMergeArea(), TRUE );
// 合并行数
rangeMerge.AttachDispatch( rangeMerge.GetRows(), TRUE );
int nRow = rangeMerge.GetCount();
// 合并列数
rangeMerge.AttachDispatch( rangeMerge.GetColumns(), TRUE );
int nColumn = rangeMerge.GetCount();
3. 获得合并单元格左上角的坐标
int nStartRow = rangeMerge.GetRow();
int nstartColumn = rangeMerge.GetColumn();
这样就可以获得合并单元格的内容和备注了。
4. 合并单元格的宽度和高度
VARIANT varWidth = rangeMerge.GetColumnWidth();
VARIANT varHeight = rangeMerge.GetRowHeight();
这两个函数不仅仅能获得普通的单元格的宽度和高度,合并单元格也可以。如果获得不了,可能需要使用合并单元格左上角的坐标。
获取合并单元格信息
本文介绍了如何判断Excel中的单元格是否为合并单元格,并提供了获取合并单元格的行数、列数、左上角坐标及宽度高度的具体方法。
2127

被折叠的 条评论
为什么被折叠?



