我的目标是逐行检查Sheet1中的内容,以发现有多少行数据。为此,我使用了一个do\while循环,应该在达到空单元格时停止。
例如:
row1 data row2 data row3 data row4 data row5 data row6 data row7 data
在这种情况下,我只需要前5行数据,因此do\while循环的检查旨在在达到空单元格时停止。但实际上,由于循环不再执行(即使找到填充有数据的空单元格,也只是完成一次循环就停止了)。
例如:
row1 data row2 data row3 data row4 data row5 data row6 data row7 data
在这种情况下,我只需要前5行数据,因此do\while循环的检查旨在在达到空单元格时停止。但实际上,由于循环不再执行(即使找到填充有数据的空单元格,也只是完成一次循环就停止了)。
string str;
int rCnt = 11; //the data I need is after the 10th row in excel
int cCnt = 1;
int valori = 1;
Excel.Application xlApp = new Excel.Application();
Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(label4.Text, 0, false, 5, "", "",
false, Excel.XlPlatform.xlWindows,
"", true, false, 0, true, false,
false);
Excel.Sheets xlsheet = xlWorkbook.Worksheets;
string sheet1 = "Sheet1";
Excel.Worksheet xlWorksheet = (Excel.Worksheet)xlsheet.get_Item(sheet1);
Excel.Range xlCell;
do
{
rCnt++;
str = "A" + rCnt;
xlCell = (Excel.Range)xlWorksheet.get_Range(str, str);
} while (xlCell.Value2 == null);
我尝试将Value2
更改为Value
或Text
,并尝试使用==""而不是null来设置。