如题所述
无论是用office.interop.excel或者NPOI来读取EXCEL,都是对单元格进行遍历,然后操作。
判断为空也非常简单,
var cell = mysheet.GetRow(1).GetCell(1);//伪代码, 读第一列第一行的单元格,
NPOI的CELL类型是可以直接.Tostring()的,
Excel.dll是读取一个Range, 然后.Text来获取文本,(空单元格也会有值)
所以可以直接写一个帮助方法:
bool IsEmptyCell(object cell)
{
try{
string value = cell.ToString();
if(!string.IsNullOrEmpty(value)){
return false;}
else{ return true;}
catch(Exception){ return true;}
}
这个方法只有当单元格不为null且里面的数据可以转成有效的字符串时,会返回false,其余都返回true(空单元格);
读取的时候,在你需要判断空单元格的时候,将NPOI的cell或者Excel.dll的Range.Text传入这个帮助方法即可。
判断为空也非常简单,
var cell = mysheet.GetRow(1).GetCell(1);//伪代码, 读第一列第一行的单元格,
NPOI的CELL类型是可以直接.Tostring()的,
Excel.dll是读取一个Range, 然后.Text来获取文本,(空单元格也会有值)
所以可以直接写一个帮助方法:
bool IsEmptyCell(object cell)
{
try{
string value = cell.ToString();
if(!string.IsNullOrEmpty(value)){
return false;}
else{ return true;}
catch(Exception){ return true;}
}
这个方法只有当单元格不为null且里面的数据可以转成有效的字符串时,会返回false,其余都返回true(空单元格);
读取的时候,在你需要判断空单元格的时候,将NPOI的cell或者Excel.dll的Range.Text传入这个帮助方法即可。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2016-10-10
如是Excel,则判断 工作表的使用列 mWorkSheet.UsedRange.Rows.Count;
如果是对应的打开的dataTable,也就是记录的话,则用Table.Rows
如果是对应的打开的dataTable,也就是记录的话,则用Table.Rows