これが私のコードです。その目的は、最初の列にテキストが含まれる行数をカウントすることです。
ExcelWorksheet sheet = null;
using (ExcelPackage pkg = new ExcelPackage(new MemoryStream(_fileBytes)))
{
sheet = pkg.Workbook.Worksheets[1];
}
int rows = sheet.Dimension.End.Row;
int count = 0;
for (int i = 1; i <= rows; ++i)
{
if (!string.IsNullOrEmpty(sheet.Cells[i, 1].Text))
++count;
}
デバッガーの外部でコードを実行すると、sheet.Cells[i, 1].Text
呼び出しで例外が発生します。
Package object was closed and disposed, so cannot carry out operations
on this object or any stream opened on a part of this package.
デバッガーでステップ実行すると、同じ例外が発生します...ウォッチウィンドウにこれがない限り: sheet.Cells[1, 1].Text
. コードに対してデバッガーを実行すると (つまり、F5 キーを押す)、sheet
オブジェクトが初期化される前から、例外が発生します。ウォッチウィンドウで切り取ったコードをステップスルーすると、例外はありません。コードは問題なく動作します。ウォッチ ウィンドウには、最初のセルの内容が正しく表示されます。何を与える?