ワークシートの最後の行を取得するために、C# の相互運用 Excel オブジェクトを介して UsedRange を使用しています。Name プロパティのみが編集されたワークシートが新しく作成されます。しかし、ws.UsedRange.Rows.Count を取得すると、10k を超えます。これが0または1を与えないのはなぜですか? 真の最後の行を取得するにはどうすればよいですか?
Application xlApp = null;
Worksheet temp;
Range cell;
int row;
int col;
int i;
xlApp = new Application();
xlApp.Visible = true;
Workbook wbDetail = xlApp.Workbooks.Add();
wbDetail.Worksheets.Add(Type.Missing, Type.Missing, 26, XlWBATemplate.xlWBATWorksheet);
i = 0;
while(i < 29)
{
temp = (Worksheet)wbDetail.Worksheets[i+1];
temp.Name = "TITLE_"+i
i++;
}
DateTime reqdate;
i=0;
while(i<29)
{
temp = (Worksheet)wbDetail.Worksheets["TITLE_"+i];
int j = 0;
temp.get_Range("A1", Type.Missing).Value = "TITLE STUFF";
row = temp.UsedRange.Rows.Count;
while(j < 50)
{
cell = (Range)temp.Cells[row+1, j+1];
cell.Value = j;
j++;
}
}
i++
}
wbDetail.Save();