首页 > 解决方案 > 如何使用 ExcelDataReader 从 c# 中的 excel 文件中逐行(逐行)获取数据

问题描述

我想从 excel 文件中获取数据行。

请查找示例数据的图像。

我想使用 ExcelDataReader 明智地获取此数据行。有没有办法做到这一点?

示例图片ack.imgur.com/jCSnx.png

using (IExcelDataReader reader = ExcelReaderFactory.CreateReader(stream))
{
    DataSet result = reader.AsDataSet(new ExcelDataSetConfiguration()
    {
        ConfigureDataTable = (_) => new ExcelDataTableConfiguration()
        {
            UseHeaderRow = true
        }
    });
}

我正在尝试使用此代码来获取数据。但它给了我第一行作为列标题,然后打印所有相同的数据。

标签: c#exceldatareader

解决方案


result.Tables[0]您可以通过使用然后循环遍历 DataTable 的行来获取第一个工作表作为 DataTable 。result.Tables是工作簿中的工作表集合。

using (IExcelDataReader reader = ExcelReaderFactory.CreateReader(stream))
{
    DataSet result = reader.AsDataSet(new ExcelDataSetConfiguration()
    {
        ConfigureDataTable = (_) => new ExcelDataTableConfiguration()
        {
            UseHeaderRow = true
        }
    });

    DataTable dataTable = result.Tables[0];
    foreach(var row in dataTable.Rows)
    {
        //Your logic
    }
}

推荐阅读