c# – 使用npoi单元格范围地址读取excel
发布时间:2020-12-16 01:59:37 所属栏目:百科 来源:网络整理
导读:我知道NPOI对于创建excel文件非常棒.现在我想在特定专栏中阅读excel.这是我的excel格式: D E F G H3 Col1 Col2 Col3 Col4 Col54 a 1 1/1/20145 b 2 2/1/20146 c 3 3/1/20147 d 4 4/1/20148 e 5 5/1/2014 我只想获得Col2,Col4和Col5中的数据. 它应该是这样的
我知道NPOI对于创建excel文件非常棒.现在我想在特定专栏中阅读excel.这是我的excel格式:
D E F G H 3 Col1 Col2 Col3 Col4 Col5 4 a 1 1/1/2014 5 b 2 2/1/2014 6 c 3 3/1/2014 7 d 4 4/1/2014 8 e 5 5/1/2014 我只想获得Col2,Col4和Col5中的数据. Col2 Col4 Col5 a 1 1/1/2014 b 2 2/1/2014 c 3 3/1/2014 d 4 4/1/2014 e 5 5/1/2014 我必须做什么 ? 谢谢专家. 解决方法
如果您有一个固定的工作表模板,实现所需的最简单方法是循环遍历行并检索指定索引处的单元格值.
例如,基于OP的示例: var sheet = workbook.GetSheetAt(0); // assuming 0 is the worksheet index for (var i = 0; i <= sheet.LastRowNum; i++) { var row = sheet.GetRow(i); if (row == null) continue; // do your work here Console.Write("{0}t",row.GetCell(4)); Console.Write("{0}t",row.GetCell(6)); Console.Write("{0}t",row.GetCell(7)); Console.WriteLine(); } 但是如果你坚持使用范围地址,你可以尝试使用CellRangeAddress类,如下所示: var sheet = workbook.GetSheetAt(0); var range = "E3:H8"; var cellRange = CellRangeAddress.ValueOf(range); for (var i = cellRange.FirstRow; i <= cellRange.LastRow; i++) { var row = sheet.GetRow(i); for (var j = cellRange.FirstColumn; j <= cellRange.LastColumn; j++) { // skip cell with column index 5 (column F) if (j == 5) continue; // do your work here Console.Write("{0}t",row.GetCell(j)); } Console.WriteLine(); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |