2012-07-19 41 views
3

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

+0

您使用的是微软OPENXML SDK? – Hans 2012-07-23 18:51:47

+0

**是... **我正在使用** Microsoft Open XML SDK 2.0 ** – 2012-07-25 04:28:18

回答

1

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

以下MSDN article on the Row class清楚地说,一个实例的唯一父元素 是SheetData对象行所属。 SheetData对象唯一可能的父对象是 Worksheet实例(有关更多信息,请参阅以下MSDN article on the SheetData class)。

实施例:

下面的例子说明了如何导航至Worksheet 给定实例属于。为方便起见,我创建了一个 扩展方法:

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... 
} 
+0

谢谢........... :) – 2012-07-26 07:33:37

相关问题