在这种情况下我的Excel Range.OutlineLevel为空或System.DBNull?
在我的VSTO加载项代码中,我有一个range.outlinelevel检查我的工作表行。 根据文档大纲级别可能是1到8,并且是Variant / Doubletypes。
- 但是有时候返回null
- 和其他时间range.OutlineLevel.GetType()返回DBNull
有人知道为什么/当这种情况?
一个相关的post: https : //stackoverflow.com/questions/27778183/fastest-way-to-get-the-highest-range-outlinelevel-in-an-excel-worksheet
(1)我仍然没有答案。 但今天我find了答案(2):
如果给定范围中有多个大纲级别,range.OutlineLevel.GetType()将返回DBNull。
请参阅下面的debugging器输出:
-
正常行的标准OutlineLevel是1.0:
range.OutlineLevel 1.0 dynamic {double}
-
对于具有不同OutlineLevels的多行,结果是:
range.OutlineLevel {} dynamic {System.DBNull}