在 VSTO 工作簿中,我想从 Excel 制作的 ListObject 中获取数据。所以代码中没有像 DataBinding 这样的东西。
我想做的是这样的:
var rows = ((DataTable)Globals.Feuil1.MyNamedListObject.DataSource).Rows
不幸的是,这里的 DataSource 是空的,因为它当然没有被绑定。
在 VSTO 工作簿中,我想从 Excel 制作的 ListObject 中获取数据。所以代码中没有像 DataBinding 这样的东西。
我想做的是这样的:
var rows = ((DataTable)Globals.Feuil1.MyNamedListObject.DataSource).Rows
不幸的是,这里的 DataSource 是空的,因为它当然没有被绑定。
我的建议是让您按名称从工作簿中获取 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