如何使用Closed XML读取Excel文件?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (6)

我的Excel文件不在表格数据中。我正在尝试从EXCEL文件中读取。我的Excel文件中有表格式的部分。

我需要循环遍历第3行到第20行,这些行是表格式的,并读取数据。

这是我的代码:

     string fileName = "C:\\Folder1\\Prev.xlsx";
     var workbook = new XLWorkbook(fileName);
     var ws1 = workbook.Worksheet(1); 

如何循环遍历第3行至第20行并读取列3、4、6、7、8?另外,如果一行是空的,那么如何确定它,这样我就可以跳过它,而不必读取每个列都有给定行的值。

提问于
用户回答回答于

要访问一行:

var row = ws1.Row(3);

若要检查该行是否为空,请执行以下操作:

bool empty = row.IsEmpty();

若要访问行中的单元格(列),请执行以下操作:

var cell = row.Cell(3);

若要从单元格中获取值,请执行以下操作:

object value = cell.Value;
// or
string value = cell.GetValue<string>();

用户回答回答于

RowsUsed()方法在处理Excel工作表的行时,如下:

string fileName = "C:\\Folder1\\Prev.xlsx";
using (var excelWorkbook = new XLWorkbook(fileName))
{
    var nonEmptyDataRows = excelWorkbook.Worksheet(1).RowsUsed();

    foreach (var dataRow in nonEmptyDataRows)
    {
       //for row number check
       if(dataRow.RowNumber() >=3 && dataRow.RowNumber() <= 20)
       {
           //to get column # 3's data
           var cell = dataRow.Cell(3).Value;
       }
    }
}

扫码关注云+社区