在Open Xml中从Row获取电子表格

时间:2012-07-19 20:38:45

标签: c# openxml

我正在开发一个Openxml Excel Processing项目。在某个类中,我有Row对象。 我是否可以仅使用Row对象获取此Row对象的当前电子表格?

1 个答案:

答案 0 :(得分:1)

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

以下MSDN article on the Row class明确指出唯一的父元素 Row实例的行是该行所属的SheetData对象。 SheetData对象唯一可能的父对象是 Worksheet个实例(有关详细信息,请参阅以下MSDN article on the SheetData class)。

示例:

以下示例显示如何导航到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...
}