2015-02-09 49 views
1

我將excel文件上傳到SQL Server數據庫。我目前正在使用這條線從片獲得數據:從Excel中獲取表名

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

的問題是,如果工作表名稱不Sheet1那麼它就會失敗。有沒有辦法在Sheet1中獲得表格名稱而不是硬編碼?

回答

2

您可以查詢首先使用GetOleDbSchemaTable模式:

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

第一個表的名稱應爲schemaTable.Rows[0][0]

0

功能GetSheetNames(BYVAL ExcelFile作爲字符串)作爲列表(串) 昏暗_Sheets如表=無 昏暗LstSheetName方式列表(串)=無 嘗試 LstSheetName =新的列表(串) 使用文獻作爲SpreadsheetDocument = SpreadsheetDocument.Open(ExcelFile,假) 昏暗_WorkbookPart作爲WorkbookPart = Document.WorkbookPart _Sheets = _WorkbookPart.Workbook.Sheets 結束使用

 For Each Item As Sheet In _Sheets 
      LstSheetName.Add(Item.Name) 
     Next 
     Return LstSheetName 
    Catch ex As Exception 
     Throw ex 
    End Try 
End Function