1

私は現在このようなコードブロックを持っています...

For Each cell In worksheet.Cells(8, 2, lastRow, lastCol)
    Select Case cell.Start.Column
        Case Is = 2
            'Do stuff
    End Select
Next

問題は、セルが空の場合、そのセルをスキップし、割り当てられたケースに入らないことです。空白のセルをスキップしないようにするにはどうすればよいですか?

4

1 に答える 1

2

EPPlus の問題ではないと思います。そのことは、ファイルに保存されるデータを減らすのに役立ちます。

ステートメントでコレクションの内容を簡単に確認できますworksheet.Cells(8, 2, lastRow, lastCol).Count()。非空白セルの数を返します。コレクションにはすべてのセルが含まれているわけではないため、for eachループはニーズを達成するのに役立ちません。

for eachからダブルforループへの変換だと思います。私はVBを知らないので、C#コードで申し訳ありません:(

for (int i = 8; i <= lastRow; i++)
{
    for (int j = 2; j <= lastCol; j++)
    {
        cell = worksheet.Cells[i, j];

        // Inside for each loop contents...
        Select Case cell.Start.Column
            Case Is = 2
                'Do stuff
        End Select
    }
}
于 2012-12-03T13:06:37.587 に答える