首页 > 解决方案 > 在 Selenium C# 中使用 Excel 数据阅读器时,似乎没有选项可以将我的第一行设置为列名

问题描述

我正在使用 Excel Data Reader 插件来读取和解析 excel 数据,我想将“IsFirstRowAsColumnNames”设置为 true,然后发现我创建的 IExcelDataReader 对象没有这样的定义。请参阅下面的代码中的“XXXXXXXXXX”。我想将我的第一行设置为列名。现在我有“Column1”,“Column 2”,......“Column n”。

       public DataTable ExcelDataTable(string filename)
     { 

    FileStream stream = File.Open(filename, FileMode.Open, FileAccess.Read);
    IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlRead(stream);     
    excelReader.XXXXXXXXXXXX= true;
    DataSet result = excelReader.AsDataSet();
    DataTableCollection table = result.Tables;
    DataTable resultTable = table["Person"];      
    return resultTable;

        }

谢谢你的帮助

标签: excelseleniumc#-4.0excel-reader

解决方案


[已解决] 此属性已移至 AsDataSet() 方法的配置参数:

确保项目具有对 ExcelDataReader.DataSet 包的引用

删除带有 IsFirstRowAsColumnNames 的代码行

将对 AsDataSet() 的调用更改为如下所示:

var result = reader.AsDataSet(new ExcelDataSetConfiguration() {
    ConfigureDataTable = (_) => new ExcelDataTableConfiguration() {
        UseHeaderRow = true
    }
});

推荐阅读