2017-04-04 8 views
0

私はExcelテーブルから作成しているデータテーブルを持っています。これは正常に動作します。しかし、私は最近仕様変更があり、テーブルの列0の値を代入する必要があります。私は、私のIF声明を発するのが難しいです。それはおそらく私が見落としている単純なものです。C# - データテーブルの列0であるかどうかを確認する方法はありますか

基本的には、行の最初の列であれば、別の場所に引っ張った特定の値を入れたいと思います(セルの色を引っ張ってRGB値を入力しています)。行の他の列であれば、引き続き通常どおりデータを読み込みます。あなたが最後

ので
for (var i = 0; i < tbl.Columns.Count; i++) 

にあなたの最初の列で、あなたは何列であなたを知るために使用できる値を開始forループ」にいる

DataTable tbl = new DataTable(); 

foreach (var firstRowCell in ws.Cells[1, 1, 1, ws.Dimension.End.Column]) 
{ 
    tbl.Columns.Add(hasHeader ? firstRowCell.Text : string.Format("Column {0}", firstRowCell.Start.Column)); 
    //var cellColor = ws.Cells[firstRowCell].Style.Fill.BackgroundColor.LookupColor(); 
} 

//var startRow = hasHeader ? 2 : 1; 
for (int rowNum = startRow; rowNum <= ws.Dimension.End.Row; rowNum++) 
{ 
    var currentRow = ws.Cells[rowNum, 1, rowNum, ws.Dimension.End.Column]; 
    DataRow row = tbl.Rows.Add(); 
    for (var i = 0; i < tbl.Columns.Count; i++) 
    { 
     //This is my problem. I am not seeing what needs to be in here. 
     if (tbl.Columns.????????) 
     { 
      row[i] = colorTable[rowNum]; 
     } 
     else 
     { 
      row[i] = currentRow[rowNum, i + 1].Text; 
     } 
    } 
} 
+0

のようなものを持っている可能性があり、あなただけの ''(I == 0)場合を使用することができませんか? – stuartd

答えて

1

: 以下のコードを見てくださいiだろうで再、あなたはこの

for (var i = 0; i < tbl.Columns.Count; i++) 
{ 
    //If you're at the first column 
    if (i == 0) 
    { 
     row[i] = colorTable[rowNum]; 
    } 
    else 
    { 
     row[i] = currentRow[rowNum, i + 1].Text; 
    } 
} 
+0

ホーマー・シンプソンの言葉 - DOH!ありがとう。 –

+0

@JamesCraig haha​​、問題ありません。 – CNuts

+0

@JamesCraig私の答えがあなたの問題を解決した場合は、あなたが見つかったことを示すために[承諾](https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)解決策。 – CNuts

関連する問題