我有一個問題。我需要在工作簿中找到Excel工作表名稱,該工作簿從最左邊的工作表標籤中查看 - 從我的角度來看第一個工作表。用OleDbConnection獲取第一個Excel工作表名稱
我使用這個代碼:
public static string GetFirstExcelSheetName(OleDbConnection connToExcel)
{
DataTable dtSheetName =
connToExcel.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
List<String> lstExcelSheet = new List<string>(dtSheetName.Rows.Count);
foreach (DataRow row in dtSheetName.Rows)
lstExcelSheet.Add(row["TABLE_NAME"].ToString());
return lstExcelSheet[0];
}
這裏的問題是它返回未在視覺Tab鍵順序,但在一個非常不同的順序行 - 最有可能的行創建日期。
怎樣才能根據tab標籤順序得到sheetnames表,這樣我就可以輕鬆獲得第一張excel表名?
感謝, Kalem案keki
我使用此行得到表數據表: 的DataTable dtSheetName = connToExcel.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,null); – pencilCake 2009-08-20 14:54:54
檢出http://support.microsoft.com/kb/309488 我認爲你可以將你的第二個參數從null更改爲工作表的名稱或零,以限制返回到目標的表 – Beth 2009-08-20 16:37:23