C# 从Excel获取工作表名称

C# 从Excel获取工作表名称,c#,sql-server,excel,C#,Sql Server,Excel,我正在将excel文件上载到SQL Server数据库。我目前正在使用此行从工作表中获取数据: string myQuery = "Select * from [Sheet1$]"; 问题是,如果图纸名称不是Sheet1,则它将失败。在Sheet1中,是否有方法获取工作表名称而不是硬编码?您可以首先使用以下方法查询架构: 第一个表的名称应位于schemaTable.Rows[0][0]函数GetSheetNames(ByVal ExcelFile作为字符串)作为列表(字符串) 将图纸尺寸设为图

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

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

问题是,如果图纸名称不是
Sheet1
,则它将失败。在
Sheet1
中,是否有方法获取工作表名称而不是硬编码?

您可以首先使用以下方法查询架构:

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

函数GetSheetNames(ByVal ExcelFile作为字符串)作为列表(字符串)
将图纸尺寸设为图纸=无
Dim LstSheetName作为列表(字符串)=无
尝试
LstSheetName=新列表(字符串)
将文档用作电子表格文档=电子表格文档.Open(ExcelFile,False)
Dim_WorkbookPart作为WorkbookPart=Document.WorkbookPart
_工作表=\u WorkbookPart.Workbook.Sheets
终端使用
对于每个项目,作为表中的表
LstSheetName.Add(Item.Name)
下一个
返回工作表名称
特例
投手
结束尝试
端函数
DataTable schemaTable = connection.GetOleDbSchemaTable(
    OleDbSchemaGuid.Tables,
    new object[] { null, null, null, "TABLE" });