c# 读取空行_读取excel文件解决空行的有关问题

读取excel文件解决空行的问题

最近做个东西需要读取excel经过一些处理后存入数据库,打算使用NPOI来实现。发现了一个问题,即便excel表格中只是真实数据一行(除表头),NPOI 的sheet.PhysicalNumberOfRows 返回的却有很多行,好像将表格中的空行也算进去了,除了判断每个CELL为空外,有没有什么好的办法来判断空行呢? 大家多多交流一下ISheet sheet = wk.GetSheetAt(0);   //读取当前表数据

for (int j = 0; j <= sheet.PhysicalNumberOfRows; j++)  //LastRowNum 是当前表的总行数

{

IRow row = sheet.GetRow(j);  //读取当前行数据

if (row != null)

{

for (int k = 0; k <= row.LastCellNum; k++)  //LastCellNum 是当前行的总列数

{

ICell cell = row.GetCell(k);  //当前表格

if (cell != null)

{

sbr.Append(cell.ToString()+"**");   //获取表格中的数据并转换为字符串类型

}

sbr.Append("-----\r\n");

}

------解决思路----------------------

以个人经验来说,没有。只能靠判断关键字段是否有数据判断。

------解决思路----------------------

我不用 npoi。

Excel的编程模型都是一致的,所以你可以去 Excel-Home 之类的论坛去先学习 vba for excel 编程,用excel自身“录制宏”,然后再学习使用其他开发平台操作它。

对于使用 .net 框架内置的原生 Excel 对象框架来说,你应该首先选择行结束,然后再读取。例如var st = workbook.Worksheets["我的工作表"];

var start = st.Range["A12"];

var end = start.End[excel.XlDirection.xlDown];

var datas = (object[,])st.Range[start, end].Value2;

这样就把一列数据读入一个 object[,] 数组中。

再比如说写var maxN = worksheet.Range["A1"].End[excel.XlDirection.xlDown].Row;

这就找到 A1 下边的数据结束行。

------解决思路----------------------

这个逻辑应该只能自己写呢,要是遇到的是复杂表格的话,每个的算法不一样呢,至于用什么方式无所谓

------解决思路----------------------

空行,读取出来,在filter一下,把空行过滤掉

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页
评论

打赏作者

网速卡卡

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值