。。。。。
int rowNum = ws.UsedRange.Cells.Rows.Count;//获得要导入显示excel文件的行数
int colNum = ws.UsedRange.Cells.Columns.Count;获得要导入显示excel文件的列数数
string cellStr = null;
char ch = 'A';
//动态添加行列并填充值
for (int i = 0; i < colNum; i++)
{
dataGridView1.Columns.Add(i.ToString(), ch.ToString());
dataGridView1.Rows.Add(rowNum);
for (int j = 0; j < rowNum; j++)
{
cellStr = ch.ToString() + (j + 1).ToString();
dataGridView1[i, j].Value = ws.UsedRange.Cells.get_Range(cellStr, miss).Text.ToString();
}
ch++;
}
结果是:假如excel文件件行数有20行,列数有5列,能成功加载显示,但是datagridview却实际有20*5=100行,其他80行是没值的,无法理解,怎么改啊,求大神!谢谢!
原因1是绝对的,原因2不可能,因为试了好几个xls显示到datagridview都是:行*列
我想得到的答案是纠正我代码的错误处,谢谢
大致帮你把代码看了遍,感觉你的代码逻辑完全不对啊....你对列进行循环却进行了AddRow???这个逻辑上肯定是错的....
这样做啊,你先 for(列) 把所以列全部添加完,然后进行 for(行) 进行AddRow,这样逻辑上就不会乱了.....像你那样For(列)却AddRow肯定错误的啦....