問題が1つあります。私はワークブックの中のシート名を取得する必要があります。これは左端のシートタブを見ています。私の視点からは最初のものです。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];
}
ここでの問題は、それがないのビジュアルタブ順序ではなく、非常に異なる順序で行を返すされている - おそらく行が作成された日付。
シート名の表をタブ順に並べると、どのようにして1番目のExcelシート名を簡単に取得できるのでしょうか?
おかげで、 kalemのkeki
Iが表データテーブルを取得するためにこのラインを使用: データテーブルdtSheetName = connToExcel.GetOleDbSchemaTable(OleDbSchemaGuid.Tables、null); – pencilCake
チェックアウトhttp://support.microsoft.com/kb/309488 2番目のパラメータをnullからワークシート名に変更するか、ゼロをターゲットに戻すことを制限することができると思います – Beth