从ListObject中获取数据,而不是从代码中获取

本文关键字:获取 代码 数据 ListObject | 更新日期: 2023-09-27 18:12:24

在VSTO工作簿中,我想从一个列表对象从Excel中获得数据。所以在代码中没有像数据绑定这样的东西。

我想做的是这样的:

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

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

从ListObject中获取数据,而不是从代码中获取

我的建议是您按名称从工作簿中获取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