我將excel文件上傳到SQL Server數據庫。我目前正在使用這條線從片獲得數據:從Excel中獲取表名
string myQuery = "Select * from [Sheet1$]";
的問題是,如果工作表名稱不Sheet1
那麼它就會失敗。有沒有辦法在Sheet1
中獲得表格名稱而不是硬編碼?
我將excel文件上傳到SQL Server數據庫。我目前正在使用這條線從片獲得數據:從Excel中獲取表名
string myQuery = "Select * from [Sheet1$]";
的問題是,如果工作表名稱不Sheet1
那麼它就會失敗。有沒有辦法在Sheet1
中獲得表格名稱而不是硬編碼?
您可以查詢首先使用GetOleDbSchemaTable
模式:
DataTable schemaTable = connection.GetOleDbSchemaTable(
OleDbSchemaGuid.Tables,
new object[] { null, null, null, "TABLE" });
第一個表的名稱應爲schemaTable.Rows[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