从ListObject获取数据不是从代码中获取的

时间:2016-10-11 10:39:12

标签: c# excel vsto listobject

在VSTO工作簿中, 我想从Excel制作的ListObject中获取数据。所以在代码中没有像DataBinding这样的东西。

我想做的是这样的事情:

var rows = ((DataTable)Globals.Feuil1.MyNamedListObject.DataSource).Rows

不幸的是,这里的DataSource是null,因为它当然没有绑定。

1 个答案:

答案 0 :(得分:0)

我建议您按名称从工作簿中获取ListObject。下面的函数将通过字符串名称返回ListObject。它遍历所有工作表和各自的ListObject,将名称与您传递的字符串进行比较,如果匹配,则返回ListObject。希望能帮助到你。最好的祝福。

'
' Find a Table in the Workbook by its String name
'
Function GetTable(strTable As String) As ListObject

    For Each WS In ActiveWorkbook.Worksheets
        For Each tbl In WS.ListObjects
            If tbl.Name = strTable Then
                Set GetTable = tbl
                On Error GoTo 0
                Exit Function
            End If
        Next
    Next

    Set GetTable = Nothing

End Function