0

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

我想做的是这样的:

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

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

4

1 回答 1

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
于 2017-08-10T14:43:34.983 回答