OpenXML按名称获取工作表VB.Net

问题描述 投票:0回答:1

我所见过的一切都是用C#编写的。不幸的是,我所有的遗留代码都是用.Net编写的,我无法重写所有代码。我正在尝试使用OpenXML来阅读Excel工作簿中的特定工作表。以下代码在C#中有效:

 using (SpreadsheetDocument doc = SpreadsheetDocument.Open(Dts.Variables["stFlatFileConnString"].Value.ToString(), false))
            {
                WorkbookPart bkPart = doc.WorkbookPart;
                DocumentFormat.OpenXml.Spreadsheet.Workbook workbook = bkPart.Workbook;
                DocumentFormat.OpenXml.Spreadsheet.Sheet s = workbook.Descendants<DocumentFormat.OpenXml.Spreadsheet.Sheet>().Where(sht => sht.Name == "COMMON").FirstOrDefault();
                .....
            }

我曾尝试将其转换为VB.Net,但无法使子代行正常工作。 “ sht”错误地显示为“未声明”。在C#代码中,我不必声明它。 :

        Using spreadsheetDocument As SpreadsheetDocument = spreadsheetDocument.Open(Dts.Variables("stFlatFileConnString").Value.ToString(), False)
             Dim bkPart As WorkbookPart = spreadsheetDocument.WorkbookPart
             Dim bkworkbook As Workbook = bkPart.Workbook
             Dim Sheets As Sheet = bkworkbook.Descendants(Of Sheet)().Where(sht >= sht.Name = "COMMON").FirstOrDefault()
             ......
       End Using

我该如何格式化行以便可以在VB.Net中打开特定的工作表?

vb.net openxml
1个回答
0
投票

安德鲁·莫顿(Andrew Morton)有正确的答案。谢谢!

© www.soinside.com 2019 - 2024. All rights reserved.