設定された列「eg A2
」からファイルを読み取り、ドキュメント全体を読み取ることはできますか?
現在のコード:
("Select * FROM [" + excelSheet[i] + "]", excelConnection);
SQL クエリと同じように列名を指定します。* を使用すると、すべての列が取得されます。列の個々のセットを指定すると、それらだけが取得されます。必要な行から開始する場合は、データを取得した後、LINQ とSkip()
メソッドを使用して特定の「行」から開始するだけです。
例: 上記のコードを使用する
("Select A,B,C,D FROM [" + excelSheet[i] + "]", excelConnection);
コレクションを反復処理する限り、コードに基づいてこれ以上の例を示すことはできません。だからここに概念を示すサンプルがあります..
注: Jet ではなく ACE.OLEDB ドライバーを使用しており、CSV を解析しています。EXCEL を使用する connstring の例については、www.connectionstrings.com を参照してください。しかし、交換できるものをすでに持っていると思います。
var dir = Path.GetDirectoryName(path);
var fileName = Path.GetFileName(path);
var connStr = string.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=""{0}"";Extended Properties=""text;HDR=YES;FMT=CSVDelimited"";", dir);
using (var conn = new OleDbConnection(connStr))
using (var cmd = new OleDbCommand(string.Format(@"Select A,B,C,D from {0}", fileName), conn))
{
conn.Open();
IDataReader records = cmd.ExecuteReader(CommandBehavior.CloseConnection);
var result = YOURLOGICTOMAPRECORDSET_TOLIST();
var filteredSet=result.Skip([ROWCOUNTTOSKIPHERE]).ToList();
}