1

設定された列「eg A2」からファイルを読み取り、ドキュメント全体を読み取ることはできますか?

現在のコード:

("Select  * FROM [" + excelSheet[i] + "]", excelConnection); 
4

1 に答える 1

0

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();
        }
于 2012-11-06T14:04:33.053 に答える