簡體   English   中英

VB.NET OpenXML讀取Excel文件

[英]VB.NET OpenXML to Read Excel File

我一直在尋找有效讀取Excel文件的方法,並找到了以下代碼來解析和讀取大型電子表格:

公共子ExcelProcessing()

    Dim strDoc As String = "C:\Documents and Settings\Practice.xlsx"
    Dim txt As String

    Dim spreadsheetDocument As SpreadsheetDocument = spreadsheetDocument.Open(strDoc, False)

    Dim workbookPart As WorkbookPart = spreadsheetDocument.WorkbookPart
    Dim worksheetPart As WorksheetPart = workbookPart.WorksheetParts.First()

    Dim reader As OpenXmlReader = OpenXmlReader.Create(worksheetPart)
    Dim text As String
    While reader.Read()

        If reader.ElementType = GetType(CellValue) Then


            text = reader.GetText()
            MessageBox.Show(text)

        End If


    End While

問題是我在哪里將reader.GetText()分配給我的字符串。 傳遞的值是一個小整數,而實際單元格值是一個字符串。 消息框會為每個填充的單元格觸發一次,因此這告訴我代碼正在查找包含值的單元格。 但是,我無法提取單元格的實際“內部文本”。

思考? 建議?

我找到了答案; 我需要引用sharedstringtable並從那里拉出內部文本:

    Dim strDoc As String = "C:\Documents and Settings\Practice.xlsx"
    Dim txt As String

    Dim spreadsheetDocument As SpreadsheetDocument = spreadsheetDocument.Open(strDoc, False)

    Dim workbookPart As WorkbookPart = spreadsheetDocument.WorkbookPart
    Dim shareStringPart As SharedStringTablePart = workbookPart.SharedStringTablePart


    For Each Item As SharedStringItem In shareStringPart.SharedStringTable.Elements(Of SharedStringItem)()

        MessageBox.Show(Item.InnerText)

    Next

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM