2

C# と MVVM モデルを使用して Excel アプリケーションを作成しました。そのExcelファイルで、テンプレート列としていくつかの列を作成しました。たとえば、UnitCostQuantityなどの列があります。ここで、「 Quantity 」の正確な列番号を見つけたいと思います。

その特定の列(数量)番号を取得するにはどうすればよいですか?

これを達成する方法を教えてください。

4

1 に答える 1

0

Selectステートメントを実行し、データセットに入力します。次に、テーブル内の列をトラバースして、列「数量」のインデックスを見つけます。

データセットにExcelファイルをロードするためのサンプルコード:

public static DataSet exceldata(string filelocation){

    DataSet ds = new DataSet();

    OleDbCommand excelCommand = new OleDbCommand(); OleDbDataAdapter excelDataAdapter = new OleDbDataAdapter();

    string excelConnStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + filelocation + "; Extended Properties =Excel 8.0;Hdr=Yes";

    OleDbConnection excelConn = new OleDbConnection(excelConnStr);

    excelConn.Open();

    DataTable dtPatterns = new DataTable(); excelCommand = new OleDbCommand("SELECT `PATTERN` as PATTERN, `PLAN` as PLAN FROM [PATTERNS$] where 1=0", excelConn);

    excelDataAdapter.SelectCommand = excelCommand;

    excelDataAdapter.Fill(dtPatterns);

    "dtPatterns.TableName = Patterns";

    ds.Tables.Add(dtPatterns);

    return ds;

}

このメソッドを使用することにより、データセットにテーブルスキーマをロードしました。これで、任意のコレクション変数に列名とインデックスを格納し、そのコレクションのキー列名を使用して列インデックスを取得できます。

于 2012-05-08T12:29:34.907 に答える