繁体   English   中英

从Excel获取工作表名称

[英]Getting Sheet Name From Excel

我正在将excel文件上传到SQL Server数据库。 我目前正在使用此行从工作表中获取数据:

string myQuery = "Select * from [Sheet1$]";

问题是,如果工作表名称不是Sheet1则它将失败。 有没有一种方法可以获取工作表名称,而不是在Sheet1硬编码?

您可以先使用GetOleDbSchemaTable查询架构:

DataTable schemaTable = connection.GetOleDbSchemaTable(
    OleDbSchemaGuid.Tables,
    new object[] { null, null, null, "TABLE" });

第一个表的名称应位于schemaTable.Rows[0][0]

Function GetSheetNames(ByVal ExcelFile As String) As List(Of String) Dim _Sheets As Sheets = Nothing Dim LstSheetName As List(Of String) = Nothing Try LstSheetName = New List(Of String) Using Document As SpreadsheetDocument = SpreadsheetDocument.Open(ExcelFile, False) Dim _WorkbookPart As WorkbookPart = Document.WorkbookPart _Sheets = _WorkbookPart.Workbook.Sheets End Using For Each Item As Sheet In _Sheets LstSheetName.Add(Item.Name) Next Return LstSheetName Catch ex As Exception Throw ex End Try End Function

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM