在哪种情况下,我的Excel Range.OutlineLevel为null或System.DBNull?

时间:2015-01-05 10:50:18

标签: c# excel interop vsto

在我的VSTO加载项代码中,我有一个range.outlinelevel检查我的工作表行。 根据{{​​3}},大纲级别可以是1到8,属于documentation类型。

  1. 但有时返回 null
  2. 其他时间range.OutlineLevel.GetType()返回 DBNull
  3. 有人知道为什么/何时出现这种情况?


    相关帖子: Variant/Double

1 个答案:

答案 0 :(得分:1)

我仍然没有回答(1.)。 但是今天我找到了答案(2。):

如果给定范围内有多个大纲级别,range.OutlineLevel.GetType()将返回DBNull。

请参阅下面的调试器输出:

  • 正常行的标准OutlineLevel为1.0:

    range.OutlineLevel  1.0     dynamic {double}
    
  • 对于具有不同OutlineLevels的多行,结果为:

    range.OutlineLevel  {}      dynamic {System.DBNull}