だから、ループする範囲があり、その値をリストに追加します。ヘッダーなので、最初の値をスキップします。どのように私はそれについて行うことができますか?ラミンで述べたように列の範囲の最初の値をスキップしてリストに追加します
for (int a = 1; a < columnRange.Count; a++)
{
for (int b = 0; b < columnRange[a].Value.Count; b++)
{
cellValues.Add(columnRange[a].Value[b].ToString());
}
}
または
var cellValues = new List<string>();
//var rowsCount = worksheet.UsedRange.Rows.Count;
var columnRange = worksheet.UsedRange.Columns[1];
bool first = true;
foreach (var item in columnRange)
{
if (first)
{
first = false;
}
else
{
foreach (var cellValue in item.Value)
{
cellValues.Add(cellValue.ToString());
}
}
}
return cellValues;
またはSkip()
:それは立っているように私はあなたがfor
ループの代わりforeach
を使用することができ、すべての値
{
var cellValues = new List<string>();
//var rowsCount = worksheet.UsedRange.Rows.Count;
var columnRange = worksheet.UsedRange.Columns[1];
foreach (var item in columnRange)
{
foreach (var cellValue in item.Value)
{
cellValues.Add(cellValue.ToString());
}
}
return cellValues;
}
私は "for"を使用することをお勧めします。少ないコードで読みやすい。 –
@ EthanF。編集の回答を参照 –
@Roma最初と2番目は正常に実行されますが、リストには値が与えられません。 。 – MadM