3

我正在处理 Openxml Excel 处理项目。在某个类中,我有 Row 对象。我可以仅使用 Row 对象获取此 Row 对象的当前电子表格吗?

4

1 回答 1

1

您可以使用实例的Parent属性Row导航到Worksheet所属的行。

下面关于 Row 类的 MSDN 文章清楚地指出,Row实例的唯一父元素是SheetData行所属的对象。对象的唯一可能的 Parent 对象SheetDataWorksheet实例(有关详细信息,请参阅以下有关 SheetData 类的 MSDN 文章)。

例子:

以下示例显示如何导航到Worksheet 给定Row实例所属的实例。为方便起见,我创建了一个扩展方法:

public static class RowExtensionMethods
{
  public static Worksheet GetWorksheet(this Row r)
  {
    if (r.Parent == null)
    {
      throw new InvalidOperationException("Row does not belong to sheetdata.");
    }

    if (r.Parent.Parent == null)
    {
      throw new InvalidOperationException("Row does not belong to worksheet.");
    }

    return (Worksheet)r.Parent.Parent;
  }
}


// Then in your method use the extension method like so
public void YourMethod(Row r)
{
  Worksheet w = r.GetWorksheet();

  // Do something with the worksheet...
}
于 2012-07-25T20:45:03.423 回答