【发布时间】:2012-10-04 04:21:10
【问题描述】:
我通过 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();
【问题讨论】:
-
我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
-
也许您应该分享您用于生成工作簿并更新名称的代码,以便我们可以实际调查而不是推测。
-
@DanielCook 发布在上面。代码很简单。