2013-04-18 100 views
0

我從Excel表格中插入數據到Sql表格。 oledbConnection.GetSchema("Table_Name")按排序順序獲取Excel表格名稱。我不希望他們被分類因爲我想要得到第一張紙以便對其執行一些操作。這是我的代碼片段。使用Getschema方法獲取Excel表格名稱,無需排序

string con = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + excel +";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=2\""; 
      OleDbConnection cn = new OleDbConnection(con); 
      cn.Open(); 

      DataTable sheetTable = cn.GetSchema("Tables"); 
      string strSHeetName = Convert.ToString(sheetTable.Rows[0]["TABLE_NAME"]); 

任何幫助將不勝感激。

+0

你可以做到這一點......希望這將有助於。 .. http://stackoverflow.com/questions/1164698/using-excel-oledb-to-get-sheet-names-in-sheet-order – Developer

回答

0

試試這個代碼,這個工作對我來說...

Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application(); 
Microsoft.Office.Interop.Excel.Workbook excelBook = xlApp.Workbooks.Open(filePath); 
string[] excelSheets = new string[excelBook.Worksheets.Count]; 
int i = 0; 
foreach(Microsoft.Office.Interop.Excel.Worksheet wSheet in excelBook.Worksheets)  
{ 
    excelSheets[i] = wSheet.Name; 
    i++; 
} 

*替換「文件路徑」與您的文件位置路徑...