我所见过的一切都是用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中打开特定的工作表?
安德鲁·莫顿(Andrew Morton)有正确的答案。谢谢!