检查excel行中的名称与表列名称相同

我有一个从Excel中读取值并插入到table.Iselect第一行作为表的列名的代码。在这里,我想检查Excel表第一行中的名称是否与表列名相同? 这里是我阅读excel的代码。

FileStream stream = File.Open(Server.MapPath("~/App_Data/YoutubeVideo/" + fileName), FileMode.Open, FileAccess.Read); IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream); excelReader.IsFirstRowAsColumnNames = true; DataSet result = excelReader.AsDataSet(); excelReader.Close(); dt = result.Tables[0]; dt = dt.Rows.Cast<DataRow>() .Where(row => !row.ItemArray.All(field => field is System.DBNull)) .CopyToDataTable(); 

预先感谢帮助….

要在将数据复制到数据集之前进行检查,请使用excelReader.GetName(0)来获取第一列的名称。

编辑:

看来你正在使用Excel数据读取器 ,显然没有实现从IDataReader的所有方法。

由于这不是一个完全实现的数据提供者,所以在加载到DataTable之后,你将不得不检查名字。

在这种情况下,可以使用if (dt.Columns[0].ColumnName == "Name")