** VB.NET利用openXML读取EXCEL数据(二)**
二、获取EXCEL的work sheet对象
先上代码
Public Function xmlWorksheet(ByVal SheetName As String) As Worksheet
Try
'Debug.Print("in xmlGetWorksheet,SheetName=" & SheetName)
Dim mySheet As IEnumerable(Of Sheet) = xlBookPart.Workbook.Sheets.Descendants.Cast(Of Sheet).Where(Function(a) a.Name = SheetName)
If mySheet.Count = 0 Then
'即该表不存在
Return Nothing
Else
Dim worksheetPart As WorksheetPart = spreadsheetDocument.WorkbookPart.GetPartById(mySheet.First().Id)
Return worksheetPart.Worksheet
End If
Catch ex As Exception
Debug.Print("in xmlGetWorksheet,Err.Description=" & Err.Description)
Return Nothing
End Try
End Function
Dim mySheet As IEnumerable(Of Sheet) = xlBookPart.Workbook.Sheets.Descendants.Cast(Of Sheet).Where(Function(a) a.Name = SheetName)
这一句是按照C#的语言翻译的。意思是找到xlBookPart子项workbook中的sheets集合,对sheet匹配名称为sheetname的对象组成集合mySheet(我是这么理解的,有错请指正)。
我们需要的xmlWorksheet是该集合的第一个id(不知道为啥一定是第一个)