码迷,mamicode.com
首页 > 其他好文 > 详细

获取Excel文本

时间:2020-09-17 12:13:37      阅读:30      评论:0      收藏:0      [点我收藏+]

标签:遇到   单元   etc   cell   开始   res   get   返回   exce   

private string GetCellText(int row, int col, ExcelWorksheet oSheet)
{
string result = "";
bool isFound = false;
int rowEnd = 1;
int colEnd = 1;

ExcelRange oRng = (ExcelRange)oSheet.Cells[row, col];
if (oRng.Value != null)
{
result = oRng.Value.ToString();
isFound = true;
}
else
{
if (!(bool)oRng.Merge) // 如果该单元格无值且不是合并的,则返回 null
{
result = null;
isFound = true;
}
}
if (!isFound)
{
// 倒序遍历该列所有行(从倒2行开始),判断是否有合并单元格且有值,如果遇到则已求出,
// 如果遇到非合并单元格,则行+1(倒回1行),列同样倒序进行
for (int r = row - 1; r >= 1; r--)
{
oRng = (ExcelRange)oSheet.Cells[r, col];
if ((bool)oRng.Merge)
{

if (oRng.Value != null)
{
result = oRng.Value.ToString();
isFound = true;
break;
}

}
else
{
rowEnd = r + 1;
break;
}
}
if (!isFound)
{
// 倒序遍历该行所有列,判断是否有合并单元格且有值,如果遇到则已求出,如果遇到非合并单元格,则说明数据非法。。。
for (int c = col - 1; c >= 1; c--)
{
oRng = (ExcelRange)oSheet.Cells[rowEnd, c];
if ((bool)oRng.Merge)
{

if (oRng.Value != null)
{
result = oRng.Value.ToString();
isFound = true;
break;
}

}
else
{
colEnd = c + 1;
break;
}
}
}
if (!isFound)
{
result = null;
}
}

return result;
}

获取Excel文本

标签:遇到   单元   etc   cell   开始   res   get   返回   exce   

原文地址:https://www.cnblogs.com/luluping/p/13607594.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!